44
55from fastapi import APIRouter , Depends , Path , Query
66
7- from backend .app .admin .schema .config import CreateConfigParam , UpdateConfigParam
7+ from backend .app .admin .schema .config import (
8+ CreateAnyConfigParam ,
9+ GetAnyConfigListDetails ,
10+ SaveConfigParam ,
11+ UpdateAnyConfigParam ,
12+ )
813from backend .app .admin .service .config_service import config_service
14+ from backend .common .pagination import DependsPagination , paging_data
915from backend .common .response .response_schema import ResponseModel , response_base
1016from backend .common .security .jwt import DependsJwtAuth
1117from backend .common .security .permission import RequestPermission
1218from backend .common .security .rbac import DependsRBAC
19+ from backend .database .db_mysql import CurrentSession
1320
1421router = APIRouter ()
1522
1623
1724@router .get ('/website' , summary = '获取网站配置信息' , dependencies = [DependsJwtAuth ])
1825async def get_website_config () -> ResponseModel :
19- config = config_service .get_website ()
26+ config = await config_service .get_website ()
2027 return response_base .success (data = config )
2128
2229
2330@router .post (
2431 '/website' ,
2532 summary = '保存网站配置信息' ,
2633 dependencies = [
27- Depends (RequestPermission ('sys:config:add' )),
34+ Depends (RequestPermission ('sys:config:website: add' )),
2835 DependsRBAC ,
2936 ],
3037)
31- async def save_website_config () -> ResponseModel :
32- await config_service .save_website ()
38+ async def save_website_config (obj : SaveConfigParam ) -> ResponseModel :
39+ await config_service .save_website (obj )
3340 return response_base .success ()
3441
3542
3643@router .get ('/protocol' , summary = '获取用户协议' , dependencies = [DependsJwtAuth ])
3744async def get_protocol_config () -> ResponseModel :
38- config = config_service .get_protocol ()
45+ config = await config_service .get_protocol ()
3946 return response_base .success (data = config )
4047
4148
@@ -47,14 +54,14 @@ async def get_protocol_config() -> ResponseModel:
4754 DependsRBAC ,
4855 ],
4956)
50- async def save_protocol_config () -> ResponseModel :
51- await config_service .save_protocol ()
57+ async def save_protocol_config (obj : SaveConfigParam ) -> ResponseModel :
58+ await config_service .save_protocol (obj )
5259 return response_base .success ()
5360
5461
5562@router .get ('/policy' , summary = '获取用户政策' , dependencies = [DependsJwtAuth ])
5663async def get_policy_config () -> ResponseModel :
57- config = config_service .get_policy ()
64+ config = await config_service .get_policy ()
5865 return response_base .success (data = config )
5966
6067
@@ -66,39 +73,57 @@ async def get_policy_config() -> ResponseModel:
6673 DependsRBAC ,
6774 ],
6875)
69- async def save_policy_config () -> ResponseModel :
70- await config_service .save_policy ()
76+ async def save_policy_config (obj : SaveConfigParam ) -> ResponseModel :
77+ await config_service .save_policy (obj )
7178 return response_base .success ()
7279
7380
74- @router .get ('/{pk}' , summary = '获取系统配置详情 ' , dependencies = [DependsJwtAuth ])
81+ @router .get ('/{pk}' , summary = '获取系统参数配置详情 ' , dependencies = [DependsJwtAuth ])
7582async def get_config (pk : Annotated [int , Path (...)]) -> ResponseModel :
7683 config = await config_service .get (pk )
7784 return response_base .success (data = config )
7885
7986
87+ @router .get (
88+ '' ,
89+ summary = '(模糊条件)分页获取所有系统参数配置' ,
90+ dependencies = [
91+ DependsJwtAuth ,
92+ DependsPagination ,
93+ ],
94+ )
95+ async def get_pagination_config (
96+ db : CurrentSession ,
97+ name : Annotated [str | None , Query ()] = None ,
98+ type : Annotated [str | None , Query ()] = None ,
99+ ) -> ResponseModel :
100+ config_select = await config_service .get_select (name = name , type = type )
101+ page_data = await paging_data (db , config_select , GetAnyConfigListDetails )
102+ return response_base .success (data = page_data )
103+
104+
80105@router .post (
81106 '' ,
82- summary = '创建系统配置 ' ,
107+ summary = '创建系统参数配置 ' ,
83108 dependencies = [
84109 Depends (RequestPermission ('sys:config:add' )),
85110 DependsRBAC ,
86111 ],
87112)
88- async def create_config (obj : CreateConfigParam ) -> ResponseModel :
113+ async def create_config (obj : CreateAnyConfigParam ) -> ResponseModel :
89114 await config_service .create (obj = obj )
90115 return response_base .success ()
91116
92117
93118@router .put (
94119 '/{pk}' ,
95- summary = '更新系统配置 ' ,
120+ summary = '更新系统参数配置 ' ,
96121 dependencies = [
97122 Depends (RequestPermission ('sys:config:edit' )),
98123 DependsRBAC ,
99124 ],
100125)
101- async def update_config (pk : Annotated [int , Path (...)], obj : UpdateConfigParam ) -> ResponseModel :
126+ async def update_config (pk : Annotated [int , Path (...)], obj : UpdateAnyConfigParam ) -> ResponseModel :
102127 count = await config_service .update (pk = pk , obj = obj )
103128 if count > 0 :
104129 return response_base .success ()
@@ -107,7 +132,7 @@ async def update_config(pk: Annotated[int, Path(...)], obj: UpdateConfigParam) -
107132
108133@router .delete (
109134 '' ,
110- summary = '(批量)删除系统配置 ' ,
135+ summary = '(批量)删除系统参数配置 ' ,
111136 dependencies = [
112137 Depends (RequestPermission ('sys:config:del' )),
113138 DependsRBAC ,
0 commit comments