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/system.py ADDED
@@ -0,0 +1,372 @@
1
+ """
2
+ APIs provided by system-server
3
+
4
+ generated by api_code_gen.py
5
+ - **filename** : ``system.py``
6
+ - **json timestamp** : ``2024-04-11 14:48:33``
7
+ """
8
+ from deepfos.api.base import RootAPI, ChildAPI, get, post
9
+ from .models.system 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__ = ['SystemAPI']
16
+
17
+
18
+ class SysDataSourceAPI(ChildAPI):
19
+ endpoint = '/'
20
+
21
+ @get('get-space-datasource')
22
+ def get_space_datasource(self, space: str, decrypt: bool = None) -> Union[HikariDataSourceInfo, Awaitable[HikariDataSourceInfo]]:
23
+ """
24
+ 获取空间DB信息接口
25
+
26
+ 获取空间数据库连接信息
27
+ """
28
+ return {'param': {'decrypt': decrypt, 'space': space}}
29
+
30
+ @get('space-datasource/detail')
31
+ def space_datasource_detail(self, space: str) -> Union[SpaceJdcbInfoVo, Awaitable[SpaceJdcbInfoVo]]:
32
+ """
33
+ 查询空间数据库信息接口
34
+
35
+ 查询空间数据库信息(对外提供)
36
+ """
37
+ return {'param': {'space': space}}
38
+
39
+
40
+ class JdbcPassword(ChildAPI):
41
+ endpoint = '/jdbc/password'
42
+
43
+ @get('decrypt')
44
+ def decrypt(self, password: str, key: str = None) -> Union[str, Awaitable[str]]:
45
+ """
46
+ 数据源密码解密接口
47
+
48
+ """
49
+ return {'param': {'key': key, 'password': password}}
50
+
51
+
52
+ class Extra(ChildAPI):
53
+ endpoint = '/'
54
+
55
+ @post('job-create')
56
+ def job_create(self, jobCurrentDto: JobCurrentDto) -> Union[str, Awaitable[str]]:
57
+ """
58
+ 作业创建接口
59
+
60
+ 1 作业id默认使用uuid,2 作业状态默认等待,3 作业超时时间设
61
+ 置低于10秒时则默认10秒,不配置超时时间默认60秒,4 有设置结束时
62
+ 间则认为作业执行结束,5 成功返回作业id --2.8.0版本更新
63
+ """
64
+ return {'body': jobCurrentDto}
65
+
66
+ @get('job-status')
67
+ def job_status(self, ) -> Union[Any, Awaitable[Any]]:
68
+ """
69
+ 作业状态获取接口
70
+
71
+ 获取作业状态--2.6.0版本
72
+ """
73
+ return {}
74
+
75
+ @post('job-update')
76
+ def job_update(self, jobCurrentDto: UpdateJobCurrentDto) -> Union[int, Awaitable[int]]:
77
+ """
78
+ 作业更新接口
79
+
80
+ 1 增量更新作业明细,作业明细存在则更新,新明细则增量添加,2 主作业
81
+ 完成,将数据迁移至es 3 返回作业明细更新条数 --2.8.0版本更
82
+
83
+ """
84
+ return {'body': jobCurrentDto}
85
+
86
+
87
+ class MessageCenter(ChildAPI):
88
+ endpoint = '/message-center'
89
+
90
+ @get('count')
91
+ def count(self, ) -> Union[MessageCountDto, Awaitable[MessageCountDto]]:
92
+ """
93
+ 查询当前用户未读消息条数
94
+
95
+ """
96
+ return {}
97
+
98
+ @post('delete')
99
+ def delete(self, messageDelDto: MessageDelDto) -> Union[int, Awaitable[int]]:
100
+ """
101
+ 删除消息
102
+
103
+ """
104
+ return {'body': messageDelDto}
105
+
106
+ @get('get-platform-message')
107
+ def get_platform_message(self, ) -> Union[List[MessageCenter], Awaitable[List[MessageCenter]]]:
108
+ """
109
+ 查询未关闭状态的平台公告-不分页
110
+
111
+ """
112
+ return {}
113
+
114
+ @get('message-info')
115
+ def message_info(self, id: str) -> Union[MessageCenter, Awaitable[MessageCenter]]:
116
+ """
117
+ 查询消息详情
118
+
119
+ """
120
+ return {'param': {'id': id}}
121
+
122
+ @get('update-status-all')
123
+ def update_status_all(self, ) -> Union[bool, Awaitable[bool]]:
124
+ """
125
+ 全部已读
126
+
127
+ """
128
+ return {}
129
+
130
+
131
+ class MessageService(ChildAPI):
132
+ endpoint = '/message-service'
133
+
134
+ @post('push-email-message')
135
+ def push_email_message(self, requestVO: MsgPushHasAttachmentRequestVO) -> Union[SendEmailResultVO, Awaitable[SendEmailResultVO]]:
136
+ """
137
+ 邮件消息推送接口
138
+
139
+ """
140
+ return {'body': requestVO}
141
+
142
+ @post('push-plat-notice')
143
+ def push_plat_notice(self, requestVO: MsgPushBaseRequestVO) -> Union[SendPlatMsgResultVO, Awaitable[SendPlatMsgResultVO]]:
144
+ """
145
+ 平台公告推送接口
146
+
147
+ """
148
+ return {'body': requestVO}
149
+
150
+ @post('push-sms-message')
151
+ def push_sms_message(self, requestVO: MsgPushBaseRequestVO) -> Union[SmsSendResultVO, Awaitable[SmsSendResultVO]]:
152
+ """
153
+ 短信消息推送接口
154
+
155
+ """
156
+ return {'body': requestVO}
157
+
158
+ @post('push-station-message')
159
+ def push_station_message(self, requestVO: MsgPushHasAttachmentRequestVO) -> Union[SendPlatMsgResultVO, Awaitable[SendPlatMsgResultVO]]:
160
+ """
161
+ 站内消息推送接口
162
+
163
+ """
164
+ return {'body': requestVO}
165
+
166
+ @post('send-email')
167
+ def send_email(self, requestVO: EmailPushRequestVO) -> Union[SendEmailResultVO, Awaitable[SendEmailResultVO]]:
168
+ """
169
+ 发送邮件服务接口-传邮箱地址
170
+
171
+ 发送邮件服务接口
172
+ """
173
+ return {'body': requestVO}
174
+
175
+ @post('send-sms')
176
+ def send_sms(self, requestVO: SmsPushRequestVO) -> Union[SmsSendResultVO, Awaitable[SmsSendResultVO]]:
177
+ """
178
+ 发送短信服务接口-传手机号码
179
+
180
+ 发送短信服务接口
181
+ """
182
+ return {'body': requestVO}
183
+
184
+
185
+ class MessageTemplate(ChildAPI):
186
+ endpoint = '/message-template'
187
+
188
+ @post('add')
189
+ def add(self, messageTemplate: MessageTemplate) -> Union[Any, Awaitable[Any]]:
190
+ """
191
+ 消息模板新增接口
192
+
193
+ """
194
+ return {'body': messageTemplate}
195
+
196
+ @post('get-template-param')
197
+ def get_template_param(self, queryDto: MessageTemplateParamListQueryDto) -> Union[MessageTemplateParamResp, Awaitable[MessageTemplateParamResp]]:
198
+ """
199
+ 消息模板参数分页查询接口
200
+
201
+ """
202
+ return {'body': queryDto}
203
+
204
+ @get('info')
205
+ def info(self, id: int = None) -> Union[MessageTemplateDTO, Awaitable[MessageTemplateDTO]]:
206
+ """
207
+ 消息模板详情接口
208
+
209
+ """
210
+ return {'param': {'id': id}}
211
+
212
+ @post('page')
213
+ def page(self, queryDto: MessageTemplateListQueryDto) -> Union[MessageTemplateListVOResp, Awaitable[MessageTemplateListVOResp]]:
214
+ """
215
+ 消息模板分页查询接口
216
+
217
+ """
218
+ return {'body': queryDto}
219
+
220
+ @post('update')
221
+ def update(self, messageTemplate: MessageTemplate) -> Union[Any, Awaitable[Any]]:
222
+ """
223
+ 消息模板编辑接口
224
+
225
+ """
226
+ return {'body': messageTemplate}
227
+
228
+
229
+ class SysModuleAPI(ChildAPI):
230
+ endpoint = '/module'
231
+
232
+ @post('get-server-name')
233
+ def get_server_name(self, moduleIdList: List[str]) -> Union[List[ModuleServerVO], Awaitable[List[ModuleServerVO]]]:
234
+ """
235
+ 根据组件id查询服务名与版本号接口
236
+
237
+ 根据组件id查询组件对应服务名与版本号
238
+ """
239
+ return {'body': moduleIdList}
240
+
241
+ @post('install-module')
242
+ def install_module(self, installModuleDTO: InstallModuleDTO) -> Union[int, Awaitable[int]]:
243
+ """
244
+ 组件登记基本信息接口
245
+
246
+ 组件服务启用时安装组件相关信息,包含组件名称多语言、支持协议信息、使用
247
+ 协议信息、自动创建协议信息、组件操作前置和后置通知信息、元素支持和默认
248
+ 语言信息、元素升级信息等,注意禁止出现组件依赖本身的情况出现
249
+ """
250
+ return {'body': installModuleDTO}
251
+
252
+ @post('judge-module-exist')
253
+ def judge_module_exist(self, moduleIdList: List[str]) -> Union[List[ModuleExistVO], Awaitable[List[ModuleExistVO]]]:
254
+ """
255
+ 查询组件id是否存在接口
256
+
257
+ 根据组件id查询对应组件是否存在
258
+ """
259
+ return {'body': moduleIdList}
260
+
261
+ @get('module-elementary-info')
262
+ def module_elementary_info(self, moduleIds: List[str]) -> Union[List[ModuleElementaryInfoVO], Awaitable[List[ModuleElementaryInfoVO]]]:
263
+ """
264
+ 根据moduleId查询基本信息接口
265
+
266
+ """
267
+ return {'param': {'moduleIds': moduleIds}}
268
+
269
+ @get('module-info-list')
270
+ def module_info_list(self, moduleIds: List[str]) -> Union[List[ModuleInfoDTO], Awaitable[List[ModuleInfoDTO]]]:
271
+ """
272
+ 批量查询组件信息接口
273
+
274
+ 批量查询-根据组件id查询组件信息
275
+ """
276
+ return {'param': {'moduleIds': moduleIds}}
277
+
278
+ @post('query-module-name')
279
+ def query_module_name(self, elModuleName: str = None, moduleInfoList: List[ModuleInfo] = None) -> Union[List[ModuleInfo], Awaitable[List[ModuleInfo]]]:
280
+ """
281
+ 根据不同条件查询组件信息接口
282
+
283
+ 功能一:根据elModuleName模糊查询组件信息;功能二:根据
284
+ moduleType和moduleVersion精确查询组件信息
285
+ """
286
+ return {'body': moduleInfoList, 'param': {'elModuleName': elModuleName}}
287
+
288
+ @get('space-register-module')
289
+ def space_register_module(self, spaceId: str) -> Union[List[RegisterModuleVO], Awaitable[List[RegisterModuleVO]]]:
290
+ """
291
+ 获取所有组件列表以及协议关联的其他组件接口
292
+
293
+ 获取所有组件列表以及组件支持协议、使用协议、自动创建协议关联的其他组件
294
+ ,包含组件所关联的下一层级的组件信息
295
+ """
296
+ return {'param': {'spaceId': spaceId}}
297
+
298
+
299
+ class Space(ChildAPI):
300
+ endpoint = '/space'
301
+
302
+ @get('get-tenant-code')
303
+ def get_tenant_code(self, ) -> Union[str, Awaitable[str]]:
304
+ """
305
+ 获取空间所属企业编码
306
+
307
+ 获取空间企业编码
308
+ """
309
+ return {}
310
+
311
+
312
+ class SystemAPI(RootAPI):
313
+ """系统服务接口"""
314
+ prefix = lambda: OPTION.server.system
315
+
316
+ @cached_property
317
+ def data_source(self) -> SysDataSourceAPI:
318
+ """
319
+ 空间数据源相关接口
320
+ """
321
+ return SysDataSourceAPI(self)
322
+
323
+ @cached_property
324
+ def jdbcpassword(self) -> JdbcPassword:
325
+ """
326
+ 数据源密码加密解密接口
327
+ """
328
+ return JdbcPassword(self)
329
+
330
+ @cached_property
331
+ def extra(self) -> Extra:
332
+ """
333
+ 平台作业相关接口
334
+ """
335
+ return Extra(self)
336
+
337
+ @cached_property
338
+ def msg_center(self) -> MessageCenter:
339
+ """
340
+ 消息中心
341
+ """
342
+ return MessageCenter(self)
343
+
344
+ @cached_property
345
+ def msg_service(self) -> MessageService:
346
+ """
347
+ 消息推送
348
+ """
349
+ return MessageService(self)
350
+
351
+ @cached_property
352
+ def msg_template(self) -> MessageTemplate:
353
+ """
354
+ 消息模板
355
+ """
356
+ return MessageTemplate(self)
357
+
358
+ @cached_property
359
+ def module(self) -> SysModuleAPI:
360
+ """
361
+ 组件相关接口
362
+ """
363
+ return SysModuleAPI(self)
364
+
365
+ @cached_property
366
+ def space(self) -> Space:
367
+ """
368
+ 空间管理相关接口
369
+ """
370
+ return Space(self)
371
+
372
+
@@ -0,0 +1,154 @@
1
+ """
2
+ APIs provided by variable-server1-0
3
+
4
+ generated by model_code_gen.py
5
+ - **filename** : ``variable.py``
6
+ - **json timestamp** : ``2021-11-30 17:36:47``
7
+ """
8
+ from .base import get, post, DynamicRootAPI, ChildAPI
9
+ from .models.variable import *
10
+ from deepfos.lib.decorator import cached_property
11
+ from typing import List, Dict, Union, Any, Awaitable
12
+
13
+
14
+ __all__ = ['VariableAPI']
15
+
16
+
17
+ class Extra(ChildAPI):
18
+ endpoint = '/'
19
+
20
+ @get('server-check')
21
+ def server_check(self, ) -> Union[Any, Awaitable[Any]]:
22
+ """
23
+ 服务可用性校验功能
24
+
25
+ 项目启动后,校验各个参数,依赖服务等各种依赖是否完整,便于及时查看问题
26
+ """
27
+ return {}
28
+
29
+ @get('server-config-params')
30
+ def server_config_params(self, ) -> Union[dict, Awaitable[dict]]:
31
+ """
32
+ serverConfigParams
33
+
34
+ """
35
+ return {}
36
+
37
+
38
+ class ExternalAPI(ChildAPI):
39
+ endpoint = '/variable-api'
40
+
41
+ @get('')
42
+ def list_variable(self, folderId: str, elementName: str, path: str = None, scope: int = None) -> Union[VariableNameListVO, Awaitable[VariableNameListVO]]:
43
+ """
44
+ 对外提供变量名列表接口
45
+
46
+ """
47
+ return {
48
+ 'param': {
49
+ 'elementName': elementName,
50
+ 'folderId': folderId,
51
+ 'path': path,
52
+ 'scope': scope,
53
+ },
54
+ }
55
+
56
+ @post('get/variable-value/batch')
57
+ def batch_variable_value(self, variableValueBatchDTOList: List[VariableValueBatchDTO]) -> Union[List[VariableBatchVO], Awaitable[List[VariableBatchVO]]]:
58
+ """
59
+ 根据多个变量元素的多个变量名称查询变量对应值
60
+
61
+ """
62
+ return {'body': variableValueBatchDTOList}
63
+
64
+ @get('variable-value')
65
+ def variable_value(self, name: str, elementName: str = None, folderId: str = None, path: str = None) -> Union[VariableValueVO, Awaitable[VariableValueVO]]:
66
+ """
67
+ 根据变量名称获取变量对应值
68
+
69
+ """
70
+ return {
71
+ 'param': {
72
+ 'elementName': elementName,
73
+ 'folderId': folderId,
74
+ 'name': name,
75
+ 'path': path,
76
+ },
77
+ }
78
+
79
+
80
+ class ElementAPI(ChildAPI):
81
+ endpoint = '/variable-element'
82
+
83
+ @get('check-table')
84
+ def check_table(self, elementName: str, folderId: str = None, path: str = None) -> Union[bool, Awaitable[bool]]:
85
+ """
86
+ 校验变量元素数据表是否存在
87
+
88
+ """
89
+ return {'param': {'elementName': elementName, 'folderId': folderId, 'path': path}}
90
+
91
+ @post('save-variables')
92
+ def save(self, saveVariavlesDTO: SaveVariavlesDTO) -> Union[bool, Awaitable[bool]]:
93
+ """
94
+ 保存变量数据接口
95
+
96
+ """
97
+ return {'body': saveVariavlesDTO}
98
+
99
+ @post('update-variables')
100
+ def update(self, updateVariavlesDTO: UpdateVariavlesDTO) -> Union[bool, Awaitable[bool]]:
101
+ """
102
+ 更新变量数据接口
103
+
104
+ """
105
+ return {'body': updateVariavlesDTO}
106
+
107
+ @post('variable-list')
108
+ def list(self, variableApiDTOList: List[VariableApiDTO]) -> Union[VariableElementVO, Awaitable[VariableElementVO]]:
109
+ """
110
+ 查询变量元素成员接口
111
+
112
+ """
113
+ return {'body': variableApiDTOList}
114
+
115
+ @get('variables')
116
+ def query(self, elementName: str, folderId: str = None, path: str = None) -> Union[VariableVO, Awaitable[VariableVO]]:
117
+ """
118
+ 变量列表接口
119
+
120
+ """
121
+ return {'param': {'elementName': elementName, 'folderId': folderId, 'path': path}}
122
+
123
+
124
+ class VariableAPI(DynamicRootAPI, builtin=True):
125
+ """变量组件接口"""
126
+ module_type = 'VAR'
127
+ default_version = (1, 0)
128
+ multi_version = False
129
+ cls_name = 'VariableAPI'
130
+ module_name = 'deepfos.api.variable'
131
+ api_version = (1, 0)
132
+
133
+ @cached_property
134
+ def extra(self) -> Extra:
135
+ """
136
+ 菜单校验服务可用性
137
+ """
138
+ return Extra(self)
139
+
140
+ @cached_property
141
+ def external(self) -> ExternalAPI:
142
+ """
143
+ 外部组件访问变量相关接口
144
+ """
145
+ return ExternalAPI(self)
146
+
147
+ @cached_property
148
+ def variable(self) -> ElementAPI:
149
+ """
150
+ 变量视图
151
+ """
152
+ return ElementAPI(self)
153
+
154
+