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( # ):