deepfos 1.1.60__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. deepfos/__init__.py +6 -0
  2. deepfos/_version.py +21 -0
  3. deepfos/algo/__init__.py +0 -0
  4. deepfos/algo/graph.py +171 -0
  5. deepfos/algo/segtree.py +31 -0
  6. deepfos/api/V1_1/__init__.py +0 -0
  7. deepfos/api/V1_1/business_model.py +119 -0
  8. deepfos/api/V1_1/dimension.py +599 -0
  9. deepfos/api/V1_1/models/__init__.py +0 -0
  10. deepfos/api/V1_1/models/business_model.py +1033 -0
  11. deepfos/api/V1_1/models/dimension.py +2768 -0
  12. deepfos/api/V1_2/__init__.py +0 -0
  13. deepfos/api/V1_2/dimension.py +285 -0
  14. deepfos/api/V1_2/models/__init__.py +0 -0
  15. deepfos/api/V1_2/models/dimension.py +2923 -0
  16. deepfos/api/__init__.py +0 -0
  17. deepfos/api/account.py +167 -0
  18. deepfos/api/accounting_engines.py +147 -0
  19. deepfos/api/app.py +626 -0
  20. deepfos/api/approval_process.py +198 -0
  21. deepfos/api/base.py +983 -0
  22. deepfos/api/business_model.py +160 -0
  23. deepfos/api/consolidation.py +129 -0
  24. deepfos/api/consolidation_process.py +106 -0
  25. deepfos/api/datatable.py +341 -0
  26. deepfos/api/deep_pipeline.py +61 -0
  27. deepfos/api/deepconnector.py +36 -0
  28. deepfos/api/deepfos_task.py +92 -0
  29. deepfos/api/deepmodel.py +188 -0
  30. deepfos/api/dimension.py +486 -0
  31. deepfos/api/financial_model.py +319 -0
  32. deepfos/api/journal_model.py +119 -0
  33. deepfos/api/journal_template.py +132 -0
  34. deepfos/api/memory_financial_model.py +98 -0
  35. deepfos/api/models/__init__.py +3 -0
  36. deepfos/api/models/account.py +483 -0
  37. deepfos/api/models/accounting_engines.py +756 -0
  38. deepfos/api/models/app.py +1338 -0
  39. deepfos/api/models/approval_process.py +1043 -0
  40. deepfos/api/models/base.py +234 -0
  41. deepfos/api/models/business_model.py +805 -0
  42. deepfos/api/models/consolidation.py +711 -0
  43. deepfos/api/models/consolidation_process.py +248 -0
  44. deepfos/api/models/datatable_mysql.py +427 -0
  45. deepfos/api/models/deep_pipeline.py +55 -0
  46. deepfos/api/models/deepconnector.py +28 -0
  47. deepfos/api/models/deepfos_task.py +386 -0
  48. deepfos/api/models/deepmodel.py +308 -0
  49. deepfos/api/models/dimension.py +1576 -0
  50. deepfos/api/models/financial_model.py +1796 -0
  51. deepfos/api/models/journal_model.py +341 -0
  52. deepfos/api/models/journal_template.py +854 -0
  53. deepfos/api/models/memory_financial_model.py +478 -0
  54. deepfos/api/models/platform.py +178 -0
  55. deepfos/api/models/python.py +221 -0
  56. deepfos/api/models/reconciliation_engine.py +411 -0
  57. deepfos/api/models/reconciliation_report.py +161 -0
  58. deepfos/api/models/role_strategy.py +884 -0
  59. deepfos/api/models/smartlist.py +237 -0
  60. deepfos/api/models/space.py +1137 -0
  61. deepfos/api/models/system.py +1065 -0
  62. deepfos/api/models/variable.py +463 -0
  63. deepfos/api/models/workflow.py +946 -0
  64. deepfos/api/platform.py +199 -0
  65. deepfos/api/python.py +90 -0
  66. deepfos/api/reconciliation_engine.py +181 -0
  67. deepfos/api/reconciliation_report.py +64 -0
  68. deepfos/api/role_strategy.py +234 -0
  69. deepfos/api/smartlist.py +69 -0
  70. deepfos/api/space.py +582 -0
  71. deepfos/api/system.py +372 -0
  72. deepfos/api/variable.py +154 -0
  73. deepfos/api/workflow.py +264 -0
  74. deepfos/boost/__init__.py +6 -0
  75. deepfos/boost/py_jstream.py +89 -0
  76. deepfos/boost/py_pandas.py +20 -0
  77. deepfos/cache.py +121 -0
  78. deepfos/config.py +6 -0
  79. deepfos/core/__init__.py +27 -0
  80. deepfos/core/cube/__init__.py +10 -0
  81. deepfos/core/cube/_base.py +462 -0
  82. deepfos/core/cube/constants.py +21 -0
  83. deepfos/core/cube/cube.py +408 -0
  84. deepfos/core/cube/formula.py +707 -0
  85. deepfos/core/cube/syscube.py +532 -0
  86. deepfos/core/cube/typing.py +7 -0
  87. deepfos/core/cube/utils.py +238 -0
  88. deepfos/core/dimension/__init__.py +11 -0
  89. deepfos/core/dimension/_base.py +506 -0
  90. deepfos/core/dimension/dimcreator.py +184 -0
  91. deepfos/core/dimension/dimension.py +472 -0
  92. deepfos/core/dimension/dimexpr.py +271 -0
  93. deepfos/core/dimension/dimmember.py +155 -0
  94. deepfos/core/dimension/eledimension.py +22 -0
  95. deepfos/core/dimension/filters.py +99 -0
  96. deepfos/core/dimension/sysdimension.py +168 -0
  97. deepfos/core/logictable/__init__.py +5 -0
  98. deepfos/core/logictable/_cache.py +141 -0
  99. deepfos/core/logictable/_operator.py +663 -0
  100. deepfos/core/logictable/nodemixin.py +673 -0
  101. deepfos/core/logictable/sqlcondition.py +609 -0
  102. deepfos/core/logictable/tablemodel.py +497 -0
  103. deepfos/db/__init__.py +36 -0
  104. deepfos/db/cipher.py +660 -0
  105. deepfos/db/clickhouse.py +191 -0
  106. deepfos/db/connector.py +195 -0
  107. deepfos/db/daclickhouse.py +171 -0
  108. deepfos/db/dameng.py +101 -0
  109. deepfos/db/damysql.py +189 -0
  110. deepfos/db/dbkits.py +358 -0
  111. deepfos/db/deepengine.py +99 -0
  112. deepfos/db/deepmodel.py +82 -0
  113. deepfos/db/deepmodel_kingbase.py +83 -0
  114. deepfos/db/edb.py +214 -0
  115. deepfos/db/gauss.py +83 -0
  116. deepfos/db/kingbase.py +83 -0
  117. deepfos/db/mysql.py +184 -0
  118. deepfos/db/oracle.py +131 -0
  119. deepfos/db/postgresql.py +192 -0
  120. deepfos/db/sqlserver.py +99 -0
  121. deepfos/db/utils.py +135 -0
  122. deepfos/element/__init__.py +89 -0
  123. deepfos/element/accounting.py +348 -0
  124. deepfos/element/apvlprocess.py +215 -0
  125. deepfos/element/base.py +398 -0
  126. deepfos/element/bizmodel.py +1269 -0
  127. deepfos/element/datatable.py +2467 -0
  128. deepfos/element/deep_pipeline.py +186 -0
  129. deepfos/element/deepconnector.py +59 -0
  130. deepfos/element/deepmodel.py +1806 -0
  131. deepfos/element/dimension.py +1254 -0
  132. deepfos/element/fact_table.py +427 -0
  133. deepfos/element/finmodel.py +1485 -0
  134. deepfos/element/journal.py +840 -0
  135. deepfos/element/journal_template.py +943 -0
  136. deepfos/element/pyscript.py +412 -0
  137. deepfos/element/reconciliation.py +553 -0
  138. deepfos/element/rolestrategy.py +243 -0
  139. deepfos/element/smartlist.py +457 -0
  140. deepfos/element/variable.py +756 -0
  141. deepfos/element/workflow.py +560 -0
  142. deepfos/exceptions/__init__.py +239 -0
  143. deepfos/exceptions/hook.py +86 -0
  144. deepfos/lazy.py +104 -0
  145. deepfos/lazy_import.py +84 -0
  146. deepfos/lib/__init__.py +0 -0
  147. deepfos/lib/_javaobj.py +366 -0
  148. deepfos/lib/asynchronous.py +879 -0
  149. deepfos/lib/concurrency.py +107 -0
  150. deepfos/lib/constant.py +39 -0
  151. deepfos/lib/decorator.py +310 -0
  152. deepfos/lib/deepchart.py +778 -0
  153. deepfos/lib/deepux.py +477 -0
  154. deepfos/lib/discovery.py +273 -0
  155. deepfos/lib/edb_lexer.py +789 -0
  156. deepfos/lib/eureka.py +156 -0
  157. deepfos/lib/filterparser.py +751 -0
  158. deepfos/lib/httpcli.py +106 -0
  159. deepfos/lib/jsonstreamer.py +80 -0
  160. deepfos/lib/msg.py +394 -0
  161. deepfos/lib/nacos.py +225 -0
  162. deepfos/lib/patch.py +92 -0
  163. deepfos/lib/redis.py +241 -0
  164. deepfos/lib/serutils.py +181 -0
  165. deepfos/lib/stopwatch.py +99 -0
  166. deepfos/lib/subtask.py +572 -0
  167. deepfos/lib/sysutils.py +703 -0
  168. deepfos/lib/utils.py +1003 -0
  169. deepfos/local.py +160 -0
  170. deepfos/options.py +670 -0
  171. deepfos/translation.py +237 -0
  172. deepfos-1.1.60.dist-info/METADATA +33 -0
  173. deepfos-1.1.60.dist-info/RECORD +175 -0
  174. deepfos-1.1.60.dist-info/WHEEL +5 -0
  175. deepfos-1.1.60.dist-info/top_level.txt +1 -0
deepfos/api/space.py ADDED
@@ -0,0 +1,582 @@
1
+ """
2
+ APIs provided by space-server
3
+
4
+ generated by api_code_gen.py
5
+ - **filename** : ``space.py``
6
+ - **json timestamp** : ``2023-03-02 14:49:01``
7
+ """
8
+ from deepfos.api.base import RootAPI, ChildAPI, get, post
9
+ from .models.space import *
10
+ from deepfos.options import OPTION
11
+ from deepfos.lib.decorator import cached_property
12
+ from typing import List, Dict, Union, Any, Awaitable, Optional
13
+
14
+
15
+ __all__ = ['SpaceAPI']
16
+
17
+
18
+ class SpaceAppAPI(ChildAPI):
19
+ endpoint = '/api/space/app'
20
+
21
+ @post('add')
22
+ def add(self, spAppInfoDto: SpAppInfoAddDto) -> Union[str, Awaitable[str]]:
23
+ """
24
+ 创建app接口
25
+
26
+ 在当前空间创建app,如果数据库连接地址、端口、数据库名、数据库用户名
27
+ 、密码为空时,使用默认数据源
28
+ """
29
+ return {'body': spAppInfoDto}
30
+
31
+ @post('all')
32
+ def all(self, ids: List[str]) -> Union[List[SpAppInfoVo], Awaitable[List[SpAppInfoVo]]]:
33
+ """
34
+ 查询应用列表所有应用(含回收站信息)接口(也可通过appIds查询)(已废弃)
35
+
36
+ 根据空间id和应用名称分页查询应用列表所有应用(已废弃)
37
+ """
38
+ return {'body': ids}
39
+
40
+ @get('all/list')
41
+ def all_list(self, recycleBin: int = None) -> Union[List[SpaceAppDto], Awaitable[List[SpaceAppDto]]]:
42
+ """
43
+ 查询所有空间内所有应用接口
44
+
45
+ 查询所有空间及空间下所有应用;可根据参数recycleBin过滤应用
46
+ """
47
+ return {'param': {'recycleBin': recycleBin}}
48
+
49
+ @get('query-app-info-list/by-space-id')
50
+ def query_app_info_list_by_space_id(self, ) -> Union[List[AppInfo], Awaitable[List[AppInfo]]]:
51
+ """
52
+ 根据空间id查询所有未回收应用信息接口
53
+
54
+ """
55
+ return {}
56
+
57
+ @post('remove')
58
+ def remove(self, appName: str, appId: str, adminFlag: bool = None, logFlag: bool = None) -> Union[int, Awaitable[int]]:
59
+ """
60
+ 根据空间id删除应用信息接口
61
+
62
+ 根据空间id和应用id调用app应用接口通知应用删除所有应用下元素数据
63
+ ,根据空间id和应用id删除应用信息--2.12.0.0
64
+ """
65
+ return {
66
+ 'param': {
67
+ 'adminFlag': adminFlag,
68
+ 'appId': appId,
69
+ 'appName': appName,
70
+ 'logFlag': logFlag,
71
+ },
72
+ }
73
+
74
+ @post('update')
75
+ def update(self, spAppInfoDto: SpAppInfoUpdateDto) -> Union[int, Awaitable[int]]:
76
+ """
77
+ 修改app名称及描述接口
78
+
79
+ 应用名称和描述修改
80
+ """
81
+ return {'body': spAppInfoDto}
82
+
83
+ @post('update-module-register-info/by-module-id')
84
+ def update_module_register_info_by_module_id(self, spModuleRegisterInfoUpdateDto: SpModuleRegisterInfoUpdateDto) -> Union[int, Awaitable[int]]:
85
+ """
86
+ 组件安装更新已注册组件的组件名称接口
87
+
88
+ 根据组件id修改空间组件注册表中组件名称
89
+ """
90
+ return {'body': spModuleRegisterInfoUpdateDto}
91
+
92
+
93
+ class SpaceBusinessRecordAPI(ChildAPI):
94
+ endpoint = '/api/space/file/business/record'
95
+
96
+ @post('save')
97
+ def save(self, fileBusinessRecordSaveDao: SpFileBusinessRecordSaveDto) -> Union[str, Awaitable[str]]:
98
+ """
99
+ 保存业务文件记录
100
+
101
+ 保存业务文件记录,用于平台下载中心的文件下载
102
+ """
103
+ return {'body': fileBusinessRecordSaveDao}
104
+
105
+
106
+ class SpaceUserGroupAPI(ChildAPI):
107
+ endpoint = '/api/space/group-info'
108
+
109
+ @post('add-group')
110
+ def add_group(self, groupInfo: GroupInfoDto) -> Union[int, Awaitable[int]]:
111
+ """
112
+ 新建用户组
113
+
114
+ 根据用户组名,多语种描述以及需要添加的用户id新建用户组
115
+ """
116
+ return {'body': groupInfo}
117
+
118
+ @get('all_enable_group')
119
+ def all_enable_group(self, keyword: str = None) -> Union[List[UserGroupInfoVo], Awaitable[List[UserGroupInfoVo]]]:
120
+ """
121
+ 查询企业用户组信息
122
+
123
+ 查询该企业下所有有效用户组的基本信息
124
+ """
125
+ return {'param': {'keyword': keyword}}
126
+
127
+ @get('get-user-group-all')
128
+ def get_user_group_all(self, ) -> Union[UserAndGroupDto, Awaitable[UserAndGroupDto]]:
129
+ """
130
+ 获取所有用户组及用户及用户组关系数据
131
+
132
+ """
133
+ return {}
134
+
135
+ @get('query')
136
+ def query(self, groupInfoId: str, status: str = None) -> Union[SingleGroupVo, Awaitable[SingleGroupVo]]:
137
+ """
138
+ 根据id查询单个用户组信息
139
+
140
+ 根据id查询单个用户组信息,以及该用户组下的所有用户的基本信息
141
+ """
142
+ return {'param': {'groupInfoId': groupInfoId, 'status': status}}
143
+
144
+ @get('query/batch')
145
+ def query_batch(self, groupIdList: List[str], filter: bool = None, status: str = None) -> Union[List[GroupInfoVo], Awaitable[List[GroupInfoVo]]]:
146
+ """
147
+ 批量根据用户组id列表查询用户组信息
148
+
149
+ 批量根据用户组id列表查询用户组的基本信息
150
+ """
151
+ return {'param': {'filter': filter, 'groupIdList': groupIdList, 'status': status}}
152
+
153
+
154
+ class SpaceModuleAPI(ChildAPI):
155
+ endpoint = '/api/space/module'
156
+
157
+ @get('all/list')
158
+ def all_list(self, ) -> Union[List[SpModuleInfoPageVo], Awaitable[List[SpModuleInfoPageVo]]]:
159
+ """
160
+ 查询所有组件列表接口
161
+
162
+ """
163
+ return {}
164
+
165
+ @post('auto-register-module')
166
+ def auto_register_module(self, moduleIds: List[str]) -> Union[Any, Awaitable[Any]]:
167
+ """
168
+ 新建空间组件逐个自动注册接口
169
+
170
+ 组件逐个注册
171
+ """
172
+ return {'body': moduleIds}
173
+
174
+ @post('batch/module-element-register')
175
+ def batch_module_element_register(self, moduleRegisterAndQuoteDto: ModuleRegisterAndQuoteDto) -> Union[SpModuleRegisterResultVo, Awaitable[SpModuleRegisterResultVo]]:
176
+ """
177
+ 批量注册组件和组件依赖关系接口
178
+
179
+ """
180
+ return {'body': moduleRegisterAndQuoteDto}
181
+
182
+ @post('cancellation')
183
+ def cancellation(self, moduleId: str) -> Union[int, Awaitable[int]]:
184
+ """
185
+ 组件注销接口
186
+
187
+ 组件注销,删除组件注册表,调用系统服务删除空间与组件关联关系,更新组件
188
+ 强制关联关系状态,删除组件引用信息
189
+ """
190
+ return {'param': {'moduleId': moduleId}}
191
+
192
+ @get('detail')
193
+ def detail(self, moduleId: str) -> Union[SpModuleRegisterDetailVo, Awaitable[SpModuleRegisterDetailVo]]:
194
+ """
195
+ 根据moduleId查询组件详细信息(含服务名)接口
196
+
197
+ 该接口迁移至system项目
198
+ """
199
+ return {'param': {'moduleId': moduleId}}
200
+
201
+ @get('detail/list')
202
+ def detail_list(self, moduleIds: List[str]) -> Union[List[SpModuleRegisterDetailVo], Awaitable[List[SpModuleRegisterDetailVo]]]:
203
+ """
204
+ 根据(批量)moduleId查询组件(批量)详细信息(含服务名)接口
205
+
206
+ 该接口迁移至system项目
207
+ """
208
+ return {'param': {'moduleIds': moduleIds}}
209
+
210
+ @post('quote-relation/add')
211
+ def quote_relation_add(self, moduleQuoteAddDto: ModuleQuoteAddDto) -> Union[int, Awaitable[int]]:
212
+ """
213
+ 保存组件创建时使用的默认组件接口
214
+
215
+ """
216
+ return {'body': moduleQuoteAddDto}
217
+
218
+ @post('quote-relation/batch-add')
219
+ def quote_relation_batch_add(self, moduleQuoteAddDtoList: List[ModuleQuoteAddDto]) -> Union[int, Awaitable[int]]:
220
+ """
221
+ 保存组件创建时使用的默认组件批量接口
222
+
223
+ """
224
+ return {'body': moduleQuoteAddDtoList}
225
+
226
+ @get('quote-relation/server-name')
227
+ def quote_relation_server_name(self, protocolVersion: str, protocol: str, moduleId: str) -> Union[SpModuleAutoCreateRelationVo, Awaitable[SpModuleAutoCreateRelationVo]]:
228
+ """
229
+ 根据组件id和协议号查询默认创建的组件服务名接口
230
+
231
+ """
232
+ return {
233
+ 'param': {
234
+ 'moduleId': moduleId,
235
+ 'protocol': protocol,
236
+ 'protocolVersion': protocolVersion,
237
+ },
238
+ }
239
+
240
+ @post('register')
241
+ def register(self, spModuleRegisterInfoDtoList: List[SpModuleRegisterInfoDto]) -> Union[SpModuleRegisterResultVo, Awaitable[SpModuleRegisterResultVo]]:
242
+ """
243
+ 组件注册接口
244
+
245
+ 组件注册,存在后置通知
246
+ """
247
+ return {'body': spModuleRegisterInfoDtoList}
248
+
249
+ @post('register-assign-module')
250
+ def register_assign_module(self, moduleTypeVersionInfoDtos: List[ModuleTypeVersionInfoDto]) -> Union[Any, Awaitable[Any]]:
251
+ """
252
+ 注册指定的组件接口(指定组件类型和版本)
253
+
254
+ """
255
+ return {'body': moduleTypeVersionInfoDtos}
256
+
257
+ @get('register-list/usable')
258
+ def get_usable_module(self, ) -> Union[List[SpModuleRegisterDetailVo], Awaitable[List[SpModuleRegisterDetailVo]]]:
259
+ """
260
+ 查询已注册的可用组件列表(组)接口
261
+
262
+ 查询已注册的可用组件列表(组件状态为可用)
263
+ """
264
+ return {}
265
+
266
+ @get('register/coercion-lack/check-usable')
267
+ def register_coercion_lack_check_usable(self, moduleId: str) -> Union[bool, Awaitable[bool]]:
268
+ """
269
+ 查询组件id查询组件在当前空间的状态是否可用接口
270
+
271
+ 根据moduleId查询空间注册的组件状态是否可用且强依赖关系是否注册
272
+ """
273
+ return {'param': {'moduleId': moduleId}}
274
+
275
+ @get('register/coercion-lack/check-usable-batch')
276
+ def register_coercion_lack_check_usable_batch(self, moduleIds: List[str]) -> Union[List[SpModlueRegisterStausUsableVo], Awaitable[List[SpModlueRegisterStausUsableVo]]]:
277
+ """
278
+ 批量查询组件可用状态接口(是否已注册)
279
+
280
+ 根据空间id和组件id数组批量查询组件可用状态(是否已注册)
281
+ """
282
+ return {'param': {'moduleIds': moduleIds}}
283
+
284
+ @get('register/status')
285
+ def register_status(self, moduleId: str) -> Union[ModuleRegisterStatusAndRegisterTimeVo, Awaitable[ModuleRegisterStatusAndRegisterTimeVo]]:
286
+ """
287
+ 查询组件注册信息接口
288
+
289
+ 根据空间id和组件id查询组件注册信息包含状态和注册时间
290
+ """
291
+ return {'param': {'moduleId': moduleId}}
292
+
293
+ @get('relation-all')
294
+ def relation_all(self, moduleId: str) -> Union[SpModuleRegisterRelationVo, Awaitable[SpModuleRegisterRelationVo]]:
295
+ """
296
+ 根据已注册组件id查询已注册组件关联关系接口
297
+
298
+ 根据空间id和已注册组件id判断该组件是否已经注册,根据空间id和已注
299
+ 册组件id获取组件创建的依赖关系,根据空间id获取该空间已注册的组件
300
+ ,调用系统服务根据未注册组件id获取组件所有的依赖关系,根据已注册组件
301
+ id显示强制依赖和不强制依赖列表未注册的组件不会显示
302
+ """
303
+ return {'param': {'moduleId': moduleId}}
304
+
305
+ @post('status')
306
+ def status(self, moduleStatusDto: ModuleStatusDto) -> Union[int, Awaitable[int]]:
307
+ """
308
+ 空间组件启用停用接口
309
+
310
+ 更新空间组件启用停用状态
311
+ """
312
+ return {'body': moduleStatusDto}
313
+
314
+ @get('unregister/relation-all')
315
+ def unregister_relation_all(self, moduleId: str) -> Union[SpModuleRegisterRelationVo, Awaitable[SpModuleRegisterRelationVo]]:
316
+ """
317
+ 根据未注册组件id查询未注册组件关联关系接口
318
+
319
+ 根据空间id和未注册组件id判断该组件是否已经注册,根据空间id获取所
320
+ 有已注册的组件信息用于显示与未注册组件的关联关系列表,调用系统服务根据
321
+ 未注册组件id获取组件所有的依赖关系,根据未注册组件id显示强制依赖和
322
+ 不强制依赖列表已经注册的组件不会显示
323
+ """
324
+ return {'param': {'moduleId': moduleId}}
325
+
326
+ @get('use/elements')
327
+ def use_elements(self, enableRegister: int = None) -> Union[List[ModuleElementInfoForm], Awaitable[List[ModuleElementInfoForm]]]:
328
+ """
329
+ 查询当前空间所有可以使用的元素类型信息
330
+
331
+ """
332
+ return {'param': {'enableRegister': enableRegister}}
333
+
334
+
335
+ class SpaceUserAPI(ChildAPI):
336
+ endpoint = '/api/space/user-info'
337
+
338
+ @get('all_enable_user')
339
+ def all_enable_user(self, keyword: str = None, status: str = None) -> Union[List[UserInfoVo], Awaitable[List[UserInfoVo]]]:
340
+ """
341
+ 查询空间用户信息
342
+
343
+ 查询该空间下所有有效用户的基本信息
344
+ """
345
+ return {'param': {'keyword': keyword, 'status': status}}
346
+
347
+ @post('batch/query/by-user-ids')
348
+ def batch_query_by_user_ids(self, userIdList: str, status: str = None) -> Union[List[UserInfoVo], Awaitable[List[UserInfoVo]]]:
349
+ """
350
+ 根据用户id列表批量查询用户信息
351
+
352
+ 根据用户id列表批量查询用户的个人信息,不过滤当前空间用户,可根据
353
+ status字段筛选查询启用或者禁用的用户信息
354
+ """
355
+ return {'body': userIdList, 'param': {'status': status}}
356
+
357
+ @get('check-user-exist/batch')
358
+ def check_user_exist_batch(self, userIdList: List[str], status: str = None) -> Union[List[UserExistVo], Awaitable[List[UserExistVo]]]:
359
+ """
360
+ 批量校验用户在当前空间是否存在
361
+
362
+ 批量校验一组用户在当前空间是否存在,存在返回其状态
363
+ """
364
+ return {'param': {'status': status, 'userIdList': userIdList}}
365
+
366
+ @get('get-all-children-user-list/by-group')
367
+ def get_all_children_user_list_by_group(self, groupId: str, status: str = None) -> Union[List[UserVo], Awaitable[List[UserVo]]]:
368
+ """
369
+ 获取用户组内所有用户信息接口
370
+
371
+ 获取用户组内所有用户信息(含子集组用户)
372
+ """
373
+ return {'param': {'groupId': groupId, 'status': status}}
374
+
375
+ @post('get-all-children-user-list/by-group-batch')
376
+ def get_all_children_user_list_by_group_batch(self, groupIds: List[str]) -> Union[List[GroupUserDto], Awaitable[List[GroupUserDto]]]:
377
+ """
378
+ 批量获取用户组内所有用户信息接口
379
+
380
+ 批量获取用户组内所有用户信息(含子集组用户)依赖平台版本2.6.7
381
+ """
382
+ return {'body': {'groupIds': groupIds}}
383
+
384
+ @get('query')
385
+ def query(self, userId: str, status: str = None) -> Union[SingleUserVo, Awaitable[SingleUserVo]]:
386
+ """
387
+ 根据id查询单个用户信息
388
+
389
+ 根据用户的id查询单个用户的基本信息,包含邮箱,手机号,昵称等个人信息
390
+ """
391
+ return {'param': {'status': status, 'userId': userId}}
392
+
393
+ @get('query/batch')
394
+ def query_batch(self, userIdList: List[str], status: str = None) -> List[UserInfoVo]:
395
+ """
396
+ 根据用户id列表批量查询用户信息
397
+
398
+ 根据用户id列表批量查询用户的个人信息,可根据status字段筛选查询
399
+ 启用或者禁用的用户信息
400
+ """
401
+ userIds = ','.join(userIdList)
402
+ return {'param': {'status': status, 'userIdList': userIds}}
403
+
404
+ @get('query/batch/by-name')
405
+ def query_batch_by_name(self, userNames: List[str], status: str = None) -> Union[List[UserInfoVo], Awaitable[List[UserInfoVo]]]:
406
+ """
407
+ 根据用户名批量查询空间用户集合
408
+
409
+ """
410
+ return {'param': {'status': status, 'userNames': userNames}}
411
+
412
+ @post('query/batch/by-user-ids')
413
+ def query_batch_by_user_ids(self, userIdList: str, status: str = None) -> Union[List[UserInfoVo], Awaitable[List[UserInfoVo]]]:
414
+ """
415
+ 根据用户id列表批量查询用户信息
416
+
417
+ 根据用户id列表批量查询用户的个人信息,可根据status字段筛选查询
418
+ 启用或者禁用的用户信息
419
+ """
420
+ return {'body': userIdList, 'param': {'status': status}}
421
+
422
+ @post('search')
423
+ def search(self, userSearchDto: UserSearchDto) -> Union[List[UserVo], Awaitable[List[UserVo]]]:
424
+ """
425
+ 查询当前空间用户信息(可包含关键字,不分页)
426
+
427
+ 根据给的作用域匹配对应用户信息
428
+ """
429
+ return {'body': userSearchDto}
430
+
431
+ @post('update')
432
+ def update(self, updateInfo: UserUpdateDto) -> Union[str, Awaitable[str]]:
433
+ """
434
+ 根据用户id更新用户状态及用户组
435
+
436
+ 根据用户id更新用户状态为可用或者禁用状态,也可以传入用户组id为该用
437
+ 户分配新的用户组
438
+ """
439
+ return {'body': updateInfo}
440
+
441
+
442
+ class Extra(ChildAPI):
443
+ endpoint = '/'
444
+
445
+ @post('app-info')
446
+ def app_info(self, appId: str) -> Union[SpAppInfo, Awaitable[SpAppInfo]]:
447
+ """
448
+ 查询单个应用信息接口
449
+
450
+ """
451
+ return {'param': {'appId': appId}}
452
+
453
+ @post('app-list')
454
+ def app_list(self, queryAppRequestDTO: QueryAppRequestDTO) -> Union[List[QueryAppResponseDTO], Awaitable[List[QueryAppResponseDTO]]]:
455
+ """
456
+ 应用列表查询接口
457
+
458
+ 目前日志查询时使用,不输入条件则查所有
459
+ """
460
+ return {'body': queryAppRequestDTO}
461
+
462
+ @get('get-all-element')
463
+ def get_all_element(self, app: str = None, appName: str = None, elementType: str = None, space: str = None, spaceName: str = None) -> Union[List[SpaceDto], Awaitable[List[SpaceDto]]]:
464
+ """
465
+ 获取当前环境所有空间所有app元素基本信息
466
+
467
+ """
468
+ return {
469
+ 'param': {
470
+ 'app': app,
471
+ 'appName': appName,
472
+ 'elementType': elementType,
473
+ 'space': space,
474
+ 'spaceName': spaceName,
475
+ },
476
+ }
477
+
478
+ @get('get-app-datasource')
479
+ def get_app_datasource(self, space: str, app: str, decrypt: bool = None) -> Union[DataSourceInfo, Awaitable[DataSourceInfo]]:
480
+ """
481
+ 获取应用DB信息接口
482
+
483
+ 根据空间id和应用id获取应用DB信息
484
+ """
485
+ return {'param': {'app': app, 'decrypt': decrypt, 'space': space}}
486
+
487
+
488
+ class SpaceFileAPI(ChildAPI):
489
+ endpoint = '/file-info'
490
+
491
+ @post('add')
492
+ def add(self, fileInfoVo: FileInfoVo) -> Union[int, Awaitable[int]]:
493
+ """
494
+ 保存附件信息接口
495
+
496
+ 保存文件上传附件信息
497
+ """
498
+ return {'body': fileInfoVo}
499
+
500
+ @get('find-by-id')
501
+ def find_by_id(self, id: str) -> Union[FileInfoVo, Awaitable[FileInfoVo]]:
502
+ """
503
+ 通过id查询附件信息接口
504
+
505
+ 通过id/空间id查询文件上传附件信息
506
+ """
507
+ return {'param': {'id': id}}
508
+
509
+
510
+ class SpaceInternalAPI(ChildAPI):
511
+ endpoint = '/internal/space/app'
512
+
513
+ @get('jdbc')
514
+ def jdbc(self, ) -> Union[SpAppJdbcInfoVo, Awaitable[SpAppJdbcInfoVo]]:
515
+ """
516
+ 根据应用id查询单个应用数据库信息(含连接信息)接口
517
+
518
+ """
519
+ return {}
520
+
521
+
522
+ class SpaceAPI(RootAPI):
523
+ """空间服务接口"""
524
+ prefix = lambda: OPTION.server.space
525
+
526
+ @cached_property
527
+ def app(self) -> SpaceAppAPI:
528
+ """
529
+ 空间APP信息接口
530
+ """
531
+ return SpaceAppAPI(self)
532
+
533
+ @cached_property
534
+ def business(self) -> SpaceBusinessRecordAPI:
535
+ """
536
+ 业务文件记录接口
537
+ """
538
+ return SpaceBusinessRecordAPI(self)
539
+
540
+ @cached_property
541
+ def user_group(self) -> SpaceUserGroupAPI:
542
+ """
543
+ 用户组管理相关接口
544
+ """
545
+ return SpaceUserGroupAPI(self)
546
+
547
+ @cached_property
548
+ def module(self) -> SpaceModuleAPI:
549
+ """
550
+ 空间组件注册接口
551
+ """
552
+ return SpaceModuleAPI(self)
553
+
554
+ @cached_property
555
+ def user(self) -> SpaceUserAPI:
556
+ """
557
+ 用户管理相关接口
558
+ """
559
+ return SpaceUserAPI(self)
560
+
561
+ @cached_property
562
+ def extra(self) -> Extra:
563
+ """
564
+ 空间应用相关接口
565
+ """
566
+ return Extra(self)
567
+
568
+ @cached_property
569
+ def file(self) -> SpaceFileAPI:
570
+ """
571
+ 附件信息接口
572
+ """
573
+ return SpaceFileAPI(self)
574
+
575
+ @cached_property
576
+ def internal(self) -> SpaceInternalAPI:
577
+ """
578
+ 空间APP信息初始化接口
579
+ """
580
+ return SpaceInternalAPI(self)
581
+
582
+