dataops-sdk 0.3.4__tar.gz → 0.3.6__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.
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/PKG-INFO +1 -1
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/__init__.py +10 -1
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/__init__.py +12 -3
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/alarm.py +45 -10
- dataops_sdk-0.3.6/src/dataops_sdk/schemas/common.py +9 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/data_table.py +1 -1
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/meta.py +79 -24
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/query.py +5 -7
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/skill.py +6 -3
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/__init__.py +18 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/alarm.py +163 -11
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/auth.py +3 -6
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/data_table.py +103 -163
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/dataset.py +10 -10
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/dict_.py +4 -6
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/meta.py +78 -145
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/metrics.py +3 -3
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/report.py +3 -3
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/skill.py +22 -12
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/table.py +233 -71
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/widget.py +5 -5
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/workflow.py +3 -3
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/session.py +98 -110
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/utils/utils.py +10 -10
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk.egg-info/PKG-INFO +1 -1
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk.egg-info/SOURCES.txt +1 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/pyproject.toml +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/setup.cfg +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/constants.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/exceptions.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/__init__.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/datasource_factory.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/schemas/nacos/__init__.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/schemas/nacos/config.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/schemas/nacos/constants.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/schemas/nacos/instance.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/schemas/nacos/nacos_exception.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/schemas/nacos/naming_param.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/schemas/nacos/naming_request.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/schemas/nacos/naming_response.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/schemas/nacos/preserved_metadata_key.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/schemas/nacos/service.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/utils/__init__.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/utils/common.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/utils/dbConn_base.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/utils/dbConn_sync.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/utils/duckdb_manager.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/utils/file_transfer_base.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/utils/ftp_file_transfer.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/utils/nacos.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/utils/neo4j_sync.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/utils/queue_base.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/utils/queue_kafka.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/runner/utils/sftp_file_transfer.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/api.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/datasource.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/dict_.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/enums.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/group.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/hazard.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/report.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/table.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/user.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/widget.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/schemas/workflow.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/api.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/datasource.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/hazard.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/services/ref.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/tiptap/__init__.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/tiptap/builder.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/tiptap/constants.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/tiptap/markdown_parser.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/tiptap/models.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/tiptap/parse_utils.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/tiptap/render_utils.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/tiptap/renderers.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/tiptap/tool.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/utils/__init__.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/utils/common.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk/utils/log.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk.egg-info/dependency_links.txt +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk.egg-info/requires.txt +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/src/dataops_sdk.egg-info/top_level.txt +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/tests/test_constants.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/tests/test_exceptions.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/tests/test_session.py +0 -0
- {dataops_sdk-0.3.4 → dataops_sdk-0.3.6}/tests/test_utils.py +0 -0
|
@@ -28,8 +28,11 @@ from .services import ( # noqa: F401
|
|
|
28
28
|
service_count_widget_by_code,
|
|
29
29
|
service_create_data_table,
|
|
30
30
|
service_create_data_table_record,
|
|
31
|
+
service_create_table_record,
|
|
31
32
|
service_delete_data_table_record_by_id,
|
|
32
33
|
service_delete_data_table_record_by_id_list,
|
|
34
|
+
service_delete_table_record_by_id,
|
|
35
|
+
service_delete_table_record_by_id_list,
|
|
33
36
|
service_exec_sql_by_datasource,
|
|
34
37
|
service_find_alarm_table_data,
|
|
35
38
|
service_find_meta_by_codes,
|
|
@@ -63,6 +66,9 @@ from .services import ( # noqa: F401
|
|
|
63
66
|
service_get_table_data_by_name,
|
|
64
67
|
service_get_table_detail_by_code,
|
|
65
68
|
service_get_table_detail_by_name,
|
|
69
|
+
service_get_table_list_by_code,
|
|
70
|
+
service_get_table_records_by_code,
|
|
71
|
+
service_get_table_total_by_code,
|
|
66
72
|
service_get_widget_data_by_code,
|
|
67
73
|
service_get_widget_detail_by_code,
|
|
68
74
|
service_get_workflow_by_code,
|
|
@@ -96,6 +102,9 @@ from .services import ( # noqa: F401
|
|
|
96
102
|
service_trigger_hazard_task,
|
|
97
103
|
service_update_data_table_record_by_id,
|
|
98
104
|
service_update_data_table_record_by_id_list,
|
|
105
|
+
service_update_table_record_by_id,
|
|
106
|
+
service_update_table_record_by_id_list,
|
|
99
107
|
)
|
|
108
|
+
from .session import dataops_base_url_context, request_context
|
|
100
109
|
|
|
101
|
-
__version__ = "0.3.
|
|
110
|
+
__version__ = "0.3.6"
|
|
@@ -4,7 +4,15 @@
|
|
|
4
4
|
dataops_sdk.schemas import ...`` 使用。
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
-
from .alarm import
|
|
7
|
+
from .alarm import (
|
|
8
|
+
AlarmActionItem,
|
|
9
|
+
AlarmBuiltinFunctionItem,
|
|
10
|
+
AlarmDetail,
|
|
11
|
+
AlarmPreprocessItem,
|
|
12
|
+
AlarmRuleItem,
|
|
13
|
+
AlarmRuleMatchItem,
|
|
14
|
+
AlarmSpecItem,
|
|
15
|
+
)
|
|
8
16
|
from .api import ApiMeta, HttpInterfaceData
|
|
9
17
|
from .data_table import DataTableData, MetaDataTable
|
|
10
18
|
from .datasource import DataDataSource
|
|
@@ -19,12 +27,12 @@ from .meta import (
|
|
|
19
27
|
MetaBase,
|
|
20
28
|
MetaCreate,
|
|
21
29
|
MetaRef,
|
|
22
|
-
MetaRelease,
|
|
23
30
|
MetaUpdate,
|
|
31
|
+
MetaPageData,
|
|
24
32
|
)
|
|
25
33
|
from .query import PageParam, SqlCondition, SqlQueryParam, SqlSort
|
|
26
34
|
from .report import ReportMeta, ReportMetaData
|
|
27
|
-
from .skill import DataSkill, MetaSkill, SkillCallResult
|
|
35
|
+
from .skill import DataSkill, DataSkillSubFile, MetaSkill, SkillCallResult
|
|
28
36
|
from .table import (
|
|
29
37
|
ColumnItem,
|
|
30
38
|
DataBaseColumnDictExternal,
|
|
@@ -36,3 +44,4 @@ from .table import (
|
|
|
36
44
|
from .user import Application, UserInfo
|
|
37
45
|
from .widget import WidgetMeta, WidgetMetaData
|
|
38
46
|
from .workflow import DataWorkflow, MetaWorkflow
|
|
47
|
+
from .common import DataOpsResponse
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"""告警 (Alarm) 相关实体的 Schema 定义.
|
|
2
2
|
|
|
3
3
|
对应平台告警规则、规则规格、处理动作与匹配项等数据模型,
|
|
4
|
-
统一继承自 ``
|
|
4
|
+
统一继承自 ``MetaBase`` 并复用了启用状态相关字段。
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
from typing import Annotated
|
|
8
8
|
|
|
9
|
-
from pydantic import BaseModel, Field
|
|
9
|
+
from pydantic import BaseModel, ConfigDict, Field, JsonValue
|
|
10
10
|
|
|
11
|
-
from dataops_sdk.schemas.meta import MetaRelease
|
|
11
|
+
from dataops_sdk.schemas.meta import Meta, MetaBase, MetaRelease
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class AlarmExternal(BaseModel):
|
|
@@ -21,7 +21,7 @@ class AlarmExternal(BaseModel):
|
|
|
21
21
|
N_IS_ENABLED: Annotated[str, Field(description="是否启用名称")]
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
class AlarmRuleItem(
|
|
24
|
+
class AlarmRuleItem(MetaBase, AlarmExternal):
|
|
25
25
|
"""告警规则条目.
|
|
26
26
|
|
|
27
27
|
Attributes:
|
|
@@ -33,7 +33,7 @@ class AlarmRuleItem(MetaRelease, AlarmExternal):
|
|
|
33
33
|
DESCRIPTION: Annotated[str, Field(description="描述")] = ""
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
class AlarmSpecItem(
|
|
36
|
+
class AlarmSpecItem(MetaBase, AlarmExternal):
|
|
37
37
|
"""告警规则规格条目.
|
|
38
38
|
|
|
39
39
|
Attributes:
|
|
@@ -46,12 +46,12 @@ class AlarmSpecItem(MetaRelease, AlarmExternal):
|
|
|
46
46
|
|
|
47
47
|
INDUSTRY: Annotated[str, Field(description="行业")]
|
|
48
48
|
N_INDUSTRY: Annotated[str, Field(description="行业名称")]
|
|
49
|
-
BUSINESS_DOMAIN: Annotated[str, Field(description="业务域")]
|
|
50
|
-
N_BUSINESS_DOMAIN: Annotated[str, Field(description="业务域名称")]
|
|
51
|
-
KAFKA_TOPICS: Annotated[str, Field(description="Kafka主题列表")]
|
|
49
|
+
BUSINESS_DOMAIN: Annotated[str | None, Field(description="业务域")] = None
|
|
50
|
+
N_BUSINESS_DOMAIN: Annotated[str | None, Field(description="业务域名称")] = None
|
|
51
|
+
KAFKA_TOPICS: Annotated[str | None, Field(description="Kafka主题列表")] = None
|
|
52
52
|
|
|
53
53
|
|
|
54
|
-
class AlarmActionItem(
|
|
54
|
+
class AlarmActionItem(MetaBase, AlarmExternal):
|
|
55
55
|
"""告警处理动作条目.
|
|
56
56
|
|
|
57
57
|
Attributes:
|
|
@@ -66,7 +66,7 @@ class AlarmActionItem(MetaRelease, AlarmExternal):
|
|
|
66
66
|
SCRIPT_CONTENT: Annotated[str, Field(description="脚本内容")]
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
class AlarmRuleMatchItem(
|
|
69
|
+
class AlarmRuleMatchItem(MetaBase, AlarmExternal):
|
|
70
70
|
"""告警规则匹配条目.
|
|
71
71
|
|
|
72
72
|
Attributes:
|
|
@@ -82,3 +82,38 @@ class AlarmRuleMatchItem(MetaRelease, AlarmExternal):
|
|
|
82
82
|
N_SPEC_TYPE: Annotated[str, Field(description="规则类型名称")]
|
|
83
83
|
RULE_TYPE: Annotated[str, Field(description="规则类型")]
|
|
84
84
|
N_RULE_TYPE: Annotated[str, Field(description="规则类型名称")]
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class AlarmPreprocessItem(MetaRelease, AlarmExternal):
|
|
88
|
+
"""预处理脚本列表条目。
|
|
89
|
+
|
|
90
|
+
前端列表接口返回大写字段;说明、脚本内容和专业名称可能为空,
|
|
91
|
+
因此这里不把这些展示字段设置为必填。
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
N_SPEC_TYPE: Annotated[str | None, Field(description="关联专业名称")] = None
|
|
95
|
+
DESCRIPTION: Annotated[str | None, Field(description="脚本说明")] = None
|
|
96
|
+
SCRIPT_CONTENT: Annotated[str | None, Field(description="脚本内容")] = None
|
|
97
|
+
|
|
98
|
+
model_config = ConfigDict(extra="allow", str_to_lower=False)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class AlarmBuiltinFunctionItem(MetaRelease, AlarmExternal):
|
|
102
|
+
"""内置函数列表条目。"""
|
|
103
|
+
|
|
104
|
+
CLAZZ: Annotated[str | None, Field(description="类全路径")] = None
|
|
105
|
+
SCRIPT: Annotated[str | None, Field(description="函数脚本")] = None
|
|
106
|
+
REMARK: Annotated[str | None, Field(description="备注")] = None
|
|
107
|
+
|
|
108
|
+
model_config = ConfigDict(extra="allow", str_to_lower=False)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
class AlarmDetail(BaseModel):
|
|
112
|
+
"""告警详情的统一返回结构。
|
|
113
|
+
|
|
114
|
+
``meta`` 来自主体接口,``params`` 来自 Meta 参数接口;data 使用 JSON
|
|
115
|
+
映射保留前端可能新增的字段,避免详情查询因未知字段失败。
|
|
116
|
+
"""
|
|
117
|
+
|
|
118
|
+
meta: Meta[dict[str, JsonValue]]
|
|
119
|
+
params: dict[str, JsonValue] = Field(default_factory=dict)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from typing_extensions import Annotated, TypeVar, Generic
|
|
2
|
+
from pydantic import BaseModel, JsonValue, Field, NonNegativeInt
|
|
3
|
+
|
|
4
|
+
DataVar = TypeVar("DataVar", default=JsonValue | None)
|
|
5
|
+
|
|
6
|
+
class DataOpsResponse(BaseModel, Generic[DataVar]):
|
|
7
|
+
code: Annotated[NonNegativeInt, Field(description="响应码")]
|
|
8
|
+
msg: Annotated[str | None, Field(description="响应消息")]
|
|
9
|
+
data: Annotated[DataVar, Field(description="响应数据")]
|
|
@@ -435,7 +435,7 @@ class DataTableField(BaseModel):
|
|
|
435
435
|
Field(description="类型扩展配置", validation_alias=AliasChoices("typeExt", "type_ext")),
|
|
436
436
|
] = None
|
|
437
437
|
|
|
438
|
-
model_config = ConfigDict(
|
|
438
|
+
model_config = ConfigDict(extra="allow")
|
|
439
439
|
|
|
440
440
|
|
|
441
441
|
# ---------------------------------------------------------------------------
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""平台 Meta 通用 Schema 定义.
|
|
2
2
|
|
|
3
3
|
集中管理 ``Meta`` 体系的基类与容器,包括:
|
|
4
|
-
- ``MetaRelease``: 后端返回的发布态基类,字段采用大写下划线。
|
|
5
4
|
- ``MetaBase``: list 接口使用的基类,字段采用小驼峰 + alias。
|
|
6
5
|
- ``Meta``: 详情响应容器,承载 ``data`` 字段并按需自动反序列化 ``rawData``。
|
|
7
6
|
- ``MetaRef``: 引用形态元数据。
|
|
@@ -70,7 +69,7 @@ class MetaRelease(BaseModel):
|
|
|
70
69
|
LAST_MODIFY_TIME: Annotated[datetime, Field(description="最后修改时间")]
|
|
71
70
|
LAST_MODIFY_USER: Annotated[str, Field(description="最后修改人")]
|
|
72
71
|
|
|
73
|
-
model_config = ConfigDict(extra="allow"
|
|
72
|
+
model_config = ConfigDict(extra="allow")
|
|
74
73
|
|
|
75
74
|
|
|
76
75
|
class MetaBase(BaseModel):
|
|
@@ -101,68 +100,117 @@ class MetaBase(BaseModel):
|
|
|
101
100
|
version: 版本号。
|
|
102
101
|
"""
|
|
103
102
|
|
|
104
|
-
id: Annotated[
|
|
103
|
+
id: Annotated[
|
|
104
|
+
str, Field(description="元数据ID", validation_alias=AliasChoices("id", "cuid", "CUID"))
|
|
105
|
+
]
|
|
105
106
|
parentId: Annotated[
|
|
106
107
|
str | None,
|
|
107
|
-
Field(
|
|
108
|
+
Field(
|
|
109
|
+
description="父ID", validation_alias=AliasChoices("parentId", "parent_id", "PARENT_ID")
|
|
110
|
+
),
|
|
108
111
|
]
|
|
109
|
-
code: Annotated[str, Field(description="编码")]
|
|
112
|
+
code: Annotated[str, Field(description="编码", validation_alias=AliasChoices("code", "CODE"))]
|
|
110
113
|
|
|
111
114
|
groupCode: Annotated[
|
|
112
115
|
str | None,
|
|
113
|
-
Field(
|
|
116
|
+
Field(
|
|
117
|
+
description="组编码",
|
|
118
|
+
validation_alias=AliasChoices("groupCode", "group_code", "GROUP_CODE"),
|
|
119
|
+
),
|
|
114
120
|
]
|
|
115
|
-
groupName: Annotated[
|
|
116
|
-
|
|
121
|
+
groupName: Annotated[
|
|
122
|
+
str | None,
|
|
123
|
+
Field(
|
|
124
|
+
description="组名称",
|
|
125
|
+
validation_alias=AliasChoices("groupName", "group_name", "GROUP_NAME"),
|
|
126
|
+
),
|
|
127
|
+
] = None
|
|
128
|
+
spaceName: Annotated[
|
|
129
|
+
str | None,
|
|
130
|
+
Field(description="空间名称", validation_alias=AliasChoices("spaceName", "space_name", "SPACE_NAME")),
|
|
131
|
+
] = None
|
|
117
132
|
|
|
118
133
|
subSystem: Annotated[
|
|
119
|
-
str,
|
|
134
|
+
str,
|
|
135
|
+
Field(
|
|
136
|
+
description="子系统",
|
|
137
|
+
validation_alias=AliasChoices("subSystem", "sub_system", "SUB_SYSTEM"),
|
|
138
|
+
),
|
|
120
139
|
]
|
|
121
140
|
|
|
122
|
-
type: Annotated[str, Field(description="类型")]
|
|
141
|
+
type: Annotated[str, Field(description="类型", validation_alias=AliasChoices("type", "TYPE"))]
|
|
123
142
|
subType: Annotated[
|
|
124
143
|
str | None,
|
|
125
|
-
Field(
|
|
144
|
+
Field(
|
|
145
|
+
description="子类型", validation_alias=AliasChoices("subType", "sub_type", "SUB_TYPE")
|
|
146
|
+
),
|
|
126
147
|
]
|
|
127
148
|
|
|
128
|
-
name: Annotated[str, Field(description="名称")]
|
|
129
|
-
title: Annotated[
|
|
130
|
-
|
|
149
|
+
name: Annotated[str, Field(description="名称", validation_alias=AliasChoices("name", "NAME"))]
|
|
150
|
+
title: Annotated[
|
|
151
|
+
str, Field(description="中文名称", validation_alias=AliasChoices("title", "TITLE"))
|
|
152
|
+
]
|
|
153
|
+
digest: Annotated[
|
|
154
|
+
str | None, Field(description="摘要", validation_alias=AliasChoices("digest", "DIGEST"))
|
|
155
|
+
]
|
|
131
156
|
|
|
132
|
-
remark: Annotated[
|
|
157
|
+
remark: Annotated[
|
|
158
|
+
str | None, Field(description="备注", validation_alias=AliasChoices("remark", "REMARK"))
|
|
159
|
+
]
|
|
133
160
|
|
|
134
161
|
createUser: Annotated[
|
|
135
|
-
str,
|
|
162
|
+
str,
|
|
163
|
+
Field(
|
|
164
|
+
description="创建人",
|
|
165
|
+
validation_alias=AliasChoices("createUser", "create_user", "CREATE_USER"),
|
|
166
|
+
),
|
|
136
167
|
]
|
|
137
168
|
createTime: Annotated[
|
|
138
169
|
datetime,
|
|
139
|
-
Field(
|
|
170
|
+
Field(
|
|
171
|
+
description="创建时间",
|
|
172
|
+
validation_alias=AliasChoices("createTime", "create_time", "CREATE_TIME"),
|
|
173
|
+
),
|
|
140
174
|
]
|
|
141
175
|
lastModifyUser: Annotated[
|
|
142
176
|
str,
|
|
143
177
|
Field(
|
|
144
178
|
description="最后修改人",
|
|
145
|
-
validation_alias=AliasChoices("lastModifyUser", "last_modify_user"),
|
|
179
|
+
validation_alias=AliasChoices("lastModifyUser", "last_modify_user", "LAST_MODIFY_USER"),
|
|
146
180
|
),
|
|
147
181
|
]
|
|
148
182
|
lastModifyTime: Annotated[
|
|
149
183
|
datetime,
|
|
150
184
|
Field(
|
|
151
185
|
description="最后修改时间",
|
|
152
|
-
validation_alias=AliasChoices("lastModifyTime", "last_modify_time"),
|
|
186
|
+
validation_alias=AliasChoices("lastModifyTime", "last_modify_time", "LAST_MODIFY_TIME"),
|
|
153
187
|
),
|
|
154
188
|
]
|
|
155
189
|
|
|
156
190
|
tenantId: Annotated[
|
|
157
|
-
str,
|
|
191
|
+
str,
|
|
192
|
+
Field(
|
|
193
|
+
description="租户ID",
|
|
194
|
+
validation_alias=AliasChoices("tenantId", "tenant_id", "TENANT_ID"),
|
|
195
|
+
),
|
|
158
196
|
]
|
|
159
197
|
prodCode: Annotated[
|
|
160
|
-
str,
|
|
198
|
+
str,
|
|
199
|
+
Field(
|
|
200
|
+
description="产品编码",
|
|
201
|
+
validation_alias=AliasChoices("prodCode", "prod_code", "PROD_CODE"),
|
|
202
|
+
),
|
|
161
203
|
]
|
|
162
|
-
release: Annotated[
|
|
204
|
+
release: Annotated[
|
|
205
|
+
str | None, Field(description="版本", validation_alias=AliasChoices("release", "RELEASE"))
|
|
206
|
+
] = None
|
|
163
207
|
|
|
164
|
-
action: Annotated[
|
|
165
|
-
|
|
208
|
+
action: Annotated[
|
|
209
|
+
str, Field(description="操作", validation_alias=AliasChoices("action", "ACTION"))
|
|
210
|
+
]
|
|
211
|
+
version: Annotated[
|
|
212
|
+
str, Field(description="版本", validation_alias=AliasChoices("version", "VERSION"))
|
|
213
|
+
]
|
|
166
214
|
|
|
167
215
|
model_config = ConfigDict(extra="allow")
|
|
168
216
|
|
|
@@ -288,3 +336,10 @@ class MetaUpdate(BaseModel, Generic[META_DATA_TYPE]):
|
|
|
288
336
|
data: Annotated[
|
|
289
337
|
META_DATA_TYPE | None, Field(description="元数据", exclude_if=lambda x: x is None)
|
|
290
338
|
] = None
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
class MetaPageData(BaseModel):
|
|
342
|
+
total: Annotated[int, Field(description="总数")]
|
|
343
|
+
page_num: Annotated[int, Field(description="页码", validation_alias=AliasChoices("pageNum", "page_num"))]
|
|
344
|
+
page_size: Annotated[int, Field(description="页大小", validation_alias=AliasChoices("pageSize", "page_size"))]
|
|
345
|
+
records: list[MetaBase] = Field(default_factory=list, description="数据")
|
|
@@ -32,6 +32,7 @@ class SqlConditionBase(BaseModel):
|
|
|
32
32
|
|
|
33
33
|
name: Annotated[str, Field(description="字段名")]
|
|
34
34
|
value: Annotated[Any, Field(description="字段值")]
|
|
35
|
+
expression: Annotated[SqlExpression, Field(description="条件表达式")] = SqlExpression.EQ
|
|
35
36
|
|
|
36
37
|
|
|
37
38
|
class SqlCondition(SqlConditionBase):
|
|
@@ -45,7 +46,6 @@ class SqlCondition(SqlConditionBase):
|
|
|
45
46
|
"""
|
|
46
47
|
|
|
47
48
|
alias: Annotated[str | None, Field(description="表别名")] = None
|
|
48
|
-
expression: Annotated[SqlExpression, Field(description="条件表达式")]
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
class SqlSort(BaseModel):
|
|
@@ -85,7 +85,7 @@ class SqlFilter(BaseModel):
|
|
|
85
85
|
Returns:
|
|
86
86
|
SqlFilter: 对应的过滤器实例。
|
|
87
87
|
"""
|
|
88
|
-
return cls(condition=SqlConditionBase(name=name, value=value))
|
|
88
|
+
return cls(condition=SqlConditionBase(name=name, value=value, expression=SqlExpression.EQ))
|
|
89
89
|
|
|
90
90
|
@classmethod
|
|
91
91
|
def ne(cls, name: str, value: Any):
|
|
@@ -222,11 +222,9 @@ class SqlQueryParam(BaseModel):
|
|
|
222
222
|
"""
|
|
223
223
|
|
|
224
224
|
conjunction: Annotated[Literal["and", "or"], Field(description="条件连接符")] = "and"
|
|
225
|
-
conditionList:
|
|
226
|
-
|
|
227
|
-
]
|
|
228
|
-
sorts: Annotated[list[SqlSort], Field(description="排序列表", default_factory=list)]
|
|
229
|
-
varMap: Annotated[dict[str, JsonValue], Field(description="变量映射", default_factory=dict)]
|
|
225
|
+
conditionList: list[SqlCondition] = Field(description="条件列表", default_factory=list)
|
|
226
|
+
sorts: list[SqlSort] = Field(description="排序列表", default_factory=list)
|
|
227
|
+
varMap: dict[str, JsonValue] = Field(description="变量映射", default_factory=dict)
|
|
230
228
|
|
|
231
229
|
def add(self, *condition: SqlCondition):
|
|
232
230
|
"""追加条件.
|
|
@@ -6,17 +6,17 @@
|
|
|
6
6
|
|
|
7
7
|
from collections.abc import Mapping
|
|
8
8
|
from enum import StrEnum
|
|
9
|
-
from typing import Annotated, Any
|
|
10
|
-
|
|
11
|
-
from pydantic import AliasChoices, BaseModel, Field, JsonValue
|
|
9
|
+
from typing import Annotated, Any, Union
|
|
12
10
|
|
|
13
11
|
from dataops_sdk.schemas.meta import Meta
|
|
12
|
+
from pydantic import AliasChoices, BaseModel, Field, JsonValue
|
|
14
13
|
|
|
15
14
|
|
|
16
15
|
class MetaSkillSubType(StrEnum):
|
|
17
16
|
LLM = "llm"
|
|
18
17
|
API = "api"
|
|
19
18
|
REPORT = "report"
|
|
19
|
+
FORM = "form"
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
class MetaSkillFileSubType(StrEnum):
|
|
@@ -62,6 +62,9 @@ class DataSkillSubFileImage(BaseModel):
|
|
|
62
62
|
language: Annotated[str, Field(description="编程语言")]
|
|
63
63
|
|
|
64
64
|
|
|
65
|
+
DataSkillSubFile = Union[DataSkillSubFileDoc, DataSkillSubFileCode, DataSkillSubFileImage]
|
|
66
|
+
|
|
67
|
+
|
|
65
68
|
class MetaSkill(Meta[DataSkill]):
|
|
66
69
|
"""技能详情,继承通用 Meta 字段并附加 DataSkill data.
|
|
67
70
|
|
|
@@ -5,11 +5,20 @@ from .alarm import (
|
|
|
5
5
|
service_count_alarm_specs,
|
|
6
6
|
service_find_alarm_table_data,
|
|
7
7
|
service_find_meta_by_codes,
|
|
8
|
+
service_get_alarm_action_detail,
|
|
9
|
+
service_get_alarm_builtin_function_detail,
|
|
10
|
+
service_get_alarm_preprocess_detail,
|
|
11
|
+
service_get_alarm_rule_detail,
|
|
12
|
+
service_get_alarm_rule_type_detail,
|
|
8
13
|
service_get_alarm_rule_enums,
|
|
9
14
|
service_get_alarm_table_columns,
|
|
10
15
|
service_get_rel_table_columns,
|
|
16
|
+
service_get_alarm_spec_detail,
|
|
17
|
+
service_list_alarm_builtin_functions,
|
|
18
|
+
service_list_alarm_action,
|
|
11
19
|
service_list_alarm_rule_matches,
|
|
12
20
|
service_list_alarm_rules,
|
|
21
|
+
service_list_alarm_preprocess,
|
|
13
22
|
service_list_alarm_specs,
|
|
14
23
|
)
|
|
15
24
|
from .api import service_get_api_by_code, service_get_api_by_name
|
|
@@ -64,6 +73,7 @@ from .meta import (
|
|
|
64
73
|
release_list_create,
|
|
65
74
|
release_list_get_by_code,
|
|
66
75
|
release_list_get_by_name,
|
|
76
|
+
release_list_params_get_rel_by_code,
|
|
67
77
|
release_list_list,
|
|
68
78
|
release_list_list_by_parent_id,
|
|
69
79
|
release_list_page,
|
|
@@ -94,12 +104,20 @@ from .skill import (
|
|
|
94
104
|
from .table import (
|
|
95
105
|
service_count_table_by_code,
|
|
96
106
|
service_count_table_by_name,
|
|
107
|
+
service_create_table_record,
|
|
108
|
+
service_delete_table_record_by_id,
|
|
109
|
+
service_delete_table_record_by_id_list,
|
|
97
110
|
service_exec_sql_by_datasource,
|
|
98
111
|
service_get_table_data_by_code,
|
|
99
112
|
service_get_table_data_by_name,
|
|
100
113
|
service_get_table_detail_by_code,
|
|
101
114
|
service_get_table_detail_by_name,
|
|
115
|
+
service_get_table_list_by_code,
|
|
116
|
+
service_get_table_records_by_code,
|
|
117
|
+
service_get_table_total_by_code,
|
|
102
118
|
service_list_tables,
|
|
119
|
+
service_update_table_record_by_id,
|
|
120
|
+
service_update_table_record_by_id_list,
|
|
103
121
|
)
|
|
104
122
|
from .widget import (
|
|
105
123
|
service_count_widget_by_code,
|