From 8df2bb379d537891d0f010f51a93ab0b1b700108 Mon Sep 17 00:00:00 2001 From: sunfree <17315650350@163.com> Date: Mon, 20 May 2024 23:51:22 +0800 Subject: [PATCH] add new --- main.py | 2 +- routers/blogmanage.py | 24 +++++++++++++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/main.py b/main.py index 2d2ddb6..8cb649b 100644 --- a/main.py +++ b/main.py @@ -13,7 +13,7 @@ app.add_middleware( CORSMiddleware, allow_origins=['http://localhost:5173'], allow_credentials=True, - allow_methods=['GET', 'POST'], + allow_methods=['GET', 'POST','DELETE','PUT'], allow_headers=['Authorization', 'Content-Type'], ) diff --git a/routers/blogmanage.py b/routers/blogmanage.py index 9e3ff24..bbe7437 100644 --- a/routers/blogmanage.py +++ b/routers/blogmanage.py @@ -1,4 +1,4 @@ -from fastapi import Depends, APIRouter, status,Query,HTTPException +from fastapi import Depends, APIRouter, status,Query,Path,HTTPException from internal.models import * from dependencies import get_current_active_user, execute_query from datetime import datetime @@ -23,7 +23,7 @@ async def blog_add(blog: Blog, _: User = Depends(get_current_active_user)): @router.get("/list") async def blog_list(): - select_query = "SELECT blogtitle, blogcontent, typename, create_at, update_at, blogs.descr FROM blogs LEFT JOIN `types` ON blogs.typeid = types.id ORDER BY create_at DESC;" + select_query = "SELECT blogs.id, blogtitle, blogcontent, typename, create_at, update_at, blogs.descr FROM blogs LEFT JOIN `types` ON blogs.typeid = types.id ORDER BY create_at DESC;" blog_list = execute_query(select_query, fetchall=True) return { 'status': status.HTTP_200_OK, @@ -38,7 +38,7 @@ async def blog_list_search( start_date:str=Query(None,description="开始时间"), end_date:str=Query(None,description="结束时间"), ): - select_query = "SELECT blogtitle, blogcontent, typename, create_at, update_at, blogs.descr FROM blogs LEFT JOIN `types` ON blogs.typeid = types.id WHERE 1=1" + select_query = "SELECT blogs.id, blogtitle, blogcontent, typename, create_at, update_at, blogs.descr FROM blogs LEFT JOIN `types` ON blogs.typeid = types.id WHERE 1=1" params = [] if blogtitle: @@ -69,12 +69,22 @@ async def blog_list_search( 'data': blog_list } -@router.delete("/delete") -async def blog_delete(blogtitle:str=Query(description="博客标题")): - select_query="DELETE FROM blogs WHERE blogtitle = %s" - delete_data=(blogtitle,) +@router.delete("/delete/{id}") +async def blog_delete(id:str=Path(description="博客id")): + select_query="DELETE FROM blogs WHERE id = %s" + delete_data=(id,) execute_query(select_query,delete_data) return { "status": status.HTTP_200_OK, "message": "Blog deleted successfully!" + } + +@router.put("/update/{id}") +async def blog_put(blog:Blog,id:str=Path(description="博客id")): + select_query="UPDATE blogs SET blogtitle=%s,blogcontent=%s,typeid=%s,descr=%s WHERE id=%s;" + update_data=(blog.blogtitle,blog.blogcontent,blog.typeid,blog.descr,id) + execute_query(select_query,update_data) + return{ + "status": status.HTTP_200_OK, + "message": "Blog deleted successfully!" } \ No newline at end of file