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
@@ -0,0 +1,341 @@
1
+ """
2
+ APIs provided by data-table-mysql-server1-0
3
+
4
+ generated by model_code_gen.py
5
+ - **filename** : ``data_table_mysql.py``
6
+ - **json timestamp** : ``2021-06-29 10:49:22``
7
+ """
8
+ from .base import get, post, DynamicRootAPI, ChildAPI
9
+ from .models.datatable_mysql import *
10
+ from deepfos.lib.decorator import cached_property
11
+ from typing import List, Dict, Union, Any, Awaitable
12
+
13
+
14
+ __all__ = ['MySQLAPI', 'ClickHouseAPI', 'SQLServerAPI', 'OracleAPI',
15
+ 'KingBaseAPI', 'GaussAPI', 'DaMengAPI', 'PostgreSQLAPI',
16
+ 'DeepEngineAPI', 'DeepModelAPI', 'DeepModelKingBaseAPI']
17
+
18
+
19
+ class DDLAPI(ChildAPI):
20
+ endpoint = '/datatable-edit-view'
21
+
22
+ @post('column-add')
23
+ def column_add(self, datatableColumnAddDTO: DatatableColumnAddDTO) -> Union[Any, Awaitable[Any]]:
24
+ """
25
+ 新增列字段信息(后端组件调用)
26
+
27
+ 给数据表新增列信息(后端组件调用)
28
+ """
29
+ return {'body': datatableColumnAddDTO}
30
+
31
+ @post('datatable-save')
32
+ def create_table(self, param: DatatableInfoSaveParam) -> Union[DatatableInfoSaveParam, Awaitable[DatatableInfoSaveParam]]:
33
+ """
34
+ 数据表新建&编辑(后端组件调用)
35
+
36
+ """
37
+ return {'body': param}
38
+
39
+ @post('datatable-save-edit')
40
+ def datatable_save_edit(self, param: DatatableInfoSaveParam) -> Union[DatatableInfoSaveParam, Awaitable[DatatableInfoSaveParam]]:
41
+ """
42
+ 数据表新建&编辑(前端调用)
43
+
44
+ """
45
+ return {'body': param}
46
+
47
+ @post('generateActualTableName')
48
+ def generateActualTableName(self, param: GenerateActualTableNameDTO) -> Union[Any, Awaitable[Any]]:
49
+ """
50
+ 根据tableName生成ActualTableName
51
+
52
+ """
53
+ return {'body': param}
54
+
55
+ @post('only-check')
56
+ def only_check(self, param: DatatableInfoSaveParam) -> Union[DatatableInfoSaveParam, Awaitable[DatatableInfoSaveParam]]:
57
+ """
58
+ 数据表编辑--仅校验(后端组件调用)
59
+
60
+ 数据表保存、编辑前的仅校验接口(后端组件调用)
61
+ """
62
+ return {'body': param}
63
+
64
+ @post('only-save')
65
+ def only_save(self, param: DatatableInfoSaveParam) -> Union[DatatableInfoSaveParam, Awaitable[DatatableInfoSaveParam]]:
66
+ """
67
+ 数据表编辑--仅保存(后端组件调用,新建时实际表名的末尾加随机数)
68
+
69
+ 数据表保存、编辑前的仅保存接口(后端组件调用,新建时实际表名的末尾加随
70
+ 机数)
71
+ """
72
+ return {'body': param}
73
+
74
+ @post('only-save-edit')
75
+ def only_save_edit(self, param: DatatableInfoSaveParam) -> Union[DatatableInfoSaveParam, Awaitable[DatatableInfoSaveParam]]:
76
+ """
77
+ 数据表编辑--仅保存(后端组件调用,带实际表名就不做任何处理)
78
+
79
+ 数据表保存、编辑前的仅保存接口(后端组件调用,带实际表名就不做任何处理
80
+
81
+ """
82
+ return {'body': param}
83
+
84
+
85
+ class DMLAPI(ChildAPI):
86
+ endpoint = '/datatable'
87
+
88
+ @post('actual-tablename')
89
+ def get_tablename(self, table_info: BaseElementInfo) -> Union[str, Awaitable[str]]:
90
+ """
91
+ 获取数据表实际表名
92
+
93
+ 通过elementName,folderId从元素信息获取数据表实际表
94
+
95
+ """
96
+ return {'body': table_info}
97
+
98
+ @post('batch-actual-tablename')
99
+ def batch_tablename(self, paramList: List[BaseElementInfo]) -> Union[dict, Awaitable[dict]]:
100
+ """
101
+ 根据元素名称批量获取实际表名
102
+
103
+ """
104
+ return {'body': paramList}
105
+
106
+ @post('column-list')
107
+ def list_column(self, table_name: str) -> Union[Any, Awaitable[Any]]:
108
+ """
109
+ 返回数据表字段列表信息
110
+
111
+ 根据实际表名,查询数据表字段信息
112
+ """
113
+ return {'param': {'actualTableName': table_name}}
114
+
115
+ @post('column/column-name')
116
+ def column_column_name(self, param: DatatableColumnInfoDTO) -> Union[MiscModel, Awaitable[MiscModel]]:
117
+ """
118
+ 根据列名获取数据表的Column信息
119
+
120
+ 根据列名获取列表的详细信息
121
+ """
122
+ return {'body': param}
123
+
124
+ @post('custom-sql')
125
+ def run_sql(self, sql: str) -> Union[CustomSqlRespDTO, Awaitable[CustomSqlRespDTO]]:
126
+ """
127
+ 自定义SQL执行(后端调用)--增删改查,支持多表联合查询
128
+ """
129
+ return {'body': {'sql': sql}}
130
+
131
+ @post('data-diff')
132
+ def data_diff(self, param: DatatableInfoBasicInfoDTO) -> Union[str, Awaitable[str]]:
133
+ """
134
+ 判断数据表与实际表是否一致
135
+
136
+ 判断数据表组件元素配置信息和实际物理数据表字段信息是否一致
137
+ """
138
+ return {'body': param}
139
+
140
+ @post('datatable-info-batch')
141
+ def datatable_info_batch(self, param: List[BaseElementInfo]) -> Union[List[DatatableInfoBasicInfoDTO], Awaitable[List[DatatableInfoBasicInfoDTO]]]:
142
+ """
143
+ 批量获取数据表信息
144
+
145
+ 批量通过elementName,folderId从元素信息获取数据表信
146
+
147
+ """
148
+ return {'body': param}
149
+
150
+ @post('delete-data')
151
+ def delete_data(self, param: DatatableDataDeleteDTO) -> Union[bool, Awaitable[bool]]:
152
+ """
153
+ 删除数据表中的数据
154
+
155
+ """
156
+ return {'body': param}
157
+
158
+ @post('distinct-column-members')
159
+ def distinct_column_members(self, param: DatatableInfoMemberDTO) -> Union[List[str], Awaitable[List[str]]]:
160
+ """
161
+ 查询数据表列字段,去重后的数据集合
162
+
163
+ 根据列名查询数据表,该列去重后的数据集合
164
+ """
165
+ return {'body': param}
166
+
167
+ @post('execute-sql')
168
+ def execute_sql(self, datatableSelectDTO: DatatableSelectDTO) -> Union[Any, Awaitable[Any]]:
169
+ """
170
+ 查询数据表数据
171
+
172
+ 执行查询sql查询数据表的数据
173
+ """
174
+ return {'body': datatableSelectDTO}
175
+
176
+ @post('executeBatchSql')
177
+ def execute_batch_sql(self, sqls: List[str]):
178
+ """
179
+ 执行多句增删改sql
180
+
181
+ Args:
182
+ sqls: 查询sql
183
+ """
184
+ return {'body': {
185
+ "elementBaseInfoParamMap": {},
186
+ "batchSql": sqls,
187
+ },
188
+ }
189
+
190
+ @post('insert')
191
+ def insert(self, param: DatatableInsertDTO) -> Union[bool, Awaitable[bool]]:
192
+ """
193
+ 向数据表中写入数据
194
+
195
+ """
196
+ return {'body': param}
197
+
198
+ @post('physical-table-exist')
199
+ def physical_table_exist(self, param: PhysicalTableExistDTO) -> Union[str, Awaitable[str]]:
200
+ """
201
+ 根据元素信息或者直接通过传参的实际表名,判断对应的物理数据表是否存在
202
+
203
+ 优先通过元素信息获取到实际表名后,再判断物理表是否存在
204
+ """
205
+ return {'body': param}
206
+
207
+ @post('table-ifexists')
208
+ def table_ifexists(self, param: DatatableInfoCheckDTO) -> Union[bool, Awaitable[bool]]:
209
+ """
210
+ 数据表是否存在
211
+
212
+ 根据数据表名称判断数据表是否存在
213
+ """
214
+ return {'body': param}
215
+
216
+ @post('table-ifexists-physical')
217
+ def table_ifexists_physical(self, param: DatatableInfoCheckDTO) -> Union[bool, Awaitable[bool]]:
218
+ """
219
+ 只判断物理数据表是否存在
220
+
221
+ 根据数据表名称,只判断物理数据表是否存在
222
+ """
223
+ return {'body': param}
224
+
225
+ @post('table-info-field')
226
+ def table_info_field(self, elementList: List[BaseElementInfo]) -> Union[List[DatatableInfoBasicInfoDTO], Awaitable[List[DatatableInfoBasicInfoDTO]]]:
227
+ """
228
+ 获取数据表元素信息(从平台获取信息)
229
+
230
+ 返回数据表所有元素配置信息(从平台获取信息)
231
+ """
232
+ return {'body': elementList}
233
+
234
+ @post('table-info-field-physical')
235
+ def table_info_field_physical(self, elementList: List[BaseElementInfo]) -> Union[List[DatatableInfoBasicInfoDTO], Awaitable[List[DatatableInfoBasicInfoDTO]]]:
236
+ """
237
+ 获取数据表元素信息(从物理表获取信息)
238
+
239
+ 返回数据表所有元素配置信息(从物理表获取信息)
240
+ """
241
+ return {'body': elementList}
242
+
243
+ @post('update-data')
244
+ def update_data(self, param: DatatableDataUpdateDTO) -> Union[bool, Awaitable[bool]]:
245
+ """
246
+ 更新数据表中的数据
247
+
248
+ """
249
+ return {'body': param}
250
+
251
+ @post('account')
252
+ def create_account(self) -> Union[AccountInfo, Awaitable[AccountInfo]]:
253
+ """
254
+ 获取/更新数据库账号
255
+
256
+ """
257
+ return {'body': {"serverType": "python"}}
258
+
259
+
260
+ class MySQLAPI(DynamicRootAPI, builtin=True):
261
+ """MySQL数据表组件接口"""
262
+ module_type = 'DAT_MYSQL'
263
+ default_version = (1, 0)
264
+ multi_version = False
265
+ cls_name = 'MySQLAPI'
266
+ module_name = 'deepfos.api.datatable'
267
+ api_version = (1, 0)
268
+
269
+ @cached_property
270
+ def ddl(self) -> DDLAPI:
271
+ """
272
+ 数据表新建&编辑相关接口
273
+ """
274
+ return DDLAPI(self)
275
+
276
+ @cached_property
277
+ def dml(self) -> DMLAPI:
278
+ """
279
+ 外部组件访问数据表相关接口
280
+ """
281
+ return DMLAPI(self)
282
+
283
+
284
+ class ClickHouseAPI(MySQLAPI, builtin=True):
285
+ """ClickHouse数据表组件接口"""
286
+ module_type = 'DAT_CLICKHOUSE'
287
+ cls_name = 'ClickHouseAPI'
288
+
289
+
290
+ class SQLServerAPI(MySQLAPI, builtin=True):
291
+ """SQLServer数据表组件接口"""
292
+ module_type = 'DAT_SQLSERVER'
293
+ cls_name = 'SQLServerAPI'
294
+
295
+
296
+ class OracleAPI(MySQLAPI, builtin=True):
297
+ """Oracle数据表组件接口"""
298
+ module_type = 'DAT_ORACLE'
299
+ cls_name = 'OracleAPI'
300
+
301
+
302
+ class KingBaseAPI(MySQLAPI, builtin=True):
303
+ """KingBase数据表组件接口"""
304
+ module_type = 'DAT_KINGBASE'
305
+ cls_name = 'KingBaseAPI'
306
+
307
+
308
+ class GaussAPI(MySQLAPI, builtin=True):
309
+ """GaussDB数据表组件接口"""
310
+ module_type = 'DAT_GAUSS'
311
+ cls_name = 'GaussAPI'
312
+
313
+
314
+ class DaMengAPI(OracleAPI, builtin=True):
315
+ """达梦数据表组件接口"""
316
+ module_type = 'DAT_DAMENG'
317
+ cls_name = 'DaMengAPI'
318
+
319
+
320
+ class PostgreSQLAPI(MySQLAPI, builtin=True):
321
+ """PostgreSQL数据表组件接口"""
322
+ module_type = 'DAT_POSTGRESQL'
323
+ cls_name = 'PostgreSQLAPI'
324
+
325
+
326
+ class DeepEngineAPI(MySQLAPI, builtin=True):
327
+ """DeepEngine数据表组件接口"""
328
+ module_type = 'DAT_DEEPENGINE'
329
+ cls_name = 'DeepEngineAPI'
330
+
331
+
332
+ class DeepModelAPI(MySQLAPI, builtin=True):
333
+ """DeepModel数据表组件接口"""
334
+ module_type = 'DAT_DEEPMODEL'
335
+ cls_name = 'DeepModelAPI'
336
+
337
+
338
+ class DeepModelKingBaseAPI(MySQLAPI, builtin=True):
339
+ """DeepModel KingBase数据表组件接口"""
340
+ module_type = 'DAT_DEEPMODEL_KB'
341
+ cls_name = 'DeepModelKingBaseAPI'
@@ -0,0 +1,61 @@
1
+ from typing import Union, Any, Awaitable
2
+
3
+ from deepfos.lib.decorator import cached_property
4
+ from .base import DynamicRootAPI, ChildAPI, get, post
5
+ from .models.deep_pipeline import *
6
+
7
+ __all__ = ['DeepPipelineAPI']
8
+
9
+
10
+ class RunAPI(ChildAPI):
11
+ """数据流的执行、获取执行信息等逻辑"""
12
+ endpoint = '/'
13
+
14
+ @post('run')
15
+ def run_async(self, run_info: RunInfo) -> Union[str, Awaitable[str]]:
16
+ """
17
+ 异步执行数据流
18
+ 异步执行数据流,返回任务id
19
+ """
20
+ return {'body': run_info}
21
+
22
+ @get('run')
23
+ def result(self, task_id: str, timeout: int = None) -> Union[Any, Awaitable[Any]]:
24
+ """获取执行结果"""
25
+ return {'param': {'timeout': timeout}, 'path': f'{task_id}/result'}
26
+
27
+
28
+ class FlowAPI(ChildAPI):
29
+ """数据流定义相关接口"""
30
+ endpoint = '/flow'
31
+
32
+ @get('')
33
+ def open(self, element_name: str, folder_id: str, version: str) -> Union[FlowInfo, Awaitable[FlowInfo]]:
34
+ """查看数据流"""
35
+ return {
36
+ 'param': {
37
+ 'elementName': element_name,
38
+ 'folderId': folder_id,
39
+ 'version': version
40
+ }
41
+ }
42
+
43
+
44
+ class DeepPipelineAPI(DynamicRootAPI, builtin=True):
45
+ """DeepPipeline组件接口"""
46
+ module_type = 'DPL'
47
+ default_version = (3, 0)
48
+ multi_version = False
49
+ cls_name = 'DeepPipelineAPI'
50
+ module_name = 'deepfos.api.deep_pipeline'
51
+ api_version = (3, 0)
52
+
53
+ @cached_property
54
+ def run(self) -> RunAPI:
55
+ """数据流的执行、获取执行信息等逻辑"""
56
+ return RunAPI(self)
57
+
58
+ @cached_property
59
+ def flow(self) -> FlowAPI:
60
+ """数据流定义相关接口"""
61
+ return FlowAPI(self)
@@ -0,0 +1,36 @@
1
+ from typing import Union, Awaitable
2
+
3
+ from deepfos.element.base import T_ElementInfoWithServer
4
+ from deepfos.lib.decorator import cached_property
5
+
6
+ from .base import ChildAPI, get, RootAPI
7
+ from .models.deepconnector import *
8
+
9
+
10
+ __all__ = ['DeepConnectorAPI']
11
+
12
+
13
+ class DataSourceAPI(ChildAPI):
14
+ """连接信息相关接口"""
15
+ endpoint = '/apis/v3/ds/spaces/{space}/apps/{app}'
16
+
17
+ @get('connection-info', data_wrapped=False)
18
+ def connection_info(self, element_info: T_ElementInfoWithServer) -> Union[ConnectionInfoVo, Awaitable[ConnectionInfoVo]]:
19
+ return {
20
+ 'param': {
21
+ 'elementName': element_info.elementName,
22
+ 'folderId': element_info.folderId
23
+ }
24
+ }
25
+
26
+
27
+ class DeepConnectorAPI(RootAPI):
28
+ """连接器组件接口"""
29
+ prefix = lambda: 'http://deep-connector-server'
30
+ url_need_format = True
31
+ module_type = 'CONN'
32
+
33
+ @cached_property
34
+ def datasource(self) -> DataSourceAPI:
35
+ """连接信息相关接口"""
36
+ return DataSourceAPI(self)
@@ -0,0 +1,92 @@
1
+ """
2
+ APIs provided by deepfos-task-server
3
+
4
+ generated by api_code_gen.py
5
+ - **filename** : ``deepfos_task.py``
6
+ - **json timestamp** : ``2023-02-22 14:40:20``
7
+ """
8
+ from deepfos.api.base import RootAPI, ChildAPI, get, post
9
+ from .models.deepfos_task 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__ = ['TaskAPI']
16
+
17
+
18
+ class TaskInstance(ChildAPI):
19
+ endpoint = '/api/deepfos/task'
20
+
21
+ @post('instance/period/create')
22
+ def instance_period_create(self, periodTaskCreateDTO: PeriodicTaskCreateInfo) -> Union[PeriodicTaskViewInfo, Awaitable[PeriodicTaskViewInfo]]:
23
+ """
24
+ 创建一个周期任务实例
25
+
26
+ """
27
+ return {'body': periodTaskCreateDTO}
28
+
29
+ @post('instance/scheduled/create')
30
+ def instance_scheduled_create(self, scheduledTaskCreateDTO: ScheduledTaskCreateInfo) -> Union[ScheduledTaskViewInfo, Awaitable[ScheduledTaskViewInfo]]:
31
+ """
32
+ 创建一个定时任务实例
33
+
34
+ """
35
+ return {'body': scheduledTaskCreateDTO}
36
+
37
+ @post('search')
38
+ def search(self, taskSearchDTO: TaskSearchDTO) -> Union[List[Optional[TTaskInfo]], Awaitable[List[Optional[TTaskInfo]]]]:
39
+ """
40
+ 根据筛选条件查询任务配置
41
+
42
+ """
43
+ return {'body': taskSearchDTO}
44
+
45
+
46
+ class Job(ChildAPI):
47
+ endpoint = '/job'
48
+
49
+ @post('batch-add')
50
+ def batch_add(self, jobCreateDtoList: List[JobCreateDto]) -> Union[int, Awaitable[int]]:
51
+ """
52
+ 作业批量创建接口
53
+
54
+ """
55
+ return {'body': jobCreateDtoList}
56
+
57
+ @get('current-content')
58
+ def query_current_content(self, batchId: str = None, jobId: str = None) -> Union[List[JobCurrentContentDTO], Awaitable[List[JobCurrentContentDTO]]]:
59
+ """
60
+ 根据jobId获取等待中与运行中作业与作业明细信息
61
+
62
+ """
63
+ return {'param': {'batchId': batchId, 'jobId': jobId}}
64
+
65
+ @post('current-content')
66
+ def current_content(self, jobSearchDTO: JobSearchDTO) -> Union[JobCurrentContentDTOResp, Awaitable[JobCurrentContentDTOResp]]:
67
+ """
68
+ 根据筛选条件获取等待中与运行中作业与作业明细信息
69
+
70
+ """
71
+ return {'body': jobSearchDTO}
72
+
73
+
74
+ class TaskAPI(RootAPI):
75
+ """任务管理接口"""
76
+ prefix = lambda: OPTION.server.deepfos_task
77
+
78
+ @cached_property
79
+ def task_instance(self) -> TaskInstance:
80
+ """
81
+ 任务相关接口
82
+ """
83
+ return TaskInstance(self)
84
+
85
+ @cached_property
86
+ def job(self) -> Job:
87
+ """
88
+ 作业相关接口
89
+ """
90
+ return Job(self)
91
+
92
+