from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from Crud import AppCrud from Schemas import AppSchemas from Utils.AuthUtils import admin_auth_token_depend from Utils.SqlAlchemyUtils import get_db router = APIRouter( tags=["应用管理"], prefix="/api/user_mod/app_manage", dependencies=[Depends(admin_auth_token_depend)] ) @router.post("/add_app", summary="添加应用") def add_app(app: AppSchemas.AppAddInfo, db: Session = Depends(get_db)): AppCrud.add_app(db, app.id, app.name, app.secret_key) return {"msg": "操作成功", "state": 1} @router.post("/change_app", summary="修改应用") def change_app(app: AppSchemas.AppChangeInfo, db: Session = Depends(get_db)): AppCrud.change_app(db, app.id, {'name': app.name, "token_key": app.token_key, "secret_key": app.secret_key}) return {"msg": "操作成功", "state": 1} @router.post("/delete_app", summary="删除应用") def delete_app(app_id: AppSchemas.AppId, db: Session = Depends(get_db)): AppCrud.delete_app(db, app_id.id) return {"msg": "操作成功", "state": 1} @router.post("/get_app_list", summary="获取应用列表", response_model=AppSchemas.AppInfoList) def get_app_list(params: AppSchemas.AppQueryParams, db: Session = Depends(get_db)): count, item_list = AppCrud.get_app_list(db, params) item_info_list = [item.to_dict() for item in item_list] return AppSchemas.AppInfoList(app_info_list=item_info_list, count=count)