MIA 2 lat temu
rodzic
commit
c46d006955
3 zmienionych plików z 58 dodań i 2 usunięć
  1. 3 1
      app/api/__init__.py
  2. 1 1
      app/api/classes.py
  3. 54 0
      app/api/news.py

+ 3 - 1
app/api/__init__.py

@@ -2,9 +2,11 @@ from fastapi import APIRouter
 
 from app.api.users import users
 from app.api.classes import classes
+from app.api.news import news
 
 routers = APIRouter()
 
 
 routers.include_router(users, prefix="/api", tags=["登入/註冊"])
-routers.include_router(classes, prefix="/api", tags=["課程列表"])
+routers.include_router(classes, prefix="/api", tags=["課程列表"])
+routers.include_router(classes, prefix="/api", tags=["最新消息"])

+ 1 - 1
app/api/classes.py

@@ -87,7 +87,7 @@ async def insert_class_name(
 
 @classes.post("/insert_event")
 async def insert_event(
-    name_id: int = Form(default=''),
+    name_id: int = Form(default=0),
     event: str = Form(default=''),
     start_time: datetime = Form(default=datetime.now()),
     end_time: datetime = Form(default=datetime.now()),

+ 54 - 0
app/api/news.py

@@ -0,0 +1,54 @@
+from fastapi import APIRouter, Form, Depends, HTTPException, File, UploadFile
+from typing import List
+from fastapi.responses import FileResponse
+from random import randint
+from fastapi.security import OAuth2PasswordRequestForm
+from app.models.models import User,Favorite_course,News,Article_list
+from app.api import deps
+from sqlalchemy.orm import Session
+from typing import Any, Dict
+import secrets
+from fastapi_login.exceptions import InvalidCredentialsException
+from fastapi_login import LoginManager
+from datetime import timedelta,datetime
+from jose import jwt
+from emails.template import JinjaTemplate
+from tortoise.queryset import Q
+from fastapi.responses import HTMLResponse
+
+news = APIRouter()
+
+@news.get("/get_news")
+async def search_news(
+    news_id : int = None
+):
+    try:
+        if news_id :
+            news_list = await News.filter(id=news_id).all()
+        else:    
+            news_list = await News.all()
+
+        news_objs = []
+        for news_obj in news_list:
+            news_tmp = {
+            "news_id": news_obj.id,
+            "title": news_obj.title,
+            "category": news_obj.category,
+            "create_time" : news_obj.create_time,
+            "click_time" : news_obj.click_time,
+            "content" : news_obj.content,
+            "files" : news_obj.files,
+            "URL" : news_obj.URL,
+            "tags" : news_obj.tags
+        }
+            news_objs.append(news_tmp)
+
+        return {"msg": "success", "code": 200, "news": news_objs}
+    except Exception as e:
+        return {"msg": str(e), "code": 500}
+    
+# @news.post("/insert_news")
+# async def insert_news(
+
+# ):
+