43 lines
1.6 KiB
Python
43 lines
1.6 KiB
Python
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": "删除成功"}
|