mirror of
https://github.com/fastapi-practices/fastapi-best-architecture.git
synced 2026-09-21 21:15:13 +00:00
Add response model include data schema (#490)
* Add response model include data schema * Fix paging data usage * optimize annotations
This commit is contained in:
@@ -4,7 +4,6 @@ from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
|
||||
from backend.app.admin.schema.login_log import GetLoginLogListDetails
|
||||
from backend.app.admin.service.login_log_service import login_log_service
|
||||
from backend.common.pagination import DependsPagination, paging_data
|
||||
from backend.common.response.response_schema import ResponseModel, response_base
|
||||
@@ -31,7 +30,7 @@ async def get_pagination_login_logs(
|
||||
ip: Annotated[str | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
log_select = await login_log_service.get_select(username=username, status=status, ip=ip)
|
||||
page_data = await paging_data(db, log_select, GetLoginLogListDetails)
|
||||
page_data = await paging_data(db, log_select)
|
||||
return response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends, Query
|
||||
|
||||
from backend.app.admin.schema.opera_log import GetOperaLogListDetails
|
||||
from backend.app.admin.service.opera_log_service import opera_log_service
|
||||
from backend.common.pagination import DependsPagination, paging_data
|
||||
from backend.common.response.response_schema import ResponseModel, response_base
|
||||
@@ -31,7 +30,7 @@ async def get_pagination_opera_logs(
|
||||
ip: Annotated[str | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
log_select = await opera_log_service.get_select(username=username, status=status, ip=ip)
|
||||
page_data = await paging_data(db, log_select, GetOperaLogListDetails)
|
||||
page_data = await paging_data(db, log_select)
|
||||
return response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends, Path, Query, Request
|
||||
|
||||
from backend.app.admin.schema.api import CreateApiParam, GetApiListDetails, UpdateApiParam
|
||||
from backend.app.admin.schema.api import CreateApiParam, UpdateApiParam
|
||||
from backend.app.admin.service.api_service import api_service
|
||||
from backend.common.pagination import DependsPagination, paging_data
|
||||
from backend.common.response.response_schema import ResponseModel, response_base
|
||||
@@ -44,7 +44,7 @@ async def get_pagination_apis(
|
||||
path: Annotated[str | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
api_select = await api_service.get_select(request=request, name=name, method=method, path=path)
|
||||
page_data = await paging_data(db, api_select, GetApiListDetails)
|
||||
page_data = await paging_data(db, api_select)
|
||||
return response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@ from backend.app.admin.schema.casbin_rule import (
|
||||
DeleteAllPoliciesParam,
|
||||
DeletePolicyParam,
|
||||
DeleteUserRoleParam,
|
||||
GetPolicyListDetails,
|
||||
UpdatePoliciesParam,
|
||||
UpdatePolicyParam,
|
||||
)
|
||||
@@ -40,7 +39,7 @@ async def get_pagination_casbin(
|
||||
sub: Annotated[str | None, Query(description='用户 uuid / 角色')] = None,
|
||||
) -> ResponseModel:
|
||||
casbin_select = await casbin_service.get_casbin_list(ptype=ptype, sub=sub)
|
||||
page_data = await paging_data(db, casbin_select, GetPolicyListDetails)
|
||||
page_data = await paging_data(db, casbin_select)
|
||||
return response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ from fastapi import APIRouter, Depends, Path, Query
|
||||
|
||||
from backend.app.admin.schema.config import (
|
||||
CreateAnyConfigParam,
|
||||
GetAnyConfigListDetails,
|
||||
SaveConfigParam,
|
||||
UpdateAnyConfigParam,
|
||||
)
|
||||
@@ -98,7 +97,7 @@ async def get_pagination_config(
|
||||
type: Annotated[str | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
config_select = await config_service.get_select(name=name, type=type)
|
||||
page_data = await paging_data(db, config_select, GetAnyConfigListDetails)
|
||||
page_data = await paging_data(db, config_select)
|
||||
return response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ async def get_data_rule(pk: Annotated[int, Path(...)]) -> ResponseModel:
|
||||
)
|
||||
async def get_pagination_data_rule(db: CurrentSession, name: Annotated[str | None, Query()] = None) -> ResponseModel:
|
||||
data_rule_select = await data_rule_service.get_select(name=name)
|
||||
page_data = await paging_data(db, data_rule_select, GetDataRuleListDetails)
|
||||
page_data = await paging_data(db, data_rule_select)
|
||||
return response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ async def get_pagination_dict_datas(
|
||||
status: Annotated[int | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
dict_data_select = await dict_data_service.get_select(label=label, value=value, status=status)
|
||||
page_data = await paging_data(db, dict_data_select, GetDictDataListDetails)
|
||||
page_data = await paging_data(db, dict_data_select)
|
||||
return response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends, Path, Query
|
||||
|
||||
from backend.app.admin.schema.dict_type import CreateDictTypeParam, GetDictTypeListDetails, UpdateDictTypeParam
|
||||
from backend.app.admin.schema.dict_type import CreateDictTypeParam, UpdateDictTypeParam
|
||||
from backend.app.admin.service.dict_type_service import dict_type_service
|
||||
from backend.common.pagination import DependsPagination, paging_data
|
||||
from backend.common.response.response_schema import ResponseModel, response_base
|
||||
@@ -31,7 +31,7 @@ async def get_pagination_dict_types(
|
||||
status: Annotated[int | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
dict_type_select = await dict_type_service.get_select(name=name, code=code, status=status)
|
||||
page_data = await paging_data(db, dict_type_select, GetDictTypeListDetails)
|
||||
page_data = await paging_data(db, dict_type_select)
|
||||
return response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends, Path, Query
|
||||
|
||||
from backend.app.admin.schema.notice import CreateNoticeParam, GetNoticeListDetails, UpdateNoticeParam
|
||||
from backend.app.admin.schema.notice import CreateNoticeParam, UpdateNoticeParam
|
||||
from backend.app.admin.service.notice_service import notice_service
|
||||
from backend.common.pagination import DependsPagination, paging_data
|
||||
from backend.common.response.response_schema import ResponseModel, response_base
|
||||
@@ -32,7 +32,7 @@ async def get_notice(pk: Annotated[int, Path(...)]) -> ResponseModel:
|
||||
)
|
||||
async def get_pagination_notice(db: CurrentSession) -> ResponseModel:
|
||||
notice_select = await notice_service.get_select()
|
||||
page_data = await paging_data(db, notice_select, GetNoticeListDetails)
|
||||
page_data = await paging_data(db, notice_select)
|
||||
return response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ async def get_pagination_roles(
|
||||
status: Annotated[int | None, Query()] = None,
|
||||
) -> ResponseModel:
|
||||
role_select = await role_service.get_select(name=name, status=status)
|
||||
page_data = await paging_data(db, role_select, GetRoleListDetails)
|
||||
page_data = await paging_data(db, role_select)
|
||||
return response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ async def get_pagination_users(
|
||||
status: Annotated[int | None, Query()] = None,
|
||||
):
|
||||
user_select = await user_service.get_select(dept=dept, username=username, phone=phone, status=status)
|
||||
page_data = await paging_data(db, user_select, GetUserInfoListDetails)
|
||||
page_data = await paging_data(db, user_select)
|
||||
return response_base.success(data=page_data)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user