|
@@ -18,6 +18,9 @@ from fastapi.responses import HTMLResponse
|
|
|
|
|
|
news = APIRouter()
|
|
|
|
|
|
+IMAGEDIR = "/var/www/html/ntcri/assets/"
|
|
|
+IMAGEDIR_short = "assets/"
|
|
|
+
|
|
|
@news.get("/get_news")
|
|
|
async def search_news(
|
|
|
news_id : int = None
|
|
@@ -47,8 +50,56 @@ async def search_news(
|
|
|
except Exception as e:
|
|
|
return {"msg": str(e), "code": 500}
|
|
|
|
|
|
-# @news.post("/insert_news")
|
|
|
-# async def insert_news(
|
|
|
|
|
|
-# ):
|
|
|
-
|
|
|
+async def create_upload_files(files: List[UploadFile]):
|
|
|
+ return {"filenames": [file.filename for file in files]}
|
|
|
+ # files_url = {}
|
|
|
+ # if files!='':
|
|
|
+ # file_num = 1
|
|
|
+ # print(file_num)
|
|
|
+ # for file in files:
|
|
|
+ # contents = await file.read()
|
|
|
+
|
|
|
+ # #save the file
|
|
|
+ # with open(f"{IMAGEDIR}{file.filename}", "wb") as f:
|
|
|
+ # f.write(contents)
|
|
|
+ # file_name = "file" + str(file_num)
|
|
|
+ # print(file_name)
|
|
|
+ # files_url[file_name]=f"{IMAGEDIR_short}{file.filename}"
|
|
|
+ # i=i+1
|
|
|
+
|
|
|
+ # return files_url
|
|
|
+
|
|
|
+@news.post("/insert_news")
|
|
|
+async def insert_news(
|
|
|
+ title : str = Form(default=''),
|
|
|
+ category : str = Form(default=''),
|
|
|
+ create_time :str = Form(default=datetime.now()),
|
|
|
+ content : str = Form(default=''),
|
|
|
+ URL :str = Form(default=''),
|
|
|
+ tags : str = Form(default=''),
|
|
|
+ files_url = Depends(create_upload_files)
|
|
|
+):
|
|
|
+ try:
|
|
|
+
|
|
|
+ new_news = await News.create(
|
|
|
+ title=title,
|
|
|
+ category=category,
|
|
|
+ create_time=create_time,
|
|
|
+ content=content,
|
|
|
+ files = str(files_url),
|
|
|
+ URL = URL,
|
|
|
+ tags = tags
|
|
|
+ )
|
|
|
+
|
|
|
+ return {"msg": "success", "code": 200, "new_news": new_news.id}
|
|
|
+ except Exception as e:
|
|
|
+ return {"msg": str(e), "code": 500}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+@news.post("/delete_news")
|
|
|
+async def delete_news(id: int):
|
|
|
+ if id:
|
|
|
+ await News.filter(id=id).delete()
|
|
|
+ return {"msg": "success", "code": 200}
|