mirror of
https://github.com/fastapi-practices/fastapi-best-architecture.git
synced 2026-10-16 13:50:24 +00:00
Update schemas naming style (#272)
This commit is contained in:
@@ -10,7 +10,7 @@ from backend.app.common.permission import RequestPermission
|
||||
from backend.app.common.rbac import DependsRBAC
|
||||
from backend.app.common.response.response_schema import ResponseModel, response_base
|
||||
from backend.app.database.db_mysql import CurrentSession
|
||||
from backend.app.schemas.api import CreateApi, GetAllApi, UpdateApi
|
||||
from backend.app.schemas.api import CreateApiParam, GetApiListDetails, UpdateApiParam
|
||||
from backend.app.services.api_service import ApiService
|
||||
|
||||
router = APIRouter()
|
||||
@@ -43,7 +43,7 @@ async def get_api_list(
|
||||
path: Annotated[str | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
api_select = await ApiService.get_select(name=name, method=method, path=path)
|
||||
page_data = await paging_data(db, api_select, GetAllApi)
|
||||
page_data = await paging_data(db, api_select, GetApiListDetails)
|
||||
return await response_base.success(data=page_data)
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ async def get_api_list(
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def create_api(obj: CreateApi) -> ResponseModel:
|
||||
async def create_api(obj: CreateApiParam) -> ResponseModel:
|
||||
await ApiService.create(obj=obj)
|
||||
return await response_base.success()
|
||||
|
||||
@@ -68,7 +68,7 @@ async def create_api(obj: CreateApi) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def update_api(pk: int, obj: UpdateApi) -> ResponseModel:
|
||||
async def update_api(pk: int, obj: UpdateApiParam) -> ResponseModel:
|
||||
count = await ApiService.update(pk=pk, obj=obj)
|
||||
if count > 0:
|
||||
return await response_base.success()
|
||||
|
||||
@@ -10,7 +10,7 @@ from starlette.background import BackgroundTasks
|
||||
from backend.app.common.jwt import DependsJwtAuth
|
||||
from backend.app.common.response.response_schema import ResponseModel, response_base
|
||||
from backend.app.schemas.token import GetLoginToken, GetNewToken, GetSwaggerToken
|
||||
from backend.app.schemas.user import AuthLogin
|
||||
from backend.app.schemas.user import AuthLoginParam
|
||||
from backend.app.services.auth_service import AuthService
|
||||
|
||||
router = APIRouter()
|
||||
@@ -33,7 +33,7 @@ async def swagger_user_login(form_data: OAuth2PasswordRequestForm = Depends()) -
|
||||
description='json 格式登录, 仅支持在第三方api工具调试, 例如: postman',
|
||||
dependencies=[Depends(RateLimiter(times=5, minutes=1))],
|
||||
)
|
||||
async def user_login(request: Request, obj: AuthLogin, background_tasks: BackgroundTasks) -> ResponseModel:
|
||||
async def user_login(request: Request, obj: AuthLoginParam, background_tasks: BackgroundTasks) -> ResponseModel:
|
||||
access_token, refresh_token, access_expire, refresh_expire, user = await AuthService().login(
|
||||
request=request, obj=obj, background_tasks=background_tasks
|
||||
)
|
||||
|
||||
@@ -11,13 +11,13 @@ from backend.app.common.rbac import DependsRBAC
|
||||
from backend.app.common.response.response_schema import ResponseModel, response_base
|
||||
from backend.app.database.db_mysql import CurrentSession
|
||||
from backend.app.schemas.casbin_rule import (
|
||||
CreatePolicy,
|
||||
CreateUserRole,
|
||||
DeleteAllPolicies,
|
||||
DeletePolicy,
|
||||
DeleteUserRole,
|
||||
GetAllPolicy,
|
||||
UpdatePolicy,
|
||||
CreatePolicyParam,
|
||||
CreateUserRoleParam,
|
||||
DeleteAllPoliciesParam,
|
||||
DeletePolicyParam,
|
||||
DeleteUserRoleParam,
|
||||
GetPolicyListDetails,
|
||||
UpdatePolicyParam,
|
||||
)
|
||||
from backend.app.services.casbin_service import CasbinService
|
||||
|
||||
@@ -38,7 +38,7 @@ async def get_all_casbin(
|
||||
sub: Annotated[str | None, Query(description='用户 uuid / 角色')] = None,
|
||||
) -> ResponseModel:
|
||||
casbin_select = await CasbinService.get_casbin_list(ptype=ptype, sub=sub)
|
||||
page_data = await paging_data(db, casbin_select, GetAllPolicy)
|
||||
page_data = await paging_data(db, casbin_select, GetPolicyListDetails)
|
||||
return await response_base.success(data=page_data)
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ async def get_role_policies(role: Annotated[str, Path(description='角色ID')])
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def create_policy(p: CreatePolicy) -> ResponseModel:
|
||||
async def create_policy(p: CreatePolicyParam) -> ResponseModel:
|
||||
"""
|
||||
p 规则:
|
||||
|
||||
@@ -84,7 +84,7 @@ async def create_policy(p: CreatePolicy) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def create_policies(ps: list[CreatePolicy]) -> ResponseModel:
|
||||
async def create_policies(ps: list[CreatePolicyParam]) -> ResponseModel:
|
||||
data = await CasbinService.create_policies(ps=ps)
|
||||
return await response_base.success(data=data)
|
||||
|
||||
@@ -97,7 +97,7 @@ async def create_policies(ps: list[CreatePolicy]) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def update_policy(old: UpdatePolicy, new: UpdatePolicy) -> ResponseModel:
|
||||
async def update_policy(old: UpdatePolicyParam, new: UpdatePolicyParam) -> ResponseModel:
|
||||
data = await CasbinService.update_policy(old=old, new=new)
|
||||
return await response_base.success(data=data)
|
||||
|
||||
@@ -110,7 +110,7 @@ async def update_policy(old: UpdatePolicy, new: UpdatePolicy) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def update_policies(old: list[UpdatePolicy], new: list[UpdatePolicy]) -> ResponseModel:
|
||||
async def update_policies(old: list[UpdatePolicyParam], new: list[UpdatePolicyParam]) -> ResponseModel:
|
||||
data = await CasbinService.update_policies(old=old, new=new)
|
||||
return await response_base.success(data=data)
|
||||
|
||||
@@ -123,7 +123,7 @@ async def update_policies(old: list[UpdatePolicy], new: list[UpdatePolicy]) -> R
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def delete_policy(p: DeletePolicy) -> ResponseModel:
|
||||
async def delete_policy(p: DeletePolicyParam) -> ResponseModel:
|
||||
data = await CasbinService.delete_policy(p=p)
|
||||
return await response_base.success(data=data)
|
||||
|
||||
@@ -136,7 +136,7 @@ async def delete_policy(p: DeletePolicy) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def delete_policies(ps: list[DeletePolicy]) -> ResponseModel:
|
||||
async def delete_policies(ps: list[DeletePolicyParam]) -> ResponseModel:
|
||||
data = await CasbinService.delete_policies(ps=ps)
|
||||
return await response_base.success(data=data)
|
||||
|
||||
@@ -149,7 +149,7 @@ async def delete_policies(ps: list[DeletePolicy]) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def delete_all_policies(sub: DeleteAllPolicies) -> ResponseModel:
|
||||
async def delete_all_policies(sub: DeleteAllPoliciesParam) -> ResponseModel:
|
||||
count = await CasbinService.delete_all_policies(sub=sub)
|
||||
if count > 0:
|
||||
return await response_base.success()
|
||||
@@ -170,7 +170,7 @@ async def get_all_groups() -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def create_group(g: CreateUserRole) -> ResponseModel:
|
||||
async def create_group(g: CreateUserRoleParam) -> ResponseModel:
|
||||
"""
|
||||
g 规则 (**依赖 p 规则**):
|
||||
|
||||
@@ -192,7 +192,7 @@ async def create_group(g: CreateUserRole) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def create_groups(gs: list[CreateUserRole]) -> ResponseModel:
|
||||
async def create_groups(gs: list[CreateUserRoleParam]) -> ResponseModel:
|
||||
data = await CasbinService.create_groups(gs=gs)
|
||||
return await response_base.success(data=data)
|
||||
|
||||
@@ -205,7 +205,7 @@ async def create_groups(gs: list[CreateUserRole]) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def delete_group(g: DeleteUserRole) -> ResponseModel:
|
||||
async def delete_group(g: DeleteUserRoleParam) -> ResponseModel:
|
||||
data = await CasbinService.delete_group(g=g)
|
||||
return await response_base.success(data=data)
|
||||
|
||||
@@ -218,7 +218,7 @@ async def delete_group(g: DeleteUserRole) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def delete_groups(gs: list[DeleteUserRole]) -> ResponseModel:
|
||||
async def delete_groups(gs: list[DeleteUserRoleParam]) -> ResponseModel:
|
||||
data = await CasbinService.delete_groups(gs=gs)
|
||||
return await response_base.success(data=data)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ from backend.app.common.jwt import DependsJwtAuth
|
||||
from backend.app.common.permission import RequestPermission
|
||||
from backend.app.common.rbac import DependsRBAC
|
||||
from backend.app.common.response.response_schema import ResponseModel, response_base
|
||||
from backend.app.schemas.dept import CreateDept, GetAllDept, UpdateDept
|
||||
from backend.app.schemas.dept import CreateDeptParam, GetDeptListDetails, UpdateDeptParam
|
||||
from backend.app.services.dept_service import DeptService
|
||||
from backend.app.utils.serializers import select_as_dict
|
||||
|
||||
@@ -18,7 +18,7 @@ router = APIRouter()
|
||||
@router.get('/{pk}', summary='获取部门详情', dependencies=[DependsJwtAuth])
|
||||
async def get_dept(pk: int) -> ResponseModel:
|
||||
dept = await DeptService.get(pk=pk)
|
||||
data = GetAllDept(**await select_as_dict(dept))
|
||||
data = GetDeptListDetails(**await select_as_dict(dept))
|
||||
return await response_base.success(data=data)
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ async def get_all_depts(
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def create_dept(obj: CreateDept) -> ResponseModel:
|
||||
async def create_dept(obj: CreateDeptParam) -> ResponseModel:
|
||||
await DeptService.create(obj=obj)
|
||||
return await response_base.success()
|
||||
|
||||
@@ -54,7 +54,7 @@ async def create_dept(obj: CreateDept) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def update_dept(pk: int, obj: UpdateDept) -> ResponseModel:
|
||||
async def update_dept(pk: int, obj: UpdateDeptParam) -> ResponseModel:
|
||||
count = await DeptService.update(pk=pk, obj=obj)
|
||||
if count > 0:
|
||||
return await response_base.success()
|
||||
|
||||
@@ -10,7 +10,7 @@ from backend.app.common.permission import RequestPermission
|
||||
from backend.app.common.rbac import DependsRBAC
|
||||
from backend.app.common.response.response_schema import ResponseModel, response_base
|
||||
from backend.app.database.db_mysql import CurrentSession
|
||||
from backend.app.schemas.dict_data import CreateDictData, GetAllDictData, UpdateDictData
|
||||
from backend.app.schemas.dict_data import CreateDictDataParam, GetDictDataListDetails, UpdateDictDataParam
|
||||
from backend.app.services.dict_data_service import DictDataService
|
||||
from backend.app.utils.serializers import select_as_dict
|
||||
|
||||
@@ -20,7 +20,7 @@ router = APIRouter()
|
||||
@router.get('/{pk}', summary='获取字典详情', dependencies=[DependsJwtAuth])
|
||||
async def get_dict_data(pk: int) -> ResponseModel:
|
||||
dict_data = await DictDataService.get(pk=pk)
|
||||
data = GetAllDictData(**await select_as_dict(dict_data))
|
||||
data = GetDictDataListDetails(**await select_as_dict(dict_data))
|
||||
return await response_base.success(data=data)
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ async def get_all_dict_datas(
|
||||
status: Annotated[int | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
dict_data_select = await DictDataService.get_select(label=label, value=value, status=status)
|
||||
page_data = await paging_data(db, dict_data_select, GetAllDictData)
|
||||
page_data = await paging_data(db, dict_data_select, GetDictDataListDetails)
|
||||
return await response_base.success(data=page_data)
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ async def get_all_dict_datas(
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def create_dict_data(obj: CreateDictData) -> ResponseModel:
|
||||
async def create_dict_data(obj: CreateDictDataParam) -> ResponseModel:
|
||||
await DictDataService.create(obj=obj)
|
||||
return await response_base.success()
|
||||
|
||||
@@ -64,7 +64,7 @@ async def create_dict_data(obj: CreateDictData) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def update_dict_data(pk: int, obj: UpdateDictData) -> ResponseModel:
|
||||
async def update_dict_data(pk: int, obj: UpdateDictDataParam) -> ResponseModel:
|
||||
count = await DictDataService.update(pk=pk, obj=obj)
|
||||
if count > 0:
|
||||
return await response_base.success()
|
||||
|
||||
@@ -10,7 +10,7 @@ from backend.app.common.permission import RequestPermission
|
||||
from backend.app.common.rbac import DependsRBAC
|
||||
from backend.app.common.response.response_schema import ResponseModel, response_base
|
||||
from backend.app.database.db_mysql import CurrentSession
|
||||
from backend.app.schemas.dict_type import CreateDictType, GetAllDictType, UpdateDictType
|
||||
from backend.app.schemas.dict_type import CreateDictTypeParam, GetDictTypeListDetails, UpdateDictTypeParam
|
||||
from backend.app.services.dict_type_service import DictTypeService
|
||||
|
||||
router = APIRouter()
|
||||
@@ -31,7 +31,7 @@ async def get_all_dict_types(
|
||||
status: Annotated[int | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
dict_type_select = await DictTypeService.get_select(name=name, code=code, status=status)
|
||||
page_data = await paging_data(db, dict_type_select, GetAllDictType)
|
||||
page_data = await paging_data(db, dict_type_select, GetDictTypeListDetails)
|
||||
return await response_base.success(data=page_data)
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ async def get_all_dict_types(
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def create_dict_type(obj: CreateDictType) -> ResponseModel:
|
||||
async def create_dict_type(obj: CreateDictTypeParam) -> ResponseModel:
|
||||
await DictTypeService.create(obj=obj)
|
||||
return await response_base.success()
|
||||
|
||||
@@ -56,7 +56,7 @@ async def create_dict_type(obj: CreateDictType) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def update_dict_type(pk: int, obj: UpdateDictType) -> ResponseModel:
|
||||
async def update_dict_type(pk: int, obj: UpdateDictTypeParam) -> ResponseModel:
|
||||
count = await DictTypeService.update(pk=pk, obj=obj)
|
||||
if count > 0:
|
||||
return await response_base.success()
|
||||
|
||||
@@ -10,7 +10,7 @@ from backend.app.common.permission import RequestPermission
|
||||
from backend.app.common.rbac import DependsRBAC
|
||||
from backend.app.common.response.response_schema import ResponseModel, response_base
|
||||
from backend.app.database.db_mysql import CurrentSession
|
||||
from backend.app.schemas.login_log import GetAllLoginLog
|
||||
from backend.app.schemas.login_log import GetLoginLogListDetails
|
||||
from backend.app.services.login_log_service import LoginLogService
|
||||
|
||||
router = APIRouter()
|
||||
@@ -31,7 +31,7 @@ async def get_all_login_logs(
|
||||
ip: Annotated[str | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
log_select = await LoginLogService.get_select(username=username, status=status, ip=ip)
|
||||
page_data = await paging_data(db, log_select, GetAllLoginLog)
|
||||
page_data = await paging_data(db, log_select, GetLoginLogListDetails)
|
||||
return await response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ from backend.app.common.permission import RequestPermission
|
||||
from backend.app.common.rbac import DependsRBAC
|
||||
from backend.app.common.response.response_schema import ResponseModel, response_base
|
||||
from backend.app.database.db_mysql import CurrentSession
|
||||
from backend.app.schemas.opera_log import GetAllOperaLog
|
||||
from backend.app.schemas.opera_log import GetOperaLogListDetails
|
||||
from backend.app.services.opera_log_service import OperaLogService
|
||||
|
||||
router = APIRouter()
|
||||
@@ -31,7 +31,7 @@ async def get_all_opera_logs(
|
||||
ip: Annotated[str | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
log_select = await OperaLogService.get_select(username=username, status=status, ip=ip)
|
||||
page_data = await paging_data(db, log_select, GetAllOperaLog)
|
||||
page_data = await paging_data(db, log_select, GetOperaLogListDetails)
|
||||
return await response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ from backend.app.common.jwt import DependsJwtAuth
|
||||
from backend.app.common.permission import RequestPermission
|
||||
from backend.app.common.rbac import DependsRBAC
|
||||
from backend.app.common.response.response_schema import ResponseModel, response_base
|
||||
from backend.app.schemas.menu import CreateMenu, GetAllMenu, UpdateMenu
|
||||
from backend.app.schemas.menu import CreateMenuParam, GetMenuListDetails, UpdateMenuParam
|
||||
from backend.app.services.menu_service import MenuService
|
||||
from backend.app.utils.serializers import select_as_dict
|
||||
|
||||
@@ -24,7 +24,7 @@ async def get_user_menus(request: Request) -> ResponseModel:
|
||||
@router.get('/{pk}', summary='获取菜单详情', dependencies=[DependsJwtAuth])
|
||||
async def get_menu(pk: int) -> ResponseModel:
|
||||
menu = await MenuService.get(pk=pk)
|
||||
data = GetAllMenu(**await select_as_dict(menu))
|
||||
data = GetMenuListDetails(**await select_as_dict(menu))
|
||||
return await response_base.success(data=data)
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ async def get_all_menus(
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def create_menu(obj: CreateMenu) -> ResponseModel:
|
||||
async def create_menu(obj: CreateMenuParam) -> ResponseModel:
|
||||
await MenuService.create(obj=obj)
|
||||
return await response_base.success()
|
||||
|
||||
@@ -58,7 +58,7 @@ async def create_menu(obj: CreateMenu) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def update_menu(pk: int, obj: UpdateMenu) -> ResponseModel:
|
||||
async def update_menu(pk: int, obj: UpdateMenuParam) -> ResponseModel:
|
||||
count = await MenuService.update(pk=pk, obj=obj)
|
||||
if count > 0:
|
||||
return await response_base.success()
|
||||
|
||||
@@ -10,7 +10,7 @@ from backend.app.common.permission import RequestPermission
|
||||
from backend.app.common.rbac import DependsRBAC
|
||||
from backend.app.common.response.response_schema import ResponseModel, response_base
|
||||
from backend.app.database.db_mysql import CurrentSession
|
||||
from backend.app.schemas.role import CreateRole, GetAllRole, UpdateRole, UpdateRoleMenu
|
||||
from backend.app.schemas.role import CreateRoleParam, GetRoleListDetails, UpdateRoleMenuParam, UpdateRoleParam
|
||||
from backend.app.services.menu_service import MenuService
|
||||
from backend.app.services.role_service import RoleService
|
||||
from backend.app.utils.serializers import select_as_dict, select_list_serialize
|
||||
@@ -41,7 +41,7 @@ async def get_role_all_menus(pk: int) -> ResponseModel:
|
||||
@router.get('/{pk}', summary='获取角色详情', dependencies=[DependsJwtAuth])
|
||||
async def get_role(pk: int) -> ResponseModel:
|
||||
role = await RoleService.get(pk=pk)
|
||||
data = GetAllRole(**await select_as_dict(role))
|
||||
data = GetRoleListDetails(**await select_as_dict(role))
|
||||
return await response_base.success(data=data)
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ async def get_all_role_list(
|
||||
status: Annotated[int | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
role_select = await RoleService.get_select(name=name, data_scope=data_scope, status=status)
|
||||
page_data = await paging_data(db, role_select, GetAllRole)
|
||||
page_data = await paging_data(db, role_select, GetRoleListDetails)
|
||||
return await response_base.success(data=page_data)
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ async def get_all_role_list(
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def create_role(obj: CreateRole) -> ResponseModel:
|
||||
async def create_role(obj: CreateRoleParam) -> ResponseModel:
|
||||
await RoleService.create(obj=obj)
|
||||
return await response_base.success()
|
||||
|
||||
@@ -85,7 +85,7 @@ async def create_role(obj: CreateRole) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def update_role(pk: int, obj: UpdateRole) -> ResponseModel:
|
||||
async def update_role(pk: int, obj: UpdateRoleParam) -> ResponseModel:
|
||||
count = await RoleService.update(pk=pk, obj=obj)
|
||||
if count > 0:
|
||||
return await response_base.success()
|
||||
@@ -100,7 +100,7 @@ async def update_role(pk: int, obj: UpdateRole) -> ResponseModel:
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def update_role_menu(request: Request, pk: int, menu_ids: UpdateRoleMenu) -> ResponseModel:
|
||||
async def update_role_menu(request: Request, pk: int, menu_ids: UpdateRoleMenuParam) -> ResponseModel:
|
||||
count = await RoleService.update_menus(request=request, pk=pk, menu_ids=menu_ids)
|
||||
if count > 0:
|
||||
return await response_base.success()
|
||||
|
||||
+18
-18
@@ -11,14 +11,14 @@ from backend.app.common.rbac import DependsRBAC
|
||||
from backend.app.common.response.response_schema import ResponseModel, response_base
|
||||
from backend.app.database.db_mysql import CurrentSession
|
||||
from backend.app.schemas.user import (
|
||||
AddUser,
|
||||
Avatar,
|
||||
GetAllUserInfo,
|
||||
GetCurrentUserInfo,
|
||||
RegisterUser,
|
||||
ResetPassword,
|
||||
UpdateUser,
|
||||
UpdateUserRole,
|
||||
AddUserParam,
|
||||
AvatarParam,
|
||||
GetCurrentUserInfoDetail,
|
||||
GetUserInfoListDetails,
|
||||
RegisterUserParam,
|
||||
ResetPasswordParam,
|
||||
UpdateUserParam,
|
||||
UpdateUserRoleParam,
|
||||
)
|
||||
from backend.app.services.user_service import UserService
|
||||
from backend.app.utils.serializers import select_as_dict
|
||||
@@ -27,21 +27,21 @@ router = APIRouter()
|
||||
|
||||
|
||||
@router.post('/register', summary='用户注册')
|
||||
async def user_register(obj: RegisterUser) -> ResponseModel:
|
||||
async def user_register(obj: RegisterUserParam) -> ResponseModel:
|
||||
await UserService.register(obj=obj)
|
||||
return await response_base.success()
|
||||
|
||||
|
||||
@router.post('/add', summary='添加用户', dependencies=[DependsRBAC])
|
||||
async def add_user(request: Request, obj: AddUser):
|
||||
async def add_user(request: Request, obj: AddUserParam):
|
||||
await UserService.add(request=request, obj=obj)
|
||||
current_user = await UserService.get_userinfo(username=obj.username)
|
||||
data = GetAllUserInfo(**await select_as_dict(current_user))
|
||||
data = GetUserInfoListDetails(**await select_as_dict(current_user))
|
||||
return await response_base.success(data=data)
|
||||
|
||||
|
||||
@router.post('/password/reset', summary='密码重置', dependencies=[DependsJwtAuth])
|
||||
async def password_reset(request: Request, obj: ResetPassword):
|
||||
async def password_reset(request: Request, obj: ResetPasswordParam):
|
||||
count = await UserService.pwd_reset(request=request, obj=obj)
|
||||
if count > 0:
|
||||
return await response_base.success()
|
||||
@@ -50,19 +50,19 @@ async def password_reset(request: Request, obj: ResetPassword):
|
||||
|
||||
@router.get('/me', summary='获取当前用户信息', dependencies=[DependsJwtAuth], response_model_exclude={'password'})
|
||||
async def get_current_userinfo(request: Request):
|
||||
data = GetCurrentUserInfo(**await select_as_dict(request.user))
|
||||
data = GetCurrentUserInfoDetail(**await select_as_dict(request.user))
|
||||
return await response_base.success(data=data)
|
||||
|
||||
|
||||
@router.get('/{username}', summary='查看用户信息', dependencies=[DependsJwtAuth])
|
||||
async def get_user(username: str):
|
||||
current_user = await UserService.get_userinfo(username=username)
|
||||
data = GetAllUserInfo(**await select_as_dict(current_user))
|
||||
data = GetUserInfoListDetails(**await select_as_dict(current_user))
|
||||
return await response_base.success(data=data)
|
||||
|
||||
|
||||
@router.put('/{username}', summary='更新用户信息', dependencies=[DependsJwtAuth])
|
||||
async def update_userinfo(request: Request, username: str, obj: UpdateUser):
|
||||
async def update_userinfo(request: Request, username: str, obj: UpdateUserParam):
|
||||
count = await UserService.update(request=request, username=username, obj=obj)
|
||||
if count > 0:
|
||||
return await response_base.success()
|
||||
@@ -77,13 +77,13 @@ async def update_userinfo(request: Request, username: str, obj: UpdateUser):
|
||||
DependsRBAC,
|
||||
],
|
||||
)
|
||||
async def update_user_role(request: Request, username: str, obj: UpdateUserRole):
|
||||
async def update_user_role(request: Request, username: str, obj: UpdateUserRoleParam):
|
||||
await UserService.update_roles(request=request, username=username, obj=obj)
|
||||
return await response_base.success()
|
||||
|
||||
|
||||
@router.put('/{username}/avatar', summary='更新头像', dependencies=[DependsJwtAuth])
|
||||
async def update_avatar(request: Request, username: str, avatar: Avatar):
|
||||
async def update_avatar(request: Request, username: str, avatar: AvatarParam):
|
||||
count = await UserService.update_avatar(request=request, username=username, avatar=avatar)
|
||||
if count > 0:
|
||||
return await response_base.success()
|
||||
@@ -106,7 +106,7 @@ async def get_all_users(
|
||||
status: Annotated[int | None, Query()] = None,
|
||||
):
|
||||
user_select = await UserService.get_select(dept=dept, username=username, phone=phone, status=status)
|
||||
page_data = await paging_data(db, user_select, GetAllUserInfo)
|
||||
page_data = await paging_data(db, user_select, GetUserInfoListDetails)
|
||||
return await response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user