feat:增加上传博客图片模块
This commit is contained in:
11
api/blog.py
11
api/blog.py
@@ -1,6 +1,6 @@
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter, Depends, Query, Request
|
||||
from fastapi import APIRouter, Depends, Query, Request, UploadFile, File
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from config.auth import verify_token
|
||||
@@ -10,7 +10,7 @@ from schemas.blog import BlogResponse, BlogQuery, BlogCategoryResponse, BlogStat
|
||||
from schemas.blog_elastic import BlogSearch
|
||||
from schemas.pagination import PageResult
|
||||
from config.database import get_db
|
||||
from service import blog_service, blog_elastic_service
|
||||
from service import blog_service, blog_elastic_service, file_service
|
||||
|
||||
router = APIRouter(
|
||||
prefix="/blog",
|
||||
@@ -19,6 +19,11 @@ router = APIRouter(
|
||||
)
|
||||
|
||||
|
||||
@router.post("/file/upload", summary="上传博客图片", response_model=str)
|
||||
async def sync_all_blog(md5: str, file: UploadFile = File(...)):
|
||||
return await file_service.upload_file(md5, file)
|
||||
|
||||
|
||||
@router.get("/sync", summary="同步博客到elastic", response_model=bool)
|
||||
def sync_all_blog(db: Session = Depends(get_db)):
|
||||
return blog_elastic_service.sync_all_blog(db)
|
||||
@@ -46,12 +51,14 @@ def query_blog_by_condition(query: BlogQuery = Depends(),
|
||||
def query_blog_by_id(blog_id: int, db: Session = Depends(get_db)):
|
||||
return blog_service.query_blog_by_id(db, blog_id)
|
||||
|
||||
|
||||
@router.get("/all/page", summary="分页查询博客", response_model=PageResult[BlogResponse])
|
||||
def query_blog_by_page(current_page: int = Query(1, ge=1, alias="currentPage", description="当前页码"),
|
||||
page_size: int = Query(10, ge=1, le=100, alias="pageSize", description="每页数量"),
|
||||
db: Session = Depends(get_db), _=Depends(verify_token)):
|
||||
return blog_service.query_blog_by_page(db, current_page, page_size, True)
|
||||
|
||||
|
||||
@router.post("", summary="新增博客内容", response_model=bool)
|
||||
def add_blog(blog: BlogCreate, db: Session = Depends(get_db), _=Depends(verify_token)):
|
||||
return blog_service.add_blog(db, blog)
|
||||
|
||||
Reference in New Issue
Block a user