@nocobase/plugin-flow-engine 2.1.0-alpha.2 → 2.1.0-alpha.20
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/LICENSE +201 -661
- package/README.md +79 -9
- package/dist/ai/ai-employees/nathan/index.d.ts +10 -0
- package/dist/ai/ai-employees/nathan/index.js +41 -0
- package/dist/ai/ai-employees/nathan/prompt.md +132 -0
- package/dist/ai/ai-employees/nathan/skills/frontend-developer/SKILLS.md +69 -0
- package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/getContextApis.js +2 -2
- package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/getContextEnvs.js +2 -2
- package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/getContextVars.js +2 -2
- package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/lintAndTestJS.js +2 -2
- package/dist/ai/docs/runjs/context/block-model.md +35 -35
- package/dist/ai/docs/runjs/context/collection-field.md +53 -51
- package/dist/ai/docs/runjs/context/collection.md +39 -39
- package/dist/ai/docs/runjs/context/data-source-manager.md +40 -30
- package/dist/ai/docs/runjs/context/data-source.md +52 -44
- package/dist/ai/docs/runjs/context/element.md +44 -38
- package/dist/ai/docs/runjs/context/exit-all.md +37 -35
- package/dist/ai/docs/runjs/context/exit.md +38 -35
- package/dist/ai/docs/runjs/context/filter-manager.md +36 -30
- package/dist/ai/docs/runjs/context/form.md +57 -57
- package/dist/ai/docs/runjs/context/get-model.md +22 -21
- package/dist/ai/docs/runjs/context/get-value.md +20 -19
- package/dist/ai/docs/runjs/context/get-var.md +61 -55
- package/dist/ai/docs/runjs/context/i18n.md +17 -14
- package/dist/ai/docs/runjs/context/import-async.md +333 -45
- package/dist/ai/docs/runjs/context/init-resource.md +20 -20
- package/dist/ai/docs/runjs/context/libs.md +31 -31
- package/dist/ai/docs/runjs/context/location.md +34 -31
- package/dist/ai/docs/runjs/context/logger.md +41 -40
- package/dist/ai/docs/runjs/context/make-resource.md +27 -26
- package/dist/ai/docs/runjs/context/message.md +42 -41
- package/dist/ai/docs/runjs/context/modal.md +44 -44
- package/dist/ai/docs/runjs/context/model.md +36 -33
- package/dist/ai/docs/runjs/context/notification.md +41 -40
- package/dist/ai/docs/runjs/context/off.md +14 -14
- package/dist/ai/docs/runjs/context/on.md +30 -29
- package/dist/ai/docs/runjs/context/open-view.md +40 -40
- package/dist/ai/docs/runjs/context/render.md +37 -32
- package/dist/ai/docs/runjs/context/request.md +46 -45
- package/dist/ai/docs/runjs/context/require-async.md +28 -25
- package/dist/ai/docs/runjs/context/resource.md +34 -34
- package/dist/ai/docs/runjs/context/route.md +36 -34
- package/dist/ai/docs/runjs/context/router.md +43 -31
- package/dist/ai/docs/runjs/context/set-value.md +18 -17
- package/dist/ai/docs/runjs/context/sql.md +7 -15
- package/dist/ai/docs/runjs/context/t.md +20 -17
- package/dist/ai/docs/runjs/context/view.md +49 -46
- package/dist/ai/docs/runjs/document.md +1 -0
- package/dist/ai/docs/runjs/import-modules.md +32 -32
- package/dist/ai/docs/runjs/index.md +13 -13
- package/dist/ai/docs/runjs/jsx.md +19 -19
- package/dist/ai/docs/runjs/model/form-block-model.md +1 -3
- package/dist/ai/docs/runjs/render.md +15 -15
- package/dist/ai/docs/runjs/resource/api-resource.md +53 -53
- package/dist/ai/docs/runjs/resource/multi-record-resource.md +64 -64
- package/dist/ai/docs/runjs/resource/single-record-resource.md +55 -55
- package/dist/ai/docs/runjs/resource/sql-resource.md +57 -57
- package/dist/ai/docs/runjs/window.md +5 -5
- package/dist/client/index.js +1 -1
- package/dist/externalVersion.js +11 -11
- package/dist/locale/en-US.json +1 -0
- package/dist/locale/index.d.ts +2 -0
- package/dist/locale/zh-CN.json +1 -0
- package/dist/node_modules/ses/package.json +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/collections/flowsql.js +1 -0
- package/dist/server/flow-surfaces/action-scope.d.ts +37 -0
- package/dist/server/flow-surfaces/action-scope.js +148 -0
- package/dist/server/flow-surfaces/apply/compiler.d.ts +13 -0
- package/dist/server/flow-surfaces/apply/compiler.js +969 -0
- package/dist/server/flow-surfaces/apply/layout.d.ts +34 -0
- package/dist/server/flow-surfaces/apply/layout.js +175 -0
- package/dist/server/flow-surfaces/apply/matching.d.ts +16 -0
- package/dist/server/flow-surfaces/apply/matching.js +181 -0
- package/dist/server/flow-surfaces/approval/blueprint-service.d.ts +84 -0
- package/dist/server/flow-surfaces/approval/blueprint-service.js +589 -0
- package/dist/server/flow-surfaces/approval/blueprint.d.ts +21 -0
- package/dist/server/flow-surfaces/approval/blueprint.js +187 -0
- package/dist/server/flow-surfaces/approval/builder.d.ts +225 -0
- package/dist/server/flow-surfaces/approval/builder.js +384 -0
- package/dist/server/flow-surfaces/approval/catalog-specs.d.ts +33 -0
- package/dist/server/flow-surfaces/approval/catalog-specs.js +156 -0
- package/dist/server/flow-surfaces/approval/index.d.ts +14 -0
- package/dist/server/flow-surfaces/approval/index.js +40 -0
- package/dist/server/flow-surfaces/approval/runtime-config.d.ts +44 -0
- package/dist/server/flow-surfaces/approval/runtime-config.js +299 -0
- package/dist/server/flow-surfaces/approval/semantic-use.d.ts +23 -0
- package/dist/server/flow-surfaces/approval/semantic-use.js +155 -0
- package/dist/server/flow-surfaces/association-title-field.d.ts +20 -0
- package/dist/server/flow-surfaces/association-title-field.js +158 -0
- package/dist/server/flow-surfaces/blueprint/compile-blocks.d.ts +14 -0
- package/dist/server/flow-surfaces/blueprint/compile-blocks.js +844 -0
- package/dist/server/flow-surfaces/blueprint/compile-plan.d.ts +13 -0
- package/dist/server/flow-surfaces/blueprint/compile-plan.js +308 -0
- package/dist/server/flow-surfaces/blueprint/compile-reaction.d.ts +11 -0
- package/dist/server/flow-surfaces/blueprint/compile-reaction.js +72 -0
- package/dist/server/flow-surfaces/blueprint/index.d.ts +12 -0
- package/dist/server/flow-surfaces/blueprint/index.js +44 -0
- package/dist/server/flow-surfaces/blueprint/normalize-document.d.ts +10 -0
- package/dist/server/flow-surfaces/blueprint/normalize-document.js +296 -0
- package/dist/server/flow-surfaces/blueprint/private-utils.d.ts +26 -0
- package/dist/server/flow-surfaces/blueprint/private-utils.js +182 -0
- package/dist/server/flow-surfaces/blueprint/public-types.d.ts +161 -0
- package/dist/server/flow-surfaces/blueprint/public-types.js +24 -0
- package/dist/server/flow-surfaces/builder.d.ts +211 -0
- package/dist/server/flow-surfaces/builder.js +931 -0
- package/dist/server/flow-surfaces/catalog-smart.d.ts +18 -0
- package/dist/server/flow-surfaces/catalog-smart.js +239 -0
- package/dist/server/flow-surfaces/catalog-smart.projector.d.ts +15 -0
- package/dist/server/flow-surfaces/catalog-smart.projector.js +157 -0
- package/dist/server/flow-surfaces/catalog-smart.types.d.ts +99 -0
- package/dist/server/flow-surfaces/catalog-smart.types.js +24 -0
- package/dist/server/flow-surfaces/catalog.d.ts +78 -0
- package/dist/server/flow-surfaces/catalog.js +3254 -0
- package/dist/server/flow-surfaces/chart-config.d.ts +121 -0
- package/dist/server/flow-surfaces/chart-config.js +1394 -0
- package/dist/server/flow-surfaces/compose-compiler.d.ts +106 -0
- package/dist/server/flow-surfaces/compose-compiler.js +163 -0
- package/dist/server/flow-surfaces/compose-runtime.d.ts +93 -0
- package/dist/server/flow-surfaces/compose-runtime.js +375 -0
- package/dist/server/flow-surfaces/configure-options.d.ts +23 -0
- package/dist/server/flow-surfaces/configure-options.js +751 -0
- package/dist/server/flow-surfaces/constants.d.ts +351 -0
- package/dist/server/flow-surfaces/constants.js +104 -0
- package/dist/server/flow-surfaces/context.d.ts +72 -0
- package/dist/server/flow-surfaces/context.js +556 -0
- package/dist/server/flow-surfaces/contract-guard.d.ts +19 -0
- package/dist/server/flow-surfaces/contract-guard.js +411 -0
- package/dist/server/flow-surfaces/default-action-popup.d.ts +53 -0
- package/dist/server/flow-surfaces/default-action-popup.js +262 -0
- package/dist/server/flow-surfaces/default-block-actions.d.ts +32 -0
- package/dist/server/flow-surfaces/default-block-actions.js +178 -0
- package/dist/server/flow-surfaces/errors.d.ts +47 -0
- package/dist/server/flow-surfaces/errors.js +145 -0
- package/dist/server/flow-surfaces/executor.d.ts +23 -0
- package/dist/server/flow-surfaces/executor.js +132 -0
- package/dist/server/flow-surfaces/field-binding-registry.d.ts +23 -0
- package/dist/server/flow-surfaces/field-binding-registry.js +391 -0
- package/dist/server/flow-surfaces/field-semantics.d.ts +15 -0
- package/dist/server/flow-surfaces/field-semantics.js +81 -0
- package/dist/server/flow-surfaces/index.d.ts +11 -0
- package/dist/server/flow-surfaces/index.js +175 -0
- package/dist/server/flow-surfaces/locator.d.ts +28 -0
- package/dist/server/flow-surfaces/locator.js +240 -0
- package/dist/server/flow-surfaces/node-use-sets.d.ts +15 -0
- package/dist/server/flow-surfaces/node-use-sets.js +126 -0
- package/dist/server/flow-surfaces/payload-shape.d.ts +9 -0
- package/dist/server/flow-surfaces/payload-shape.js +61 -0
- package/dist/server/flow-surfaces/placement.d.ts +33 -0
- package/dist/server/flow-surfaces/placement.js +192 -0
- package/dist/server/flow-surfaces/planning/action-specs.d.ts +179 -0
- package/dist/server/flow-surfaces/planning/action-specs.js +190 -0
- package/dist/server/flow-surfaces/planning/compiler.d.ts +37 -0
- package/dist/server/flow-surfaces/planning/compiler.js +376 -0
- package/dist/server/flow-surfaces/planning/context.d.ts +30 -0
- package/dist/server/flow-surfaces/planning/context.js +139 -0
- package/dist/server/flow-surfaces/planning/created-keys.d.ts +34 -0
- package/dist/server/flow-surfaces/planning/created-keys.js +375 -0
- package/dist/server/flow-surfaces/planning/key-kind.d.ts +11 -0
- package/dist/server/flow-surfaces/planning/key-kind.js +88 -0
- package/dist/server/flow-surfaces/planning/key-persistence.d.ts +34 -0
- package/dist/server/flow-surfaces/planning/key-persistence.js +148 -0
- package/dist/server/flow-surfaces/planning/key-registry.d.ts +40 -0
- package/dist/server/flow-surfaces/planning/key-registry.js +206 -0
- package/dist/server/flow-surfaces/planning/runtime.d.ts +37 -0
- package/dist/server/flow-surfaces/planning/runtime.js +259 -0
- package/dist/server/flow-surfaces/planning/step-link.d.ts +14 -0
- package/dist/server/flow-surfaces/planning/step-link.js +104 -0
- package/dist/server/flow-surfaces/planning/types.d.ts +55 -0
- package/dist/server/flow-surfaces/planning/types.js +24 -0
- package/dist/server/flow-surfaces/reaction/errors.d.ts +20 -0
- package/dist/server/flow-surfaces/reaction/errors.js +69 -0
- package/dist/server/flow-surfaces/reaction/field-value.d.ts +34 -0
- package/dist/server/flow-surfaces/reaction/field-value.js +181 -0
- package/dist/server/flow-surfaces/reaction/fingerprint.d.ts +16 -0
- package/dist/server/flow-surfaces/reaction/fingerprint.js +71 -0
- package/dist/server/flow-surfaces/reaction/linkage.d.ts +136 -0
- package/dist/server/flow-surfaces/reaction/linkage.js +882 -0
- package/dist/server/flow-surfaces/reaction/meta.d.ts +11 -0
- package/dist/server/flow-surfaces/reaction/meta.js +451 -0
- package/dist/server/flow-surfaces/reaction/registry.d.ts +149 -0
- package/dist/server/flow-surfaces/reaction/registry.js +199 -0
- package/dist/server/flow-surfaces/reaction/resolver.d.ts +22 -0
- package/dist/server/flow-surfaces/reaction/resolver.js +202 -0
- package/dist/server/flow-surfaces/reaction/types.d.ts +241 -0
- package/dist/server/flow-surfaces/reaction/types.js +24 -0
- package/dist/server/flow-surfaces/reaction/utils.d.ts +17 -0
- package/dist/server/flow-surfaces/reaction/utils.js +67 -0
- package/dist/server/flow-surfaces/reaction/value-expr.d.ts +15 -0
- package/dist/server/flow-surfaces/reaction/value-expr.js +209 -0
- package/dist/server/flow-surfaces/reference-guards.d.ts +19 -0
- package/dist/server/flow-surfaces/reference-guards.js +103 -0
- package/dist/server/flow-surfaces/route-sync.d.ts +47 -0
- package/dist/server/flow-surfaces/route-sync.js +392 -0
- package/dist/server/flow-surfaces/service-helpers.d.ts +42 -0
- package/dist/server/flow-surfaces/service-helpers.js +377 -0
- package/dist/server/flow-surfaces/service-utils.d.ts +101 -0
- package/dist/server/flow-surfaces/service-utils.js +762 -0
- package/dist/server/flow-surfaces/service.d.ts +703 -0
- package/dist/server/flow-surfaces/service.js +11376 -0
- package/dist/server/flow-surfaces/support-matrix.d.ts +28 -0
- package/dist/server/flow-surfaces/support-matrix.js +246 -0
- package/dist/server/flow-surfaces/surface-context.d.ts +52 -0
- package/dist/server/flow-surfaces/surface-context.js +436 -0
- package/dist/server/flow-surfaces/template-compatibility.d.ts +42 -0
- package/dist/server/flow-surfaces/template-compatibility.js +189 -0
- package/dist/server/flow-surfaces/template-service-utils.d.ts +62 -0
- package/dist/server/flow-surfaces/template-service-utils.js +281 -0
- package/dist/server/flow-surfaces/types.d.ts +287 -0
- package/dist/server/flow-surfaces/types.js +24 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +7 -2
- package/dist/server/plugin.d.ts +0 -1
- package/dist/server/plugin.js +9 -34
- package/dist/server/repository.js +0 -5
- package/dist/server/variables/resolve.d.ts +21 -0
- package/dist/server/variables/resolve.js +79 -0
- package/dist/swagger/flow-surfaces.d.ts +5804 -0
- package/dist/swagger/flow-surfaces.examples.d.ts +1427 -0
- package/dist/swagger/flow-surfaces.examples.js +1607 -0
- package/dist/swagger/flow-surfaces.js +5195 -0
- package/dist/swagger/flow-surfaces.template-action-docs.d.ts +62 -0
- package/dist/swagger/flow-surfaces.template-action-docs.js +121 -0
- package/dist/swagger/flow-surfaces.template-schemas.d.ts +239 -0
- package/dist/swagger/flow-surfaces.template-schemas.js +255 -0
- package/dist/swagger/index.d.ts +5809 -0
- package/dist/swagger/index.js +50 -0
- package/package.json +3 -3
- /package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/getContextApis.d.ts +0 -0
- /package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/getContextEnvs.d.ts +0 -0
- /package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/getContextVars.d.ts +0 -0
- /package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/lintAndTestJS.d.ts +0 -0
package/dist/server/plugin.d.ts
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import PluginUISchemaStorageServer from './server';
|
|
10
10
|
export declare class PluginFlowEngineServer extends PluginUISchemaStorageServer {
|
|
11
|
-
private globalContext;
|
|
12
11
|
afterAdd(): Promise<void>;
|
|
13
12
|
beforeLoad(): Promise<void>;
|
|
14
13
|
getDatabaseByDataSourceKey(dataSourceKey?: string): import("@nocobase/database").default;
|
package/dist/server/plugin.js
CHANGED
|
@@ -41,13 +41,10 @@ __export(plugin_exports, {
|
|
|
41
41
|
});
|
|
42
42
|
module.exports = __toCommonJS(plugin_exports);
|
|
43
43
|
var import_utils = require("@nocobase/utils");
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
var
|
|
47
|
-
|
|
48
|
-
var import_utils2 = require("./variables/utils");
|
|
49
|
-
class PluginFlowEngineServer extends import_server2.default {
|
|
50
|
-
globalContext;
|
|
44
|
+
var import_flow_surfaces = require("./flow-surfaces");
|
|
45
|
+
var import_server = __toESM(require("./server"));
|
|
46
|
+
var import_resolve = require("./variables/resolve");
|
|
47
|
+
class PluginFlowEngineServer extends import_server.default {
|
|
51
48
|
async afterAdd() {
|
|
52
49
|
}
|
|
53
50
|
async beforeLoad() {
|
|
@@ -62,12 +59,11 @@ class PluginFlowEngineServer extends import_server2.default {
|
|
|
62
59
|
return cm.db;
|
|
63
60
|
}
|
|
64
61
|
async load() {
|
|
65
|
-
var _a, _b;
|
|
66
62
|
await super.load();
|
|
63
|
+
(0, import_flow_surfaces.registerFlowSurfacesResource)(this);
|
|
67
64
|
this.app.auditManager.registerAction("flowSql:save");
|
|
68
65
|
this.app.auditManager.registerAction("flowModels:save");
|
|
69
66
|
this.app.auditManager.registerAction("flowModels:duplicate");
|
|
70
|
-
this.globalContext = new import_contexts.GlobalContext((_b = (_a = this.app.environment) == null ? void 0 : _a.getVariables) == null ? void 0 : _b.call(_a));
|
|
71
67
|
this.app.acl.allow("flowSql", "runById", "loggedIn");
|
|
72
68
|
this.app.acl.allow("flowSql", "getBind", "loggedIn");
|
|
73
69
|
this.app.acl.allow("variables", "resolve", "loggedIn");
|
|
@@ -77,28 +73,12 @@ class PluginFlowEngineServer extends import_server2.default {
|
|
|
77
73
|
actions: {
|
|
78
74
|
// 解析 JSON 模板中的 ctx 变量
|
|
79
75
|
resolve: async (ctx, next) => {
|
|
80
|
-
var
|
|
81
|
-
const raw = ((
|
|
76
|
+
var _a, _b;
|
|
77
|
+
const raw = ((_b = (_a = ctx.action) == null ? void 0 : _a.params) == null ? void 0 : _b.values) ?? {};
|
|
82
78
|
const values = typeof (raw == null ? void 0 : raw.values) !== "undefined" ? raw.values : raw;
|
|
83
79
|
if (Array.isArray(values == null ? void 0 : values.batch)) {
|
|
84
80
|
const batchItems = values.batch;
|
|
85
|
-
await (0,
|
|
86
|
-
ctx,
|
|
87
|
-
batchItems.map((it) => ({
|
|
88
|
-
template: it.template,
|
|
89
|
-
contextParams: it.contextParams || {}
|
|
90
|
-
}))
|
|
91
|
-
);
|
|
92
|
-
const results = [];
|
|
93
|
-
for (const item of batchItems) {
|
|
94
|
-
const template2 = (item == null ? void 0 : item.template) ?? {};
|
|
95
|
-
const contextParams2 = (item == null ? void 0 : item.contextParams) || {};
|
|
96
|
-
const requestCtx2 = new import_contexts.HttpRequestContext(ctx);
|
|
97
|
-
requestCtx2.delegate(this.globalContext);
|
|
98
|
-
await import_registry.variables.attachUsedVariables(requestCtx2, ctx, template2, contextParams2);
|
|
99
|
-
const resolved2 = await (0, import_resolver.resolveJsonTemplate)(template2, requestCtx2);
|
|
100
|
-
results.push({ id: item == null ? void 0 : item.id, data: resolved2 });
|
|
101
|
-
}
|
|
81
|
+
const results = await (0, import_resolve.resolveVariablesBatch)(ctx, batchItems);
|
|
102
82
|
ctx.body = { results };
|
|
103
83
|
await next();
|
|
104
84
|
return;
|
|
@@ -111,12 +91,7 @@ class PluginFlowEngineServer extends import_server2.default {
|
|
|
111
91
|
}
|
|
112
92
|
const template = values.template;
|
|
113
93
|
const contextParams = (values == null ? void 0 : values.contextParams) || {};
|
|
114
|
-
await (0,
|
|
115
|
-
const requestCtx = new import_contexts.HttpRequestContext(ctx);
|
|
116
|
-
requestCtx.delegate(this.globalContext);
|
|
117
|
-
await import_registry.variables.attachUsedVariables(requestCtx, ctx, template, contextParams);
|
|
118
|
-
const resolved = await (0, import_resolver.resolveJsonTemplate)(template, requestCtx);
|
|
119
|
-
ctx.body = resolved;
|
|
94
|
+
ctx.body = await (0, import_resolve.resolveVariablesTemplate)(ctx, template, contextParams);
|
|
120
95
|
await next();
|
|
121
96
|
}
|
|
122
97
|
}
|
|
@@ -793,11 +793,6 @@ WHERE TreeTable.depth = 1 AND TreeTable.ancestor = :ancestor and TreeTable.sort
|
|
|
793
793
|
transaction: transaction2
|
|
794
794
|
});
|
|
795
795
|
if (oldParentUid !== null && oldParentUid !== parentUid) {
|
|
796
|
-
await this.database.emitAsync("uiSchemaMove", savedNode, {
|
|
797
|
-
transaction: transaction2,
|
|
798
|
-
oldParentUid,
|
|
799
|
-
parentUid
|
|
800
|
-
});
|
|
801
796
|
if (options.removeParentsIfNoChildren) {
|
|
802
797
|
await this.recursivelyRemoveIfNoChildren({
|
|
803
798
|
transaction: transaction2,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { ResourcerContext } from '@nocobase/resourcer';
|
|
10
|
+
import { JSONValue } from '../template/resolver';
|
|
11
|
+
type ResolveBatchItem = {
|
|
12
|
+
id?: string | number;
|
|
13
|
+
template: JSONValue;
|
|
14
|
+
contextParams?: Record<string, unknown>;
|
|
15
|
+
};
|
|
16
|
+
export declare function resolveVariablesTemplate(ctx: ResourcerContext, template: JSONValue, contextParams?: Record<string, unknown>): Promise<any>;
|
|
17
|
+
export declare function resolveVariablesBatch(ctx: ResourcerContext, items: ResolveBatchItem[]): Promise<{
|
|
18
|
+
id?: string | number;
|
|
19
|
+
data: unknown;
|
|
20
|
+
}[]>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var resolve_exports = {};
|
|
28
|
+
__export(resolve_exports, {
|
|
29
|
+
resolveVariablesBatch: () => resolveVariablesBatch,
|
|
30
|
+
resolveVariablesTemplate: () => resolveVariablesTemplate
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(resolve_exports);
|
|
33
|
+
var import_contexts = require("../template/contexts");
|
|
34
|
+
var import_resolver = require("../template/resolver");
|
|
35
|
+
var import_registry = require("./registry");
|
|
36
|
+
var import_utils = require("./utils");
|
|
37
|
+
const GLOBAL_CONTEXT_KEY = Symbol.for("nocobase.flow-engine.variables.global-context");
|
|
38
|
+
function getGlobalContext(ctx) {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
const app = ctx.app;
|
|
41
|
+
if (!app[GLOBAL_CONTEXT_KEY]) {
|
|
42
|
+
app[GLOBAL_CONTEXT_KEY] = new import_contexts.GlobalContext((_b = (_a = app.environment) == null ? void 0 : _a.getVariables) == null ? void 0 : _b.call(_a));
|
|
43
|
+
}
|
|
44
|
+
return app[GLOBAL_CONTEXT_KEY];
|
|
45
|
+
}
|
|
46
|
+
async function resolveVariablesTemplate(ctx, template, contextParams = {}) {
|
|
47
|
+
await (0, import_utils.prefetchRecordsForResolve)(ctx, [{ template, contextParams }]);
|
|
48
|
+
return resolveVariablesTemplateWithPrefetchedRecords(ctx, template, contextParams);
|
|
49
|
+
}
|
|
50
|
+
async function resolveVariablesTemplateWithPrefetchedRecords(ctx, template, contextParams = {}) {
|
|
51
|
+
const requestCtx = new import_contexts.HttpRequestContext(ctx);
|
|
52
|
+
requestCtx.delegate(getGlobalContext(ctx));
|
|
53
|
+
await import_registry.variables.attachUsedVariables(requestCtx, ctx, template, contextParams);
|
|
54
|
+
return (0, import_resolver.resolveJsonTemplate)(template, requestCtx);
|
|
55
|
+
}
|
|
56
|
+
async function resolveVariablesBatch(ctx, items) {
|
|
57
|
+
await (0, import_utils.prefetchRecordsForResolve)(
|
|
58
|
+
ctx,
|
|
59
|
+
items.map((item) => ({
|
|
60
|
+
template: (item == null ? void 0 : item.template) ?? {},
|
|
61
|
+
contextParams: (item == null ? void 0 : item.contextParams) || {}
|
|
62
|
+
}))
|
|
63
|
+
);
|
|
64
|
+
const results = [];
|
|
65
|
+
for (const item of items) {
|
|
66
|
+
const data = await resolveVariablesTemplateWithPrefetchedRecords(
|
|
67
|
+
ctx,
|
|
68
|
+
(item == null ? void 0 : item.template) ?? {},
|
|
69
|
+
(item == null ? void 0 : item.contextParams) || {}
|
|
70
|
+
);
|
|
71
|
+
results.push({ id: item == null ? void 0 : item.id, data });
|
|
72
|
+
}
|
|
73
|
+
return results;
|
|
74
|
+
}
|
|
75
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
76
|
+
0 && (module.exports = {
|
|
77
|
+
resolveVariablesBatch,
|
|
78
|
+
resolveVariablesTemplate
|
|
79
|
+
});
|