usermod/Router/UserManageRouter.py

43 lines
1.6 KiB
Python
Raw Permalink Normal View History

2023-02-08 14:57:34 +08:00
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from Crud import UserCrud
from Schemas import UserManageSchemas
2023-02-14 15:47:18 +08:00
from Utils.AuthUtils import admin_auth_token_depend, token_data_depend
2023-02-08 14:57:34 +08:00
from Utils.SqlAlchemyUtils import get_db
2023-02-17 10:55:02 +08:00
from CrudModel.AllowedEmail import allowed_email_crud
2023-02-08 14:57:34 +08:00
router = APIRouter(
tags=["用户管理"],
2023-02-20 14:55:25 +08:00
prefix="/api/user_mod/user_manage",
2023-02-10 09:15:17 +08:00
dependencies=[Depends(admin_auth_token_depend)]
2023-02-08 14:57:34 +08:00
)
2023-02-17 10:55:02 +08:00
allowed_email_crud.mount(router)
2023-02-08 14:57:34 +08:00
@router.post("/change_user_info", summary="修改用户信息")
def change_user_info(body: UserManageSchemas.UserChangeInfo, db: Session = Depends(get_db)):
2023-02-14 15:47:18 +08:00
data = body.dict()
UserCrud.change_user_info(db, body.id, data)
2023-02-08 14:57:34 +08:00
return body
@router.post("/change_user_info_by_key", summary="通过key修改用户信息")
def change_user_info_by_key(body: UserManageSchemas.UserChangeInfoByKey, db: Session = Depends(get_db)):
UserCrud.change_user_info_by_key(db, body.id, body.key, body.value)
return {"msg": "修改成功", "state": 1}
2023-02-14 15:47:18 +08:00
@router.post("/get_user_list", summary="获取用户列表", response_model=UserManageSchemas.UserInfoList)
2023-02-08 14:57:34 +08:00
def get_user_list(query_params: UserManageSchemas.UserListQueryParams, db: Session = Depends(get_db)):
user_list, count = UserCrud.query_user(db, query_params)
2023-02-14 15:47:18 +08:00
data = UserManageSchemas.UserInfoList(user_list=user_list, count=count)
return data
2023-02-09 16:10:25 +08:00
@router.post("/delete_user", summary="删除用户")
def delete_user(query_params: UserManageSchemas.UserId, db: Session = Depends(get_db)):
UserCrud.delete_user(db, query_params.id)
return {"state": 1, "msg": "删除成功"}