usermod/Router/AppManageRouter.py

40 lines
1.5 KiB
Python

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)