from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from Crud import UserCrud from Schemas import UserManageSchemas from Utils.AuthUtils import admin_auth_token_depend, token_data_depend from Utils.SqlAlchemyUtils import get_db from CrudModel.AllowedEmail import allowed_email_crud router = APIRouter( tags=["用户管理"], prefix="/api/user_mod/user_manage", dependencies=[Depends(admin_auth_token_depend)] ) allowed_email_crud.mount(router) @router.post("/change_user_info", summary="修改用户信息") def change_user_info(body: UserManageSchemas.UserChangeInfo, db: Session = Depends(get_db)): data = body.dict() UserCrud.change_user_info(db, body.id, data) 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} @router.post("/get_user_list", summary="获取用户列表", response_model=UserManageSchemas.UserInfoList) def get_user_list(query_params: UserManageSchemas.UserListQueryParams, db: Session = Depends(get_db)): user_list, count = UserCrud.query_user(db, query_params) data = UserManageSchemas.UserInfoList(user_list=user_list, count=count) return data @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": "删除成功"}