feat:增加博客搜索功能
This commit is contained in:
19
api/blog.py
19
api/blog.py
@@ -6,9 +6,10 @@ from sqlalchemy.orm import Session
|
||||
from config.auth import verify_token
|
||||
from schemas.blog import BlogResponse, BlogQuery, BlogCategoryResponse, BlogStatsResponse, \
|
||||
BlogLatestResponse, BlogCommentCreate, BlogCommentResponse, BlogVisitResponse, BlogCreate, BlogUpdate
|
||||
from schemas.blog_elastic import BlogSearch
|
||||
from schemas.pagination import PageResult
|
||||
from config.database import get_db
|
||||
from service import blog_service
|
||||
from service import blog_service, blog_elastic_service
|
||||
|
||||
router = APIRouter(
|
||||
prefix="/blog",
|
||||
@@ -17,6 +18,16 @@ router = APIRouter(
|
||||
)
|
||||
|
||||
|
||||
@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)
|
||||
|
||||
|
||||
@router.get("/search", summary="搜索elastic", response_model=List[BlogSearch])
|
||||
def search_blog(keyword: str):
|
||||
return blog_elastic_service.search_blog(keyword)
|
||||
|
||||
|
||||
@router.get("/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="每页数量"),
|
||||
@@ -36,17 +47,17 @@ def query_blog_by_id(blog_id: int, db: Session = Depends(get_db)):
|
||||
|
||||
|
||||
@router.post("", summary="新增博客内容", response_model=bool)
|
||||
def add_blog(blog: BlogCreate, db: Session = Depends(get_db), _ = Depends(verify_token)):
|
||||
def add_blog(blog: BlogCreate, db: Session = Depends(get_db), _=Depends(verify_token)):
|
||||
return blog_service.add_blog(db, blog)
|
||||
|
||||
|
||||
@router.put("/{blog_id}", summary="更新博客内容", response_model=bool)
|
||||
def update_blog(blog_id: int, blog: BlogUpdate, db: Session = Depends(get_db), _ = Depends(verify_token)):
|
||||
def update_blog(blog_id: int, blog: BlogUpdate, db: Session = Depends(get_db), _=Depends(verify_token)):
|
||||
return blog_service.update_blog(db, blog_id, blog)
|
||||
|
||||
|
||||
@router.delete("/{blog_id}", summary="删除博客内容", response_model=bool)
|
||||
def delete_blog(blog_id: int, db: Session = Depends(get_db), _ = Depends(verify_token)):
|
||||
def delete_blog(blog_id: int, db: Session = Depends(get_db), _=Depends(verify_token)):
|
||||
return blog_service.delete_blog(db, blog_id)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user