deepfos 1.1.38__tar.gz → 1.1.40__tar.gz
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.
- {deepfos-1.1.38 → deepfos-1.1.40}/CHANGELOG.md +12 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/PKG-INFO +1 -1
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/__init__.py +1 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/_version.py +3 -3
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/account.py +12 -1
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/account.py +45 -2
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/deepmodel.py +1 -1
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/sysutils.py +38 -2
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos.egg-info/PKG-INFO +1 -1
- {deepfos-1.1.38 → deepfos-1.1.40}/.gitattributes +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/.gitee/ISSUE_GUIDELINES.md +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/.gitee/ISSUE_TEMPLATE.md +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/.gitignore +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/MANIFEST.in +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/README.md +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/algo/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/algo/graph.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/V1_1/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/V1_1/business_model.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/V1_1/dimension.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/V1_1/models/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/V1_1/models/business_model.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/V1_1/models/dimension.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/V1_2/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/V1_2/dimension.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/V1_2/models/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/V1_2/models/dimension.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/accounting_engines.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/app.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/approval_process.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/base.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/business_model.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/consolidation.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/consolidation_process.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/datatable.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/deepconnector.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/deepfos_task.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/deepmodel.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/dimension.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/financial_model.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/journal_model.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/journal_template.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/memory_financial_model.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/accounting_engines.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/app.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/approval_process.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/base.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/business_model.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/consolidation.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/consolidation_process.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/datatable_mysql.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/deepconnector.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/deepfos_task.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/deepmodel.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/dimension.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/financial_model.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/journal_model.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/journal_template.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/memory_financial_model.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/platform.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/python.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/reconciliation_engine.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/reconciliation_report.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/role_strategy.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/smartlist.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/space.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/system.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/variable.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/models/workflow.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/platform.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/python.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/reconciliation_engine.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/reconciliation_report.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/role_strategy.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/smartlist.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/space.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/system.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/variable.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/api/workflow.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/boost/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/boost/jstream.c +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/boost/jstream.pyx +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/boost/pandas.c +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/boost/pandas.pyx +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/boost/py_jstream.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/boost/py_pandas.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/cache.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/config.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/cube/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/cube/_base.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/cube/constants.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/cube/cube.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/cube/formula.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/cube/syscube.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/cube/typing.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/cube/utils.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/dimension/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/dimension/_base.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/dimension/dimcreator.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/dimension/dimension.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/dimension/dimexpr.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/dimension/dimmember.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/dimension/eledimension.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/dimension/filters.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/dimension/sysdimension.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/logictable/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/logictable/_cache.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/logictable/_operator.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/logictable/nodemixin.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/logictable/sqlcondition.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/core/logictable/tablemodel.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/cipher.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/clickhouse.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/connector.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/daclickhouse.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/dameng.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/damysql.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/dbkits.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/deepengine.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/deepmodel.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/deepmodel_kingbase.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/edb.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/gauss.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/kingbase.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/mysql.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/oracle.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/postgresql.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/sqlserver.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/db/utils.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/accounting.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/apvlprocess.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/base.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/bizmodel.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/datatable.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/deepconnector.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/dimension.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/fact_table.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/finmodel.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/journal.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/journal_template.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/pyscript.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/reconciliation.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/rolestrategy.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/smartlist.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/variable.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/element/workflow.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/exceptions/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/exceptions/hook.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lazy.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/__init__.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/_javaobj.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/asynchronous.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/concurrency.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/constant.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/decorator.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/deepchart.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/deepux.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/discovery.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/eureka.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/filterparser.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/httpcli.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/jsonstreamer.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/msg.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/nacos.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/patch.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/redis.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/serutils.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/stopwatch.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/subtask.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/lib/utils.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/local.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/options.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos/translation.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos.egg-info/SOURCES.txt +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos.egg-info/dependency_links.txt +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos.egg-info/not-zip-safe +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos.egg-info/requires.txt +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/deepfos.egg-info/top_level.txt +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/requirements.txt +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/setup.cfg +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/setup.py +0 -0
- {deepfos-1.1.38 → deepfos-1.1.40}/versioneer.py +0 -0
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2024-07-
|
|
11
|
+
"date": "2024-07-23T02:39:33+0000",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "1.1.
|
|
14
|
+
"full-revisionid": "3e90e105e5c58d7b9a248b89626c7c9ae2d93173",
|
|
15
|
+
"version": "1.1.40"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -3,7 +3,7 @@ APIs provided by system-login-api
|
|
|
3
3
|
|
|
4
4
|
generated by api_code_gen.py
|
|
5
5
|
- **filename** : ``account.py``
|
|
6
|
-
- **json timestamp** : ``
|
|
6
|
+
- **json timestamp** : ``2024-07-16 14:17:08``
|
|
7
7
|
"""
|
|
8
8
|
from deepfos.api.base import RootAPI, ChildAPI, get, post
|
|
9
9
|
from .models.account import *
|
|
@@ -68,6 +68,17 @@ class ApiUserGroup(ChildAPI):
|
|
|
68
68
|
'header': {"enterprise-id": sysutils.get_enterprise_id_cached()},
|
|
69
69
|
'param': {'groupId': groupId, 'spaceId': spaceId},
|
|
70
70
|
}
|
|
71
|
+
|
|
72
|
+
@post('space/modify-group')
|
|
73
|
+
def space_modify_group(self, userGroupModifyDTO: UserGroupModifyDTO) -> Union[bool, Awaitable[bool]]:
|
|
74
|
+
"""
|
|
75
|
+
用户组详情修改
|
|
76
|
+
|
|
77
|
+
"""
|
|
78
|
+
return {
|
|
79
|
+
'body': userGroupModifyDTO,
|
|
80
|
+
'header': {"enterprise-id": sysutils.get_enterprise_id_cached()},
|
|
81
|
+
}
|
|
71
82
|
|
|
72
83
|
|
|
73
84
|
class UserImport(ChildAPI):
|
|
@@ -3,7 +3,7 @@ Models used by /
|
|
|
3
3
|
|
|
4
4
|
generated by model_code_gen.py
|
|
5
5
|
- **filename** : ``account.py``
|
|
6
|
-
- **json timestamp** : ``
|
|
6
|
+
- **json timestamp** : ``2024-07-16 14:17:08``
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
9
|
|
|
@@ -17,6 +17,7 @@ __all__ = [
|
|
|
17
17
|
'ImportSendEmailDTO',
|
|
18
18
|
'ImportUserErrorDTO',
|
|
19
19
|
'PlatFormSecretVO',
|
|
20
|
+
'RoleInfoDetailSaveDTO',
|
|
20
21
|
'SpaceVO',
|
|
21
22
|
'UserGroupChildrenVO',
|
|
22
23
|
'UserGroupImportDTO',
|
|
@@ -26,11 +27,13 @@ __all__ = [
|
|
|
26
27
|
'UserImportDTO',
|
|
27
28
|
'UserInfoVO',
|
|
28
29
|
'UserRoleImportDTO',
|
|
30
|
+
'UserRoleInfoSaveDTO',
|
|
29
31
|
'ImportUserListParamsUserGroupImportDTO',
|
|
30
32
|
'ImportUserListParamsUserGroupRelationshipDTO',
|
|
31
33
|
'ImportUserListParamsUserImportDTO',
|
|
32
34
|
'ImportUserListParamsUserRoleImportDTO',
|
|
33
|
-
'UserGroupDetailVO'
|
|
35
|
+
'UserGroupDetailVO',
|
|
36
|
+
'UserGroupModifyDTO'
|
|
34
37
|
]
|
|
35
38
|
|
|
36
39
|
|
|
@@ -115,6 +118,15 @@ class PlatFormSecretVO(BaseModel):
|
|
|
115
118
|
platformSecret: Optional[str]
|
|
116
119
|
|
|
117
120
|
|
|
121
|
+
class RoleInfoDetailSaveDTO(BaseModel):
|
|
122
|
+
#: 父级角色编码
|
|
123
|
+
code: str
|
|
124
|
+
#: 选中的角色code
|
|
125
|
+
roleList: List[str]
|
|
126
|
+
#: 父级标识
|
|
127
|
+
tag: str
|
|
128
|
+
|
|
129
|
+
|
|
118
130
|
class SpaceVO(BaseModel):
|
|
119
131
|
"""Space VO
|
|
120
132
|
|
|
@@ -322,6 +334,13 @@ class UserRoleImportDTO(BaseModel):
|
|
|
322
334
|
username: Optional[str]
|
|
323
335
|
|
|
324
336
|
|
|
337
|
+
class UserRoleInfoSaveDTO(BaseModel):
|
|
338
|
+
#: 角色列表
|
|
339
|
+
children: Optional[List[RoleInfoDetailSaveDTO]]
|
|
340
|
+
#: 平台code
|
|
341
|
+
platformCode: str
|
|
342
|
+
|
|
343
|
+
|
|
325
344
|
class ImportUserListParamsUserGroupImportDTO(BaseModel):
|
|
326
345
|
"""Import User List Params DTO«User Group Import DTO»
|
|
327
346
|
|
|
@@ -437,4 +456,28 @@ class UserGroupDetailVO(BaseModel):
|
|
|
437
456
|
userList: Optional[List[UserInfoVO]]
|
|
438
457
|
|
|
439
458
|
|
|
459
|
+
class UserGroupModifyDTO(BaseModel):
|
|
460
|
+
"""User Group Modify DTO
|
|
461
|
+
|
|
462
|
+
.. admonition:: 引用接口
|
|
463
|
+
|
|
464
|
+
- **POST** ``/api/user/group/space/modify-group``
|
|
465
|
+
- **POST** ``/s/user/group/space/modify-group-batch``
|
|
466
|
+
"""
|
|
467
|
+
#: 子组列表
|
|
468
|
+
childrenGroupIdList: Optional[List[str]]
|
|
469
|
+
#: 描述
|
|
470
|
+
description: Optional[Any]
|
|
471
|
+
#: 用户组id
|
|
472
|
+
groupId: str
|
|
473
|
+
#: 用户组名
|
|
474
|
+
groupName: str
|
|
475
|
+
#: 空间
|
|
476
|
+
spaceId: Optional[str]
|
|
477
|
+
#: 用户id
|
|
478
|
+
userList: Optional[List[str]]
|
|
479
|
+
#: 角色列表
|
|
480
|
+
userRoleInfoSaveDTOList: Optional[List[UserRoleInfoSaveDTO]]
|
|
481
|
+
|
|
482
|
+
|
|
440
483
|
|
|
@@ -420,7 +420,7 @@ class ObjectStructure:
|
|
|
420
420
|
self.fields = {
|
|
421
421
|
field.name: FieldFactory(field)
|
|
422
422
|
for field in structure
|
|
423
|
-
if not field.computable and field.name != 'id'
|
|
423
|
+
if not field.computable and field.name != 'id'
|
|
424
424
|
}
|
|
425
425
|
# Make one for batch insert pg
|
|
426
426
|
if include_id:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""系统相关工具类/函数"""
|
|
2
|
-
|
|
2
|
+
import asyncio
|
|
3
3
|
import base64
|
|
4
4
|
import gzip
|
|
5
5
|
import itertools
|
|
@@ -8,7 +8,7 @@ import time
|
|
|
8
8
|
from datetime import datetime
|
|
9
9
|
from enum import Enum
|
|
10
10
|
from io import TextIOWrapper
|
|
11
|
-
from typing import Dict, Any, Union, List, IO, TypeVar
|
|
11
|
+
from typing import Dict, Any, Union, List, IO, TypeVar, Optional
|
|
12
12
|
import pandas as pd
|
|
13
13
|
import math
|
|
14
14
|
import hashlib
|
|
@@ -23,6 +23,7 @@ from deepfos.api.models.deepfos_task import (
|
|
|
23
23
|
PeriodicTaskCreateInfo, ScheduledTaskCreateInfo
|
|
24
24
|
)
|
|
25
25
|
from deepfos.element.base import ElementBase
|
|
26
|
+
from .asynchronous import evloop
|
|
26
27
|
from .utils import split_dataframe
|
|
27
28
|
from deepfos.options import OPTION
|
|
28
29
|
from deepfos.api.models import BaseModel
|
|
@@ -33,6 +34,7 @@ from deepfos.api.system import SystemAPI
|
|
|
33
34
|
from deepfos.api import account as acc_api
|
|
34
35
|
from deepfos.api.models import account as account_model
|
|
35
36
|
from deepfos.cache import SpaceSeperatedLRUCache
|
|
37
|
+
from deepfos.api.models.account import UserGroupModifyDTO
|
|
36
38
|
|
|
37
39
|
_VALUE_KEY = 'value'
|
|
38
40
|
_DTNAME_KEY = 'dataTableName'
|
|
@@ -665,3 +667,37 @@ def resolve_account_api_extra_header():
|
|
|
665
667
|
'timestamp': timestamp,
|
|
666
668
|
'sign': calc_account_api_signature(timestamp, platform_secret, platform_code)
|
|
667
669
|
}
|
|
670
|
+
|
|
671
|
+
|
|
672
|
+
def batch_modify_user_group(payloads: List[UserGroupModifyDTO], max_worker: int = None):
|
|
673
|
+
"""批量调用用户中心用户组详情修改接口
|
|
674
|
+
|
|
675
|
+
Args:
|
|
676
|
+
payloads: 符合UserGroupModifyDTO定义的列表,将直接用作接口请求体
|
|
677
|
+
max_worker: 最大并发数
|
|
678
|
+
|
|
679
|
+
Returns: 与请求体顺序一致的返回结果列表
|
|
680
|
+
|
|
681
|
+
"""
|
|
682
|
+
if max_worker is not None:
|
|
683
|
+
if max_worker <= 0:
|
|
684
|
+
raise ValueError('max_worker must be > 0 ')
|
|
685
|
+
else:
|
|
686
|
+
max_worker = len(payloads)
|
|
687
|
+
|
|
688
|
+
result: List[Optional[bool]] = [None] * len(payloads)
|
|
689
|
+
api = acc_api.AccountAPI(sync=False).user_group.space_modify_group
|
|
690
|
+
|
|
691
|
+
async def call_api(idx: int, p: UserGroupModifyDTO, sem: asyncio.Semaphore):
|
|
692
|
+
async with sem:
|
|
693
|
+
result[idx] = await api(p)
|
|
694
|
+
|
|
695
|
+
async def inner():
|
|
696
|
+
semaphore = asyncio.Semaphore(max_worker)
|
|
697
|
+
await asyncio.gather(*(
|
|
698
|
+
call_api(idx, payload, semaphore)
|
|
699
|
+
for idx, payload in enumerate(payloads)
|
|
700
|
+
))
|
|
701
|
+
|
|
702
|
+
evloop.run(inner())
|
|
703
|
+
return result
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|