40 lines
1.5 KiB
Python
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/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)
|