Add response model include data schema (#490)

* Add response model include data schema

* Fix paging data usage

* optimize annotations
This commit is contained in:
Wu Clan
2025-01-17 12:39:24 +08:00
committed by GitHub
parent 64ee74bb38
commit 13cee674a7
17 changed files with 118 additions and 73 deletions
+1 -2
View File
@@ -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)
+1 -2
View File
@@ -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)
+2 -2
View File
@@ -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)
+1 -2
View File
@@ -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)
+1 -2
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)
+2 -2
View File
@@ -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)
+2 -2
View File
@@ -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)
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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)