@nocobase/plugin-flow-engine 2.0.0-alpha.9 → 2.0.0-beta.2
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.
- package/dist/externalVersion.js +9 -9
- package/dist/locale/de-DE.json +62 -0
- package/dist/locale/en-US.json +57 -45
- package/dist/locale/es-ES.json +62 -0
- package/dist/locale/fr-FR.json +62 -0
- package/dist/locale/hu-HU.json +62 -0
- package/dist/locale/id-ID.json +62 -0
- package/dist/locale/index.d.ts +114 -90
- package/dist/locale/it-IT.json +62 -0
- package/dist/locale/ja-JP.json +62 -0
- package/dist/locale/ko-KR.json +62 -0
- package/dist/locale/nl-NL.json +62 -0
- package/dist/locale/pt-BR.json +62 -0
- package/dist/locale/ru-RU.json +62 -0
- package/dist/locale/tr-TR.json +62 -0
- package/dist/locale/uk-UA.json +62 -0
- package/dist/locale/vi-VN.json +62 -0
- package/dist/locale/zh-CN.json +58 -46
- package/dist/locale/zh-TW.json +62 -0
- package/dist/node_modules/ses/package.json +1 -1
- package/dist/server/collections/flowsql.js +1 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +6 -0
- package/dist/server/plugin.d.ts +0 -4
- package/dist/server/plugin.js +17 -19
- package/dist/server/repository.d.ts +4 -1
- package/dist/server/repository.js +120 -8
- package/dist/server/server.js +10 -3
- package/dist/server/variables/registry.js +141 -40
- package/dist/server/variables/selects.d.ts +19 -0
- package/dist/server/variables/selects.js +80 -0
- package/dist/server/variables/utils.js +13 -3
- package/package.json +2 -2
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Add": "Add",
|
|
3
|
+
"Are you sure you want to delete this item? This action cannot be undone.": "Are you sure you want to delete this item? This action cannot be undone.",
|
|
4
|
+
"Array index out of bounds": "Array index {{index}} out of bounds for '{{subKey}}'",
|
|
5
|
+
"Cancel": "Cancel",
|
|
6
|
+
"Common actions": "Common actions",
|
|
7
|
+
"Complete configuration": "Complete configuration",
|
|
8
|
+
"Configuration": "Configuration",
|
|
9
|
+
"Configuration popup cancelled or error": "Configuration popup cancelled or error",
|
|
10
|
+
"Configuration saved": "Configuration saved",
|
|
11
|
+
"Confirm delete": "Confirm delete",
|
|
12
|
+
"Copy UID": "Copy UID",
|
|
13
|
+
"Copy error info": "Copy error info",
|
|
14
|
+
"Copy failed": "Copy failed",
|
|
15
|
+
"Copy failed under HTTP. Clipboard API is unavailable on non-HTTPS pages. Please copy [{{uid}}] manually.": "Copy failed under HTTP. Clipboard API is unavailable on non-HTTPS pages. Please copy [{{uid}}] manually.",
|
|
16
|
+
"Copy failed, please copy [{{uid}}] manually.": "Copy failed, please copy [{{uid}}] manually.",
|
|
17
|
+
"Data blocks": "Data blocks",
|
|
18
|
+
"Delete": "Delete",
|
|
19
|
+
"Delete failed": "Delete failed",
|
|
20
|
+
"Delete operation failed": "Delete operation failed",
|
|
21
|
+
"Delete operation failed, please check the console for details.": "Delete operation failed, please check the console for details.",
|
|
22
|
+
"Download logs": "Download logs",
|
|
23
|
+
"Drawer API is not available, please ensure it is used within FlowEngineGlobalsContextProvider": "Drawer API is not available, please ensure it is used within FlowEngineGlobalsContextProvider",
|
|
24
|
+
"Error saving configuration": "Error saving configuration",
|
|
25
|
+
"Error saving configuration, please check console": "Error saving configuration, please check console",
|
|
26
|
+
"Error submitting form": "Error submitting form",
|
|
27
|
+
"Expected array for subModel": "Expected array for '{{subKey}}', got {{type}}",
|
|
28
|
+
"Expected object for subModel": "Expected object for '{{subKey}}', got array",
|
|
29
|
+
"Failed to add sub model": "Failed to add sub model",
|
|
30
|
+
"Failed to destroy model after creation error": "Failed to destroy model after creation error",
|
|
31
|
+
"Failed to get action {{action}}": "Failed to get action {{action}}",
|
|
32
|
+
"Failed to get configurable flows for model {{model}}": "Failed to get configurable flows for model {{model}}",
|
|
33
|
+
"Failed to import FormDialog": "Failed to import FormDialog",
|
|
34
|
+
"Failed to import FormDialog or FormStep": "Failed to import FormDialog or FormStep",
|
|
35
|
+
"Failed to import Formily components": "Failed to import Formily components",
|
|
36
|
+
"Feedback": "Feedback",
|
|
37
|
+
"Filter blocks": "Filter blocks",
|
|
38
|
+
"Flow with key {{flowKey}} not found": "Flow with key {{flowKey}} not found",
|
|
39
|
+
"Form validation failed": "Form validation failed",
|
|
40
|
+
"Invalid input parameters": "Invalid input parameters",
|
|
41
|
+
"Invalid model provided": "Invalid model provided",
|
|
42
|
+
"Invalid subModelKey format": "Invalid subModelKey format: {{subModelKey}}",
|
|
43
|
+
"Model with ID {{uid}} not found": "Model with ID {{uid}} not found",
|
|
44
|
+
"Name": "Name",
|
|
45
|
+
"Next step": "Next step",
|
|
46
|
+
"No createModelOptions found for item": "No createModelOptions found for item",
|
|
47
|
+
"OK": "OK",
|
|
48
|
+
"Other blocks": "Other blocks",
|
|
49
|
+
"Previous step": "Previous step",
|
|
50
|
+
"Render failed": "Render failed",
|
|
51
|
+
"Step configuration": "Step configuration",
|
|
52
|
+
"Step parameter configuration": "Step parameter configuration",
|
|
53
|
+
"Step with key {{stepKey}} not found": "Step with key {{stepKey}} not found",
|
|
54
|
+
"Submodel not found": "Submodel '{{subKey}}' not found",
|
|
55
|
+
"This is likely a NocoBase internals bug. Please open an issue at": "This is likely a NocoBase internals bug. Please open an issue at",
|
|
56
|
+
"This step has no configurable parameters": "This step has no configurable parameters",
|
|
57
|
+
"This variable is not available": "This variable is not available",
|
|
58
|
+
"Try again": "Try again",
|
|
59
|
+
"UID copied to clipboard": "UID copied to clipboard",
|
|
60
|
+
"createModelOptions must specify use property": "createModelOptions must specify \"use\" property",
|
|
61
|
+
"here": "here"
|
|
62
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Add": "Add",
|
|
3
|
+
"Are you sure you want to delete this item? This action cannot be undone.": "Are you sure you want to delete this item? This action cannot be undone.",
|
|
4
|
+
"Array index out of bounds": "Array index {{index}} out of bounds for '{{subKey}}'",
|
|
5
|
+
"Cancel": "Cancel",
|
|
6
|
+
"Common actions": "Common actions",
|
|
7
|
+
"Complete configuration": "Complete configuration",
|
|
8
|
+
"Configuration": "Configuration",
|
|
9
|
+
"Configuration popup cancelled or error": "Configuration popup cancelled or error",
|
|
10
|
+
"Configuration saved": "Configuration saved",
|
|
11
|
+
"Confirm delete": "Confirm delete",
|
|
12
|
+
"Copy UID": "Copy UID",
|
|
13
|
+
"Copy error info": "Copy error info",
|
|
14
|
+
"Copy failed": "Copy failed",
|
|
15
|
+
"Copy failed under HTTP. Clipboard API is unavailable on non-HTTPS pages. Please copy [{{uid}}] manually.": "Copy failed under HTTP. Clipboard API is unavailable on non-HTTPS pages. Please copy [{{uid}}] manually.",
|
|
16
|
+
"Copy failed, please copy [{{uid}}] manually.": "Copy failed, please copy [{{uid}}] manually.",
|
|
17
|
+
"Data blocks": "Data blocks",
|
|
18
|
+
"Delete": "Delete",
|
|
19
|
+
"Delete failed": "Delete failed",
|
|
20
|
+
"Delete operation failed": "Delete operation failed",
|
|
21
|
+
"Delete operation failed, please check the console for details.": "Delete operation failed, please check the console for details.",
|
|
22
|
+
"Download logs": "Download logs",
|
|
23
|
+
"Drawer API is not available, please ensure it is used within FlowEngineGlobalsContextProvider": "Drawer API is not available, please ensure it is used within FlowEngineGlobalsContextProvider",
|
|
24
|
+
"Error saving configuration": "Error saving configuration",
|
|
25
|
+
"Error saving configuration, please check console": "Error saving configuration, please check console",
|
|
26
|
+
"Error submitting form": "Error submitting form",
|
|
27
|
+
"Expected array for subModel": "Expected array for '{{subKey}}', got {{type}}",
|
|
28
|
+
"Expected object for subModel": "Expected object for '{{subKey}}', got array",
|
|
29
|
+
"Failed to add sub model": "Failed to add sub model",
|
|
30
|
+
"Failed to destroy model after creation error": "Failed to destroy model after creation error",
|
|
31
|
+
"Failed to get action {{action}}": "Failed to get action {{action}}",
|
|
32
|
+
"Failed to get configurable flows for model {{model}}": "Failed to get configurable flows for model {{model}}",
|
|
33
|
+
"Failed to import FormDialog": "Failed to import FormDialog",
|
|
34
|
+
"Failed to import FormDialog or FormStep": "Failed to import FormDialog or FormStep",
|
|
35
|
+
"Failed to import Formily components": "Failed to import Formily components",
|
|
36
|
+
"Feedback": "Feedback",
|
|
37
|
+
"Filter blocks": "Filter blocks",
|
|
38
|
+
"Flow with key {{flowKey}} not found": "Flow with key {{flowKey}} not found",
|
|
39
|
+
"Form validation failed": "Form validation failed",
|
|
40
|
+
"Invalid input parameters": "Invalid input parameters",
|
|
41
|
+
"Invalid model provided": "Invalid model provided",
|
|
42
|
+
"Invalid subModelKey format": "Invalid subModelKey format: {{subModelKey}}",
|
|
43
|
+
"Model with ID {{uid}} not found": "Model with ID {{uid}} not found",
|
|
44
|
+
"Name": "Name",
|
|
45
|
+
"Next step": "Next step",
|
|
46
|
+
"No createModelOptions found for item": "No createModelOptions found for item",
|
|
47
|
+
"OK": "OK",
|
|
48
|
+
"Other blocks": "Other blocks",
|
|
49
|
+
"Previous step": "Previous step",
|
|
50
|
+
"Render failed": "Render failed",
|
|
51
|
+
"Step configuration": "Step configuration",
|
|
52
|
+
"Step parameter configuration": "Step parameter configuration",
|
|
53
|
+
"Step with key {{stepKey}} not found": "Step with key {{stepKey}} not found",
|
|
54
|
+
"Submodel not found": "Submodel '{{subKey}}' not found",
|
|
55
|
+
"This is likely a NocoBase internals bug. Please open an issue at": "This is likely a NocoBase internals bug. Please open an issue at",
|
|
56
|
+
"This step has no configurable parameters": "This step has no configurable parameters",
|
|
57
|
+
"This variable is not available": "This variable is not available",
|
|
58
|
+
"Try again": "Try again",
|
|
59
|
+
"UID copied to clipboard": "UID copied to clipboard",
|
|
60
|
+
"createModelOptions must specify use property": "createModelOptions must specify \"use\" property",
|
|
61
|
+
"here": "here"
|
|
62
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Add": "Add",
|
|
3
|
+
"Are you sure you want to delete this item? This action cannot be undone.": "Are you sure you want to delete this item? This action cannot be undone.",
|
|
4
|
+
"Array index out of bounds": "Array index {{index}} out of bounds for '{{subKey}}'",
|
|
5
|
+
"Cancel": "Cancel",
|
|
6
|
+
"Common actions": "Common actions",
|
|
7
|
+
"Complete configuration": "Complete configuration",
|
|
8
|
+
"Configuration": "Configuration",
|
|
9
|
+
"Configuration popup cancelled or error": "Configuration popup cancelled or error",
|
|
10
|
+
"Configuration saved": "Configuration saved",
|
|
11
|
+
"Confirm delete": "Confirm delete",
|
|
12
|
+
"Copy UID": "Copy UID",
|
|
13
|
+
"Copy error info": "Copy error info",
|
|
14
|
+
"Copy failed": "Copy failed",
|
|
15
|
+
"Copy failed under HTTP. Clipboard API is unavailable on non-HTTPS pages. Please copy [{{uid}}] manually.": "Copy failed under HTTP. Clipboard API is unavailable on non-HTTPS pages. Please copy [{{uid}}] manually.",
|
|
16
|
+
"Copy failed, please copy [{{uid}}] manually.": "Copy failed, please copy [{{uid}}] manually.",
|
|
17
|
+
"Data blocks": "Data blocks",
|
|
18
|
+
"Delete": "Delete",
|
|
19
|
+
"Delete failed": "Delete failed",
|
|
20
|
+
"Delete operation failed": "Delete operation failed",
|
|
21
|
+
"Delete operation failed, please check the console for details.": "Delete operation failed, please check the console for details.",
|
|
22
|
+
"Download logs": "Download logs",
|
|
23
|
+
"Drawer API is not available, please ensure it is used within FlowEngineGlobalsContextProvider": "Drawer API is not available, please ensure it is used within FlowEngineGlobalsContextProvider",
|
|
24
|
+
"Error saving configuration": "Error saving configuration",
|
|
25
|
+
"Error saving configuration, please check console": "Error saving configuration, please check console",
|
|
26
|
+
"Error submitting form": "Error submitting form",
|
|
27
|
+
"Expected array for subModel": "Expected array for '{{subKey}}', got {{type}}",
|
|
28
|
+
"Expected object for subModel": "Expected object for '{{subKey}}', got array",
|
|
29
|
+
"Failed to add sub model": "Failed to add sub model",
|
|
30
|
+
"Failed to destroy model after creation error": "Failed to destroy model after creation error",
|
|
31
|
+
"Failed to get action {{action}}": "Failed to get action {{action}}",
|
|
32
|
+
"Failed to get configurable flows for model {{model}}": "Failed to get configurable flows for model {{model}}",
|
|
33
|
+
"Failed to import FormDialog": "Failed to import FormDialog",
|
|
34
|
+
"Failed to import FormDialog or FormStep": "Failed to import FormDialog or FormStep",
|
|
35
|
+
"Failed to import Formily components": "Failed to import Formily components",
|
|
36
|
+
"Feedback": "Feedback",
|
|
37
|
+
"Filter blocks": "Filter blocks",
|
|
38
|
+
"Flow with key {{flowKey}} not found": "Flow with key {{flowKey}} not found",
|
|
39
|
+
"Form validation failed": "Form validation failed",
|
|
40
|
+
"Invalid input parameters": "Invalid input parameters",
|
|
41
|
+
"Invalid model provided": "Invalid model provided",
|
|
42
|
+
"Invalid subModelKey format": "Invalid subModelKey format: {{subModelKey}}",
|
|
43
|
+
"Model with ID {{uid}} not found": "Model with ID {{uid}} not found",
|
|
44
|
+
"Name": "Name",
|
|
45
|
+
"Next step": "Next step",
|
|
46
|
+
"No createModelOptions found for item": "No createModelOptions found for item",
|
|
47
|
+
"OK": "OK",
|
|
48
|
+
"Other blocks": "Other blocks",
|
|
49
|
+
"Previous step": "Previous step",
|
|
50
|
+
"Render failed": "Render failed",
|
|
51
|
+
"Step configuration": "Step configuration",
|
|
52
|
+
"Step parameter configuration": "Step parameter configuration",
|
|
53
|
+
"Step with key {{stepKey}} not found": "Step with key {{stepKey}} not found",
|
|
54
|
+
"Submodel not found": "Submodel '{{subKey}}' not found",
|
|
55
|
+
"This is likely a NocoBase internals bug. Please open an issue at": "This is likely a NocoBase internals bug. Please open an issue at",
|
|
56
|
+
"This step has no configurable parameters": "This step has no configurable parameters",
|
|
57
|
+
"This variable is not available": "This variable is not available",
|
|
58
|
+
"Try again": "Try again",
|
|
59
|
+
"UID copied to clipboard": "UID copied to clipboard",
|
|
60
|
+
"createModelOptions must specify use property": "createModelOptions must specify \"use\" property",
|
|
61
|
+
"here": "here"
|
|
62
|
+
}
|
package/dist/locale/zh-CN.json
CHANGED
|
@@ -1,61 +1,73 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"Step configuration": "步骤配置",
|
|
7
|
-
"This step has no configurable parameters": "此步骤没有可配置的参数",
|
|
8
|
-
"Failed to import Formily components": "导入 Formily 组件失败",
|
|
9
|
-
"Drawer API is not available, please ensure it is used within FlowEngineGlobalsContextProvider": "抽屉 API 不可用,请确保在 FlowEngineGlobalsContextProvider 中使用",
|
|
10
|
-
"Configuration saved": "配置已保存",
|
|
11
|
-
"Error saving configuration": "保存配置时出错",
|
|
12
|
-
"Error saving configuration, please check console": "保存配置时出错,请检查控制台",
|
|
13
|
-
"Failed to import FormDialog": "导入 FormDialog 失败",
|
|
14
|
-
"OK": "确定",
|
|
2
|
+
"Add": "添加",
|
|
3
|
+
"Are you sure you want to delete this item? This action cannot be undone.": "确定要删除此项吗?此操作不可撤销。",
|
|
4
|
+
"Are you sure to convert this template block to copy mode?": "确定将该模板区块转换为复制模式吗?",
|
|
5
|
+
"Array index out of bounds": "数组索引 {{index}} 超出 '{{subKey}}' 的边界",
|
|
15
6
|
"Cancel": "取消",
|
|
16
|
-
"
|
|
17
|
-
"Error submitting form": "提交表单时出错",
|
|
7
|
+
"Common actions": "通用操作",
|
|
18
8
|
"Complete configuration": "完成配置",
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"UID
|
|
9
|
+
"Configuration": "配置",
|
|
10
|
+
"Configuration popup cancelled or error": "配置弹窗已取消或出错",
|
|
11
|
+
"Configuration saved": "配置已保存",
|
|
12
|
+
"Confirm delete": "确认删除",
|
|
13
|
+
"Copy UID": "复制 UID",
|
|
14
|
+
"Copy error info": "复制错误信息",
|
|
24
15
|
"Copy failed": "复制失败",
|
|
16
|
+
"Copy failed under HTTP. Clipboard API is unavailable on non-HTTPS pages. Please copy [{{uid}}] manually.": "HTTP 环境下复制失败。非 HTTPS 页面不支持剪贴板 API,请手动复制 [{{uid}}]。",
|
|
25
17
|
"Copy failed, please copy [{{uid}}] manually.": "复制失败,请手动复制 [{{uid}}]。",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"Delete operation failed": "删除操作失败",
|
|
18
|
+
"Data blocks": "数据区块",
|
|
19
|
+
"Delete": "删除",
|
|
29
20
|
"Delete failed": "删除失败",
|
|
21
|
+
"Delete operation failed": "删除操作失败",
|
|
30
22
|
"Delete operation failed, please check the console for details.": "删除操作失败,请检查控制台获取详细信息。",
|
|
31
|
-
"
|
|
23
|
+
"Download logs": "下载日志",
|
|
24
|
+
"Drawer API is not available, please ensure it is used within FlowEngineGlobalsContextProvider": "抽屉 API 不可用,请确保在 FlowEngineGlobalsContextProvider 中使用",
|
|
25
|
+
"Error saving configuration": "保存配置时出错",
|
|
26
|
+
"Error saving configuration, please check console": "保存配置时出错,请检查控制台",
|
|
27
|
+
"Error submitting form": "提交表单时出错",
|
|
28
|
+
"Expected array for subModel": "期望 '{{subKey}}' 为数组,实际为 {{type}}",
|
|
29
|
+
"Expected object for subModel": "期望 '{{subKey}}' 为对象,实际为数组",
|
|
30
|
+
"Failed to add sub model": "添加子模型失败",
|
|
31
|
+
"Failed to destroy model after creation error": "创建错误后销毁模型失败",
|
|
32
32
|
"Failed to get action {{action}}": "获取 action '{{action}}' 失败",
|
|
33
33
|
"Failed to get configurable flows for model {{model}}": "获取模型 '{{model}}' 的可配置 flows 失败",
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"here": "这里",
|
|
38
|
-
"Render failed": "渲染失败",
|
|
34
|
+
"Failed to import FormDialog": "导入 FormDialog 失败",
|
|
35
|
+
"Failed to import FormDialog or FormStep": "导入 FormDialog 或 FormStep 失败",
|
|
36
|
+
"Failed to import Formily components": "导入 Formily 组件失败",
|
|
39
37
|
"Feedback": "反馈",
|
|
40
|
-
"Download logs": "下载日志",
|
|
41
|
-
"Copy error info": "复制错误信息",
|
|
42
|
-
"Try again": "重试",
|
|
43
|
-
"Data blocks": "数据区块",
|
|
44
38
|
"Filter blocks": "筛选区块",
|
|
45
|
-
"
|
|
39
|
+
"Flow with key {{flowKey}} not found": "未找到key为 {{flowKey}} 的流程",
|
|
40
|
+
"Form validation failed": "表单验证失败",
|
|
46
41
|
"Invalid input parameters": "输入参数无效",
|
|
42
|
+
"Invalid model provided": "提供的模型无效",
|
|
47
43
|
"Invalid subModelKey format": "无效的 subModelKey 格式: {{subModelKey}}",
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
44
|
+
"Model with ID {{uid}} not found": "未找到 ID 为 {{uid}} 的模型",
|
|
45
|
+
"Name": "名称",
|
|
46
|
+
"Save as template": "保存为模板",
|
|
47
|
+
"Convert to copy": "转换为复制",
|
|
48
|
+
"Convert to copy is unavailable": "无法执行转换为复制",
|
|
49
|
+
"Parent not found, cannot replace block": "未找到父级,无法替换区块",
|
|
50
|
+
"Replace current block with template?": "是否将当前区块替换为模板?",
|
|
51
|
+
"Replaced with template block": "已替换为模板区块",
|
|
52
|
+
"Template created": "模板已创建",
|
|
53
|
+
"Template description": "模板描述",
|
|
54
|
+
"Template name": "模板名称",
|
|
55
|
+
"Template name is required": "模板名称必填",
|
|
56
|
+
"Next step": "下一步",
|
|
52
57
|
"No createModelOptions found for item": "未找到该项的 createModelOptions",
|
|
58
|
+
"OK": "确定",
|
|
59
|
+
"Other blocks": "其他区块",
|
|
60
|
+
"Previous step": "上一步",
|
|
61
|
+
"Render failed": "渲染失败",
|
|
62
|
+
"Step configuration": "步骤配置",
|
|
63
|
+
"Step parameter configuration": "步骤参数配置",
|
|
64
|
+
"Step with key {{stepKey}} not found": "未找到key为 {{stepKey}} 的步骤",
|
|
65
|
+
"Submodel not found": "未找到 Submodel '{{subKey}}'",
|
|
66
|
+
"This is likely a NocoBase internals bug. Please open an issue at": "这可能是 NocoBase 内部错误。请在以下地址提交问题",
|
|
67
|
+
"This step has no configurable parameters": "此步骤没有可配置的参数",
|
|
68
|
+
"This variable is not available": "此变量不可用",
|
|
69
|
+
"Try again": "重试",
|
|
70
|
+
"UID copied to clipboard": "UID 已复制到剪贴板",
|
|
53
71
|
"createModelOptions must specify use property": "createModelOptions 必须指定 \"use\" 属性",
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
"Add": "添加",
|
|
57
|
-
"Name": "名称",
|
|
58
|
-
"Model with ID {{uid}} not found": "未找到 ID 为 {{uid}} 的模型",
|
|
59
|
-
"Common actions": "通用操作",
|
|
60
|
-
"This variable is not available": "此变量不可用"
|
|
61
|
-
}
|
|
72
|
+
"here": "这里"
|
|
73
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Add": "Add",
|
|
3
|
+
"Are you sure you want to delete this item? This action cannot be undone.": "Are you sure you want to delete this item? This action cannot be undone.",
|
|
4
|
+
"Array index out of bounds": "Array index {{index}} out of bounds for '{{subKey}}'",
|
|
5
|
+
"Cancel": "Cancel",
|
|
6
|
+
"Common actions": "Common actions",
|
|
7
|
+
"Complete configuration": "Complete configuration",
|
|
8
|
+
"Configuration": "Configuration",
|
|
9
|
+
"Configuration popup cancelled or error": "Configuration popup cancelled or error",
|
|
10
|
+
"Configuration saved": "Configuration saved",
|
|
11
|
+
"Confirm delete": "Confirm delete",
|
|
12
|
+
"Copy UID": "Copy UID",
|
|
13
|
+
"Copy error info": "Copy error info",
|
|
14
|
+
"Copy failed": "Copy failed",
|
|
15
|
+
"Copy failed under HTTP. Clipboard API is unavailable on non-HTTPS pages. Please copy [{{uid}}] manually.": "Copy failed under HTTP. Clipboard API is unavailable on non-HTTPS pages. Please copy [{{uid}}] manually.",
|
|
16
|
+
"Copy failed, please copy [{{uid}}] manually.": "Copy failed, please copy [{{uid}}] manually.",
|
|
17
|
+
"Data blocks": "Data blocks",
|
|
18
|
+
"Delete": "Delete",
|
|
19
|
+
"Delete failed": "Delete failed",
|
|
20
|
+
"Delete operation failed": "Delete operation failed",
|
|
21
|
+
"Delete operation failed, please check the console for details.": "Delete operation failed, please check the console for details.",
|
|
22
|
+
"Download logs": "Download logs",
|
|
23
|
+
"Drawer API is not available, please ensure it is used within FlowEngineGlobalsContextProvider": "Drawer API is not available, please ensure it is used within FlowEngineGlobalsContextProvider",
|
|
24
|
+
"Error saving configuration": "Error saving configuration",
|
|
25
|
+
"Error saving configuration, please check console": "Error saving configuration, please check console",
|
|
26
|
+
"Error submitting form": "Error submitting form",
|
|
27
|
+
"Expected array for subModel": "Expected array for '{{subKey}}', got {{type}}",
|
|
28
|
+
"Expected object for subModel": "Expected object for '{{subKey}}', got array",
|
|
29
|
+
"Failed to add sub model": "Failed to add sub model",
|
|
30
|
+
"Failed to destroy model after creation error": "Failed to destroy model after creation error",
|
|
31
|
+
"Failed to get action {{action}}": "Failed to get action {{action}}",
|
|
32
|
+
"Failed to get configurable flows for model {{model}}": "Failed to get configurable flows for model {{model}}",
|
|
33
|
+
"Failed to import FormDialog": "Failed to import FormDialog",
|
|
34
|
+
"Failed to import FormDialog or FormStep": "Failed to import FormDialog or FormStep",
|
|
35
|
+
"Failed to import Formily components": "Failed to import Formily components",
|
|
36
|
+
"Feedback": "Feedback",
|
|
37
|
+
"Filter blocks": "Filter blocks",
|
|
38
|
+
"Flow with key {{flowKey}} not found": "Flow with key {{flowKey}} not found",
|
|
39
|
+
"Form validation failed": "Form validation failed",
|
|
40
|
+
"Invalid input parameters": "Invalid input parameters",
|
|
41
|
+
"Invalid model provided": "Invalid model provided",
|
|
42
|
+
"Invalid subModelKey format": "Invalid subModelKey format: {{subModelKey}}",
|
|
43
|
+
"Model with ID {{uid}} not found": "Model with ID {{uid}} not found",
|
|
44
|
+
"Name": "Name",
|
|
45
|
+
"Next step": "Next step",
|
|
46
|
+
"No createModelOptions found for item": "No createModelOptions found for item",
|
|
47
|
+
"OK": "OK",
|
|
48
|
+
"Other blocks": "Other blocks",
|
|
49
|
+
"Previous step": "Previous step",
|
|
50
|
+
"Render failed": "Render failed",
|
|
51
|
+
"Step configuration": "Step configuration",
|
|
52
|
+
"Step parameter configuration": "Step parameter configuration",
|
|
53
|
+
"Step with key {{stepKey}} not found": "Step with key {{stepKey}} not found",
|
|
54
|
+
"Submodel not found": "Submodel '{{subKey}}' not found",
|
|
55
|
+
"This is likely a NocoBase internals bug. Please open an issue at": "This is likely a NocoBase internals bug. Please open an issue at",
|
|
56
|
+
"This step has no configurable parameters": "This step has no configurable parameters",
|
|
57
|
+
"This variable is not available": "This variable is not available",
|
|
58
|
+
"Try again": "Try again",
|
|
59
|
+
"UID copied to clipboard": "UID copied to clipboard",
|
|
60
|
+
"createModelOptions must specify use property": "createModelOptions must specify \"use\" property",
|
|
61
|
+
"here": "here"
|
|
62
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"ses","version":"1.14.0","description":"Hardened JavaScript for Fearless Cooperation","keywords":["lockdown","harden","Compartment","assert","security","confinement","isolation","object capabilities","ocaps","secure execution","third-party code","prototype pollution","supply-chain attack","plugin"],"author":"Agoric","license":"Apache-2.0","homepage":"https://github.com/Agoric/SES-shim/tree/master/packages/ses#readme","repository":{"type":"git","url":"git+https://github.com/endojs/endo.git","directory":"packages/ses"},"bugs":{"url":"https://github.com/endojs/endo/issues"},"type":"module","main":"./dist/ses.cjs","module":"./index.js","unpkg":"./dist/ses.umd.js","types":"./types.d.ts","exports":{".":{"import":{"types":"./types.d.ts","xs":"./src-xs/index.js","default":"./index.js"},"require":{"types":"./dist/types.d.cts","default":"./dist/ses.cjs"}},"./lockdown":{"import":{"types":"./types.d.ts","default":"./index.js"},"require":{"types":"./dist/types.d.cts","default":"./dist/ses.cjs"}},"./hermes":{"require":{"types":"./dist/types.d.cts","default":"./dist/ses-hermes.cjs"}},"./tools.js":"./tools.js","./assert-shim.js":"./assert-shim.js","./lockdown-shim.js":{"xs":"./src-xs/lockdown-shim.js","default":"./lockdown-shim.js"},"./compartment-shim.js":{"xs":"./src-xs/compartment-shim.js","default":"./compartment-shim.js"},"./console-shim.js":"./console-shim.js","./package.json":"./package.json"},"scripts":{"build:vanilla":"node scripts/bundle.js","build:hermes":"node scripts/bundle.js hermes","build":"yarn build:vanilla && yarn build:hermes","clean":"rm -rf dist","cover":"c8 ava","demo":"python3 -m http.server","lint":"yarn lint:types && yarn lint:eslint","lint-fix":"eslint --fix .","lint:eslint":"eslint .","lint:types":"tsc","prepare":"npm run clean && npm run build","qt":"ava","test":"tsd && ava","test:hermes":"./scripts/hermes-test.sh","test:xs":"xst dist/ses.umd.js test/_lockdown-safe.js && node scripts/generate-test-xs.js && xst tmp/test-xs.js && rm -rf tmp","postpack":"git clean -fX \"*.d.ts*\" \"*.d.cts*\" \"*.d.mts*\" \"*.tsbuildinfo\""},"dependencies":{"@endo/cache-map":"^1.1.0","@endo/env-options":"^1.1.11","@endo/immutable-arraybuffer":"^1.1.2"},"devDependencies":{"@babel/generator":"^7.26.3","@babel/parser":"~7.26.2","@babel/traverse":"~7.25.9","@babel/types":"~7.26.0","@endo/compartment-mapper":"^1.6.3","@endo/module-source":"^1.3.3","@endo/test262-runner":"^0.1.48","@types/babel__traverse":"^7.20.5","ava":"^6.1.3","babel-eslint":"^10.1.0","c8":"^7.14.0","core-js":"^3.31.0","eslint":"^8.57.1","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-eslint-comments":"^3.2.0","eslint-plugin-import":"^2.31.0","hermes-engine-cli":"^0.12.0","prettier":"^3.5.3","terser":"^5.16.6","tsd":"^0.31.2","typescript":"~5.8.3"},"files":["./*.d.ts","./*.js","./*.map","LICENSE*","SECURITY*","dist","lib","src","tools"],"publishConfig":{"access":"public"},"eslintConfig":{"extends":["plugin:@endo/ses"]},"ava":{"files":["test/**/*.test.*"],"timeout":"2m"},"typeCoverage":{"atLeast":81.17},"gitHead":"9815aea9541f241389d2135c6097a7442bdffa17","_lastModified":"
|
|
1
|
+
{"name":"ses","version":"1.14.0","description":"Hardened JavaScript for Fearless Cooperation","keywords":["lockdown","harden","Compartment","assert","security","confinement","isolation","object capabilities","ocaps","secure execution","third-party code","prototype pollution","supply-chain attack","plugin"],"author":"Agoric","license":"Apache-2.0","homepage":"https://github.com/Agoric/SES-shim/tree/master/packages/ses#readme","repository":{"type":"git","url":"git+https://github.com/endojs/endo.git","directory":"packages/ses"},"bugs":{"url":"https://github.com/endojs/endo/issues"},"type":"module","main":"./dist/ses.cjs","module":"./index.js","unpkg":"./dist/ses.umd.js","types":"./types.d.ts","exports":{".":{"import":{"types":"./types.d.ts","xs":"./src-xs/index.js","default":"./index.js"},"require":{"types":"./dist/types.d.cts","default":"./dist/ses.cjs"}},"./lockdown":{"import":{"types":"./types.d.ts","default":"./index.js"},"require":{"types":"./dist/types.d.cts","default":"./dist/ses.cjs"}},"./hermes":{"require":{"types":"./dist/types.d.cts","default":"./dist/ses-hermes.cjs"}},"./tools.js":"./tools.js","./assert-shim.js":"./assert-shim.js","./lockdown-shim.js":{"xs":"./src-xs/lockdown-shim.js","default":"./lockdown-shim.js"},"./compartment-shim.js":{"xs":"./src-xs/compartment-shim.js","default":"./compartment-shim.js"},"./console-shim.js":"./console-shim.js","./package.json":"./package.json"},"scripts":{"build:vanilla":"node scripts/bundle.js","build:hermes":"node scripts/bundle.js hermes","build":"yarn build:vanilla && yarn build:hermes","clean":"rm -rf dist","cover":"c8 ava","demo":"python3 -m http.server","lint":"yarn lint:types && yarn lint:eslint","lint-fix":"eslint --fix .","lint:eslint":"eslint .","lint:types":"tsc","prepare":"npm run clean && npm run build","qt":"ava","test":"tsd && ava","test:hermes":"./scripts/hermes-test.sh","test:xs":"xst dist/ses.umd.js test/_lockdown-safe.js && node scripts/generate-test-xs.js && xst tmp/test-xs.js && rm -rf tmp","postpack":"git clean -fX \"*.d.ts*\" \"*.d.cts*\" \"*.d.mts*\" \"*.tsbuildinfo\""},"dependencies":{"@endo/cache-map":"^1.1.0","@endo/env-options":"^1.1.11","@endo/immutable-arraybuffer":"^1.1.2"},"devDependencies":{"@babel/generator":"^7.26.3","@babel/parser":"~7.26.2","@babel/traverse":"~7.25.9","@babel/types":"~7.26.0","@endo/compartment-mapper":"^1.6.3","@endo/module-source":"^1.3.3","@endo/test262-runner":"^0.1.48","@types/babel__traverse":"^7.20.5","ava":"^6.1.3","babel-eslint":"^10.1.0","c8":"^7.14.0","core-js":"^3.31.0","eslint":"^8.57.1","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-eslint-comments":"^3.2.0","eslint-plugin-import":"^2.31.0","hermes-engine-cli":"^0.12.0","prettier":"^3.5.3","terser":"^5.16.6","tsd":"^0.31.2","typescript":"~5.8.3"},"files":["./*.d.ts","./*.js","./*.map","LICENSE*","SECURITY*","dist","lib","src","tools"],"publishConfig":{"access":"public"},"eslintConfig":{"extends":["plugin:@endo/ses"]},"ava":{"files":["test/**/*.test.*"],"timeout":"2m"},"typeCoverage":{"atLeast":81.17},"gitHead":"9815aea9541f241389d2135c6097a7442bdffa17","_lastModified":"2026-01-04T03:43:16.826Z"}
|
|
@@ -32,6 +32,7 @@ module.exports = __toCommonJS(flowsql_exports);
|
|
|
32
32
|
var import_database = require("@nocobase/database");
|
|
33
33
|
var flowsql_default = (0, import_database.defineCollection)({
|
|
34
34
|
name: "flowSql",
|
|
35
|
+
migrationRules: ["overwrite", "schema-only"],
|
|
35
36
|
fields: [
|
|
36
37
|
{
|
|
37
38
|
type: "uid",
|
package/dist/server/index.d.ts
CHANGED
package/dist/server/index.js
CHANGED
|
@@ -36,7 +36,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
36
36
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
37
37
|
var server_exports = {};
|
|
38
38
|
__export(server_exports, {
|
|
39
|
+
FlowModelRepository: () => import_repository.FlowModelRepository,
|
|
39
40
|
default: () => import_plugin.default
|
|
40
41
|
});
|
|
41
42
|
module.exports = __toCommonJS(server_exports);
|
|
42
43
|
var import_plugin = __toESM(require("./plugin"));
|
|
44
|
+
var import_repository = require("./repository");
|
|
45
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
+
0 && (module.exports = {
|
|
47
|
+
FlowModelRepository
|
|
48
|
+
});
|
package/dist/server/plugin.d.ts
CHANGED
|
@@ -12,10 +12,6 @@ export declare class PluginFlowEngineServer extends PluginUISchemaStorageServer
|
|
|
12
12
|
afterAdd(): Promise<void>;
|
|
13
13
|
beforeLoad(): Promise<void>;
|
|
14
14
|
getDatabaseByDataSourceKey(dataSourceKey?: string): import("@nocobase/database").default;
|
|
15
|
-
transformSQL(template: string): {
|
|
16
|
-
sql: string;
|
|
17
|
-
bind: {};
|
|
18
|
-
};
|
|
19
15
|
load(): Promise<void>;
|
|
20
16
|
install(): Promise<void>;
|
|
21
17
|
afterEnable(): Promise<void>;
|
package/dist/server/plugin.js
CHANGED
|
@@ -40,11 +40,12 @@ __export(plugin_exports, {
|
|
|
40
40
|
default: () => plugin_default
|
|
41
41
|
});
|
|
42
42
|
module.exports = __toCommonJS(plugin_exports);
|
|
43
|
+
var import_utils = require("@nocobase/utils");
|
|
43
44
|
var import_server2 = __toESM(require("./server"));
|
|
44
45
|
var import_contexts = require("./template/contexts");
|
|
45
46
|
var import_resolver = require("./template/resolver");
|
|
46
47
|
var import_registry = require("./variables/registry");
|
|
47
|
-
var
|
|
48
|
+
var import_utils2 = require("./variables/utils");
|
|
48
49
|
class PluginFlowEngineServer extends import_server2.default {
|
|
49
50
|
globalContext;
|
|
50
51
|
async afterAdd() {
|
|
@@ -60,22 +61,15 @@ class PluginFlowEngineServer extends import_server2.default {
|
|
|
60
61
|
}
|
|
61
62
|
return cm.db;
|
|
62
63
|
}
|
|
63
|
-
transformSQL(template) {
|
|
64
|
-
let index = 1;
|
|
65
|
-
const bind = {};
|
|
66
|
-
const sql = template.replace(/{{\s*([^}]+)\s*}}/g, (_, expr) => {
|
|
67
|
-
const key = `__var${index}`;
|
|
68
|
-
bind[key] = `{{${expr.trim()}}}`;
|
|
69
|
-
index++;
|
|
70
|
-
return `$${key}`;
|
|
71
|
-
});
|
|
72
|
-
return { sql, bind };
|
|
73
|
-
}
|
|
74
64
|
async load() {
|
|
75
65
|
var _a, _b;
|
|
76
66
|
await super.load();
|
|
67
|
+
this.app.auditManager.registerAction("flowSql:save");
|
|
68
|
+
this.app.auditManager.registerAction("flowModels:save");
|
|
69
|
+
this.app.auditManager.registerAction("flowModels:duplicate");
|
|
77
70
|
this.globalContext = new import_contexts.GlobalContext((_b = (_a = this.app.environment) == null ? void 0 : _a.getVariables) == null ? void 0 : _b.call(_a));
|
|
78
71
|
this.app.acl.allow("flowSql", "runById", "loggedIn");
|
|
72
|
+
this.app.acl.allow("flowSql", "getBind", "loggedIn");
|
|
79
73
|
this.app.acl.allow("variables", "resolve", "loggedIn");
|
|
80
74
|
this.app.acl.allow("fieldAssignments", "apply", "loggedIn");
|
|
81
75
|
this.app.resourceManager.define({
|
|
@@ -88,7 +82,7 @@ class PluginFlowEngineServer extends import_server2.default {
|
|
|
88
82
|
const values = typeof (raw == null ? void 0 : raw.values) !== "undefined" ? raw.values : raw;
|
|
89
83
|
if (Array.isArray(values == null ? void 0 : values.batch)) {
|
|
90
84
|
const batchItems = values.batch;
|
|
91
|
-
await (0,
|
|
85
|
+
await (0, import_utils2.prefetchRecordsForResolve)(
|
|
92
86
|
ctx,
|
|
93
87
|
batchItems.map((it) => ({
|
|
94
88
|
template: it.template,
|
|
@@ -117,7 +111,7 @@ class PluginFlowEngineServer extends import_server2.default {
|
|
|
117
111
|
}
|
|
118
112
|
const template = values.template;
|
|
119
113
|
const contextParams = (values == null ? void 0 : values.contextParams) || {};
|
|
120
|
-
await (0,
|
|
114
|
+
await (0, import_utils2.prefetchRecordsForResolve)(ctx, [{ template, contextParams }]);
|
|
121
115
|
const requestCtx = new import_contexts.HttpRequestContext(ctx);
|
|
122
116
|
requestCtx.delegate(this.globalContext);
|
|
123
117
|
await import_registry.variables.attachUsedVariables(requestCtx, ctx, template, contextParams);
|
|
@@ -133,14 +127,15 @@ class PluginFlowEngineServer extends import_server2.default {
|
|
|
133
127
|
});
|
|
134
128
|
this.app.resourceManager.registerActionHandlers({
|
|
135
129
|
"flowSql:runById": async (ctx, next) => {
|
|
136
|
-
const { uid, type, filter, bind, dataSourceKey = "main" } = ctx.action.params.values;
|
|
130
|
+
const { uid, type, filter, bind, liquidContext, dataSourceKey = "main" } = ctx.action.params.values;
|
|
137
131
|
const r = this.db.getRepository("flowSql");
|
|
138
132
|
const record = await r.findOne({
|
|
139
133
|
filter: { uid }
|
|
140
134
|
});
|
|
141
135
|
const db = this.getDatabaseByDataSourceKey(record.dataSourceKey || dataSourceKey);
|
|
142
|
-
const result =
|
|
143
|
-
|
|
136
|
+
const result = await (0, import_utils.transformSQL)(record.sql);
|
|
137
|
+
const sql = await (0, import_utils.parseLiquidContext)(result.sql, liquidContext);
|
|
138
|
+
ctx.body = await db.runSQL(sql, {
|
|
144
139
|
type,
|
|
145
140
|
filter,
|
|
146
141
|
bind
|
|
@@ -153,8 +148,11 @@ class PluginFlowEngineServer extends import_server2.default {
|
|
|
153
148
|
const record = await r.findOne({
|
|
154
149
|
filter: { uid }
|
|
155
150
|
});
|
|
156
|
-
const { bind } =
|
|
157
|
-
ctx.body =
|
|
151
|
+
const { bind, liquidContext } = await (0, import_utils.transformSQL)(record.sql);
|
|
152
|
+
ctx.body = {
|
|
153
|
+
bind,
|
|
154
|
+
liquidContext
|
|
155
|
+
};
|
|
158
156
|
await next();
|
|
159
157
|
},
|
|
160
158
|
"flowSql:save": async (ctx, next) => {
|
|
@@ -51,6 +51,7 @@ export declare class FlowModelRepository extends Repository {
|
|
|
51
51
|
getParentJsonSchema(uid: string, options?: GetJsonSchemaOptions): Promise<any>;
|
|
52
52
|
getParentProperty(uid: string, options?: GetPropertiesOptions): Promise<any>;
|
|
53
53
|
getJsonSchema(uid: string, options?: GetJsonSchemaOptions): Promise<any>;
|
|
54
|
+
static optionsToJson(options: any): any;
|
|
54
55
|
nodesToSchema(nodes: any, rootUid: any): {
|
|
55
56
|
uid: any;
|
|
56
57
|
"x-async": boolean;
|
|
@@ -70,7 +71,9 @@ export declare class FlowModelRepository extends Repository {
|
|
|
70
71
|
}): Promise<void>;
|
|
71
72
|
remove(uid: string, options?: Transactionable & removeParentOptions): Promise<void>;
|
|
72
73
|
insertAdjacent(position: 'beforeBegin' | 'afterBegin' | 'beforeEnd' | 'afterEnd', target: string, schema: any, options?: InsertAdjacentOptions): Promise<any>;
|
|
73
|
-
duplicate(
|
|
74
|
+
duplicate(modelUid: string, options?: Transactionable): Promise<any>;
|
|
75
|
+
private dedupeNodesForDuplicate;
|
|
76
|
+
private replaceStepParamsModelUids;
|
|
74
77
|
insert(schema: any, options?: Transactionable): Promise<any>;
|
|
75
78
|
insertNewSchema(schema: any, options?: Transactionable & {
|
|
76
79
|
returnNode?: boolean;
|