@flusys/nestjs-entity-builder 9.1.0-rc.1 → 9.1.1
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/README.md +52 -23
- package/config/entity-builder.constants.d.ts +2 -0
- package/config/message-keys.d.ts +102 -13
- package/controllers/definition-bundle.controller.d.ts +15 -0
- package/controllers/flow-definition.controller.d.ts +7 -1
- package/controllers/flow-runtime.controller.d.ts +16 -8
- package/controllers/index.d.ts +1 -1
- package/dtos/definition-bundle.dto.d.ts +57 -0
- package/dtos/flow.dto.d.ts +13 -20
- package/dtos/index.d.ts +1 -0
- package/entities/flow-definition.entity.d.ts +3 -9
- package/entities/flow-execution.entity.d.ts +3 -0
- package/entities/flow-version.entity.d.ts +10 -0
- package/entities/index.d.ts +3 -3
- package/fesm/21.js +105 -15
- package/fesm/458.js +695 -0
- package/fesm/{489.js → 582.js} +22 -30
- package/fesm/{996.js → 677.js} +1562 -1064
- package/fesm/794.js +135 -240
- package/fesm/{719.js → 870.js} +2065 -324
- package/fesm/{362.js → 897.js} +572 -8
- package/fesm/{606.js → 946.js} +621 -296
- package/fesm/config/index.js +15 -2
- package/fesm/controllers/index.js +9 -9
- package/fesm/docs/index.js +7 -4
- package/fesm/dtos/index.js +451 -256
- package/fesm/entities/index.js +58 -3
- package/fesm/guards/index.js +106 -22
- package/fesm/index.js +429 -937
- package/fesm/interfaces/index.js +19 -2
- package/fesm/modules/index.js +10 -627
- package/fesm/rule-engine/index.js +12 -3
- package/fesm/services/index.js +101 -29
- package/flow-engine/flow-api-key.d.ts +3 -7
- package/flow-engine/flow-graph.validator.d.ts +5 -4
- package/flow-engine/flow-permission-logic.d.ts +2 -0
- package/flow-engine/flow-run.types.d.ts +19 -9
- package/flow-engine/flow.types.d.ts +115 -11
- package/guards/designer-writable.interceptor.d.ts +12 -0
- package/guards/index.d.ts +1 -0
- package/interfaces/definition-bundle.interface.d.ts +111 -0
- package/interfaces/entity-builder-module.interface.d.ts +6 -0
- package/interfaces/flow-definition.interface.d.ts +13 -9
- package/interfaces/index.d.ts +1 -0
- package/package.json +5 -5
- package/rule-engine/rule-engine.service.d.ts +1 -0
- package/rule-engine/rule-permission.d.ts +3 -7
- package/services/definition-bundle.diff.d.ts +62 -0
- package/services/definition-bundle.file.d.ts +7 -0
- package/services/definition-bundle.service.d.ts +32 -0
- package/services/entity-builder-config.service.d.ts +2 -0
- package/services/entity-flow-scaffold.d.ts +4 -3
- package/services/flow-definition.service.d.ts +26 -12
- package/services/flow-execution.service.d.ts +7 -0
- package/services/flow-executor.service.d.ts +9 -8
- package/services/flow-runtime.service.d.ts +2 -1
- package/services/generic-entity.service.d.ts +1 -1
- package/services/index.d.ts +3 -1
- package/services/schema-evolution.service.d.ts +3 -1
- package/services/schema-sync.service.d.ts +6 -2
- package/controllers/flow-api-key.controller.d.ts +0 -14
- package/entities/flow-api-key.entity.d.ts +0 -10
- package/services/flow-api-key.service.d.ts +0 -31
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import { type FlowDefinition } from '../entities/flow-definition.entity.js';
|
|
2
|
+
import { type IFlowEndpoint } from '../flow-engine/flow.types.js';
|
|
2
3
|
import { FlowRuntimeService } from '../services/flow-runtime.service.js';
|
|
4
|
+
type FlowRequest = {
|
|
5
|
+
flowDefinition: FlowDefinition;
|
|
6
|
+
flowEndpoint: IFlowEndpoint;
|
|
7
|
+
user?: never;
|
|
8
|
+
ip?: string;
|
|
9
|
+
headers: Record<string, unknown>;
|
|
10
|
+
query?: Record<string, unknown>;
|
|
11
|
+
path?: string;
|
|
12
|
+
};
|
|
3
13
|
export declare class FlowRuntimeController {
|
|
4
14
|
private readonly runtime;
|
|
5
15
|
constructor(runtime: FlowRuntimeService);
|
|
6
|
-
run(_slug: string, body: unknown, req: {
|
|
7
|
-
flowDefinition: FlowDefinition;
|
|
8
|
-
user?: never;
|
|
9
|
-
ip?: string;
|
|
10
|
-
headers: Record<string, unknown>;
|
|
11
|
-
query?: Record<string, unknown>;
|
|
12
|
-
path?: string;
|
|
13
|
-
}, res: {
|
|
16
|
+
run(_slug: string, body: unknown, req: FlowRequest, res: {
|
|
14
17
|
status(code: number): unknown;
|
|
15
18
|
}): Promise<unknown>;
|
|
19
|
+
runEndpoint(_slug: string, _endpoint: string, body: unknown, req: FlowRequest, res: {
|
|
20
|
+
status(code: number): unknown;
|
|
21
|
+
}): Promise<unknown>;
|
|
22
|
+
private answer;
|
|
16
23
|
}
|
|
24
|
+
export {};
|
package/controllers/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './entity-definition.controller.js';
|
|
2
2
|
export * from './field-definition.controller.js';
|
|
3
3
|
export * from './flow-definition.controller.js';
|
|
4
|
-
export * from './flow-api-key.controller.js';
|
|
5
4
|
export * from './flow-execution.controller.js';
|
|
6
5
|
export * from './flow-runtime.controller.js';
|
|
6
|
+
export * from './definition-bundle.controller.js';
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { EntityStatus } from '../enums/entity-status.enum.js';
|
|
2
|
+
import { FieldType } from '../enums/field-type.enum.js';
|
|
3
|
+
import { type IFlowEdge, type IFlowNode } from '../flow-engine/flow.types.js';
|
|
4
|
+
import { DEFINITION_BUNDLE_FORMAT, DEFINITION_BUNDLE_VERSION } from '../interfaces/definition-bundle.interface.js';
|
|
5
|
+
export declare class BundleFieldDto {
|
|
6
|
+
id: string;
|
|
7
|
+
code: string;
|
|
8
|
+
label: string;
|
|
9
|
+
fieldType: FieldType;
|
|
10
|
+
nullable: boolean;
|
|
11
|
+
unique: boolean;
|
|
12
|
+
isIndexed: boolean;
|
|
13
|
+
defaultValue: unknown;
|
|
14
|
+
validationRules: Record<string, unknown> | null;
|
|
15
|
+
selectOptions: unknown[] | null;
|
|
16
|
+
relationTarget: string | null;
|
|
17
|
+
order: number;
|
|
18
|
+
uiConfig: Record<string, unknown> | null;
|
|
19
|
+
isSearchable: boolean;
|
|
20
|
+
deprecated: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare class BundleEntityDto {
|
|
23
|
+
id: string;
|
|
24
|
+
code: string;
|
|
25
|
+
label: string;
|
|
26
|
+
description: string | null;
|
|
27
|
+
status: EntityStatus;
|
|
28
|
+
isSoftDeleteEnabled: boolean;
|
|
29
|
+
isAuditEnabled: boolean;
|
|
30
|
+
uiConfig: Record<string, unknown> | null;
|
|
31
|
+
fields: BundleFieldDto[];
|
|
32
|
+
}
|
|
33
|
+
export declare class BundleFlowDto {
|
|
34
|
+
name: string;
|
|
35
|
+
slug: string;
|
|
36
|
+
description: string | null;
|
|
37
|
+
isActive: boolean;
|
|
38
|
+
retainExecutions: number;
|
|
39
|
+
nodes: IFlowNode[];
|
|
40
|
+
edges: IFlowEdge[];
|
|
41
|
+
}
|
|
42
|
+
export declare class DefinitionBundleDto {
|
|
43
|
+
format: typeof DEFINITION_BUNDLE_FORMAT;
|
|
44
|
+
version: typeof DEFINITION_BUNDLE_VERSION;
|
|
45
|
+
entities: BundleEntityDto[];
|
|
46
|
+
flows: BundleFlowDto[];
|
|
47
|
+
}
|
|
48
|
+
export declare class ExportBundleDto {
|
|
49
|
+
entityCodes?: string[];
|
|
50
|
+
flowSlugs?: string[];
|
|
51
|
+
}
|
|
52
|
+
export declare class ImportBundleOptionsDto {
|
|
53
|
+
deprecateMissingFields?: boolean;
|
|
54
|
+
confirm?: boolean;
|
|
55
|
+
expectedChecksum?: string;
|
|
56
|
+
expectedPlanChecksum?: string;
|
|
57
|
+
}
|
package/dtos/flow.dto.d.ts
CHANGED
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
import { IdentityResponseDto } from '@flusys/nestjs-shared/dtos';
|
|
2
|
-
import { type
|
|
2
|
+
import { type IFlowSnapshot } from '../interfaces/flow-definition.interface.js';
|
|
3
|
+
import { type FlowInput, type IFlowEdge, type IFlowNode } from '../flow-engine/flow.types.js';
|
|
3
4
|
export declare class CreateFlowDefinitionDto {
|
|
4
5
|
name: string;
|
|
5
6
|
slug: string;
|
|
6
7
|
description?: string;
|
|
7
8
|
isActive?: boolean;
|
|
8
|
-
authMode?: FlowAuthMode;
|
|
9
|
-
permissionCode?: string;
|
|
10
|
-
runAs?: FlowRunAs;
|
|
11
|
-
isTransactional?: boolean;
|
|
12
|
-
timeoutMs?: number;
|
|
13
|
-
rateLimitPerMinute?: number;
|
|
14
9
|
retainExecutions?: number;
|
|
15
|
-
bodyType?: FlowBodyType;
|
|
16
|
-
inputSchema?: IFlowInputField[];
|
|
17
10
|
nodes: IFlowNode[];
|
|
18
11
|
edges: IFlowEdge[];
|
|
19
12
|
}
|
|
@@ -26,6 +19,7 @@ export declare class FlowDraftDto extends FlowDraftDto_base {
|
|
|
26
19
|
name?: string;
|
|
27
20
|
id?: string;
|
|
28
21
|
version?: unknown;
|
|
22
|
+
draft?: unknown;
|
|
29
23
|
createdAt?: unknown;
|
|
30
24
|
updatedAt?: unknown;
|
|
31
25
|
deletedAt?: unknown;
|
|
@@ -41,6 +35,7 @@ export declare class TestFlowRequestDto {
|
|
|
41
35
|
export declare class TestFlowDto {
|
|
42
36
|
flowId?: string;
|
|
43
37
|
definition?: FlowDraftDto;
|
|
38
|
+
endpoint?: string;
|
|
44
39
|
input?: FlowInput;
|
|
45
40
|
mode?: 'dry_run' | 'live';
|
|
46
41
|
request?: TestFlowRequestDto;
|
|
@@ -51,9 +46,12 @@ export declare class ValidateFlowDto {
|
|
|
51
46
|
export declare class FlowIdDto {
|
|
52
47
|
flowId: string;
|
|
53
48
|
}
|
|
54
|
-
export declare class
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
export declare class PublishFlowDto {
|
|
50
|
+
id: string;
|
|
51
|
+
note?: string;
|
|
52
|
+
}
|
|
53
|
+
export declare class FlowVersionRefDto extends FlowIdDto {
|
|
54
|
+
version: number;
|
|
57
55
|
}
|
|
58
56
|
export declare class IdBodyDto {
|
|
59
57
|
id: string;
|
|
@@ -61,6 +59,8 @@ export declare class IdBodyDto {
|
|
|
61
59
|
export declare class ListFlowExecutionsDto {
|
|
62
60
|
flowId?: string;
|
|
63
61
|
status?: string;
|
|
62
|
+
trigger?: string;
|
|
63
|
+
endpointNodeId?: string;
|
|
64
64
|
page?: number;
|
|
65
65
|
pageSize?: number;
|
|
66
66
|
}
|
|
@@ -69,17 +69,10 @@ export declare class FlowDefinitionResponseDto extends IdentityResponseDto {
|
|
|
69
69
|
slug: string;
|
|
70
70
|
description: string | null;
|
|
71
71
|
isActive: boolean;
|
|
72
|
-
authMode: FlowAuthMode;
|
|
73
|
-
permissionCode: string | null;
|
|
74
|
-
runAs: FlowRunAs;
|
|
75
|
-
isTransactional: boolean;
|
|
76
|
-
timeoutMs: number;
|
|
77
|
-
rateLimitPerMinute: number;
|
|
78
72
|
retainExecutions: number;
|
|
79
|
-
bodyType: FlowBodyType;
|
|
80
|
-
inputSchema: IFlowInputField[];
|
|
81
73
|
nodes: IFlowNode[];
|
|
82
74
|
edges: IFlowEdge[];
|
|
83
75
|
version: number;
|
|
76
|
+
draft: IFlowSnapshot | null;
|
|
84
77
|
}
|
|
85
78
|
export {};
|
package/dtos/index.d.ts
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
import { Identity } from '@flusys/nestjs-shared';
|
|
2
|
-
import type {
|
|
2
|
+
import type { IFlowEdge, IFlowNode } from '../flow-engine/flow.types.js';
|
|
3
|
+
import type { IFlowSnapshot } from '../interfaces/flow-definition.interface.js';
|
|
3
4
|
export declare class FlowDefinition extends Identity {
|
|
4
5
|
name: string;
|
|
5
6
|
slug: string;
|
|
6
7
|
description: string | null;
|
|
7
8
|
isActive: boolean;
|
|
8
|
-
authMode: FlowAuthMode;
|
|
9
|
-
permissionCode: string | null;
|
|
10
|
-
runAs: FlowRunAs;
|
|
11
|
-
isTransactional: boolean;
|
|
12
|
-
timeoutMs: number;
|
|
13
|
-
rateLimitPerMinute: number;
|
|
14
9
|
retainExecutions: number;
|
|
15
|
-
bodyType: FlowBodyType;
|
|
16
|
-
inputSchema: IFlowInputField[];
|
|
17
10
|
nodes: IFlowNode[];
|
|
18
11
|
edges: IFlowEdge[];
|
|
19
12
|
version: number;
|
|
13
|
+
draft: IFlowSnapshot | null;
|
|
20
14
|
}
|
|
@@ -3,8 +3,11 @@ import type { IFlowTraceEntry } from '../flow-engine/flow-run.types.js';
|
|
|
3
3
|
export declare class FlowExecution extends Identity {
|
|
4
4
|
flowId: string | null;
|
|
5
5
|
flowSlug: string;
|
|
6
|
+
flowVersion: number | null;
|
|
6
7
|
status: string;
|
|
7
8
|
trigger: string;
|
|
9
|
+
endpointNodeId: string | null;
|
|
10
|
+
endpointPath: string | null;
|
|
8
11
|
mode: string;
|
|
9
12
|
statusCode: number;
|
|
10
13
|
input: Record<string, unknown> | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Identity } from '@flusys/nestjs-shared';
|
|
2
|
+
import type { IFlowSnapshot } from '../interfaces/flow-definition.interface.js';
|
|
3
|
+
export declare class FlowVersion extends Identity {
|
|
4
|
+
flowId: string;
|
|
5
|
+
version: number;
|
|
6
|
+
definition: IFlowSnapshot;
|
|
7
|
+
note: string | null;
|
|
8
|
+
publishedAt: Date;
|
|
9
|
+
publishedById: string | null;
|
|
10
|
+
}
|
package/entities/index.d.ts
CHANGED
|
@@ -2,13 +2,13 @@ export * from './entity-definition.entity.js';
|
|
|
2
2
|
export * from './field-definition.entity.js';
|
|
3
3
|
export * from './schema-change-log.entity.js';
|
|
4
4
|
export * from './flow-definition.entity.js';
|
|
5
|
-
export * from './flow-api-key.entity.js';
|
|
6
5
|
export * from './flow-execution.entity.js';
|
|
6
|
+
export * from './flow-version.entity.js';
|
|
7
7
|
import { EntityDefinition } from './entity-definition.entity.js';
|
|
8
8
|
import { FieldDefinition } from './field-definition.entity.js';
|
|
9
9
|
import { SchemaChangeLog } from './schema-change-log.entity.js';
|
|
10
10
|
import { FlowDefinition } from './flow-definition.entity.js';
|
|
11
|
-
import { FlowApiKey } from './flow-api-key.entity.js';
|
|
12
11
|
import { FlowExecution } from './flow-execution.entity.js';
|
|
13
|
-
|
|
12
|
+
import { FlowVersion } from './flow-version.entity.js';
|
|
13
|
+
export declare const EntityBuilderEntities: (typeof EntityDefinition | typeof FieldDefinition | typeof SchemaChangeLog | typeof FlowDefinition | typeof FlowExecution | typeof FlowVersion)[];
|
|
14
14
|
export declare function getEntityBuilderEntities(): typeof EntityBuilderEntities;
|
package/fesm/21.js
CHANGED
|
@@ -257,18 +257,14 @@ const RULE_ENGINE_MESSAGES = {
|
|
|
257
257
|
const FLOW_MESSAGES = {
|
|
258
258
|
NOT_FOUND: 'entity_builder.flow.not.found',
|
|
259
259
|
NOTHING_TO_TEST: 'entity_builder.flow.nothing.to.test',
|
|
260
|
+
ENDPOINT_NOT_FOUND: 'entity_builder.flow.endpoint.not.found',
|
|
260
261
|
INVALID: 'entity_builder.flow.invalid',
|
|
261
262
|
SLUG_TAKEN: 'entity_builder.flow.slug.taken',
|
|
262
263
|
RATE_LIMITED: 'entity_builder.flow.rate.limited',
|
|
263
264
|
API_KEY_INVALID: 'entity_builder.flow.api.key.invalid',
|
|
264
|
-
API_KEY_NOT_FOUND: 'entity_builder.flow.api.key.not.found',
|
|
265
|
-
API_KEY_CREATE_SUCCESS: 'entity_builder.flow.api.key.create.success',
|
|
266
|
-
API_KEY_LIST_SUCCESS: 'entity_builder.flow.api.key.list.success',
|
|
267
|
-
API_KEY_REVOKE_SUCCESS: 'entity_builder.flow.api.key.revoke.success',
|
|
268
|
-
API_KEY_DELETE_SUCCESS: 'entity_builder.flow.api.key.delete.success',
|
|
269
|
-
API_KEY_EXPIRED: 'entity_builder.flow.api.key.expired',
|
|
270
|
-
API_KEY_EXPIRY_IN_PAST: 'entity_builder.flow.api.key.expiry.in.past',
|
|
271
265
|
CALLED_BY_OTHER_FLOWS: 'entity_builder.flow.called.by.other.flows',
|
|
266
|
+
ENDPOINT_CALLED_BY_OTHER_FLOWS: 'entity_builder.flow.endpoint.called.by.other.flows',
|
|
267
|
+
CALLERS_BROKEN: 'entity_builder.flow.callers.broken',
|
|
272
268
|
EXECUTION_NOT_FOUND: 'entity_builder.flow.execution.not.found',
|
|
273
269
|
EXECUTIONS_SUCCESS: 'entity_builder.flow.executions.success',
|
|
274
270
|
EXECUTION_SUCCESS: 'entity_builder.flow.execution.success',
|
|
@@ -285,7 +281,15 @@ const FLOW_MESSAGES = {
|
|
|
285
281
|
INPUT_BODY_NOT_LIST: 'entity_builder.flow.input.body.not.list',
|
|
286
282
|
INPUT_BODY_ITEM_NOT_OBJECT: 'entity_builder.flow.input.body.item.not.object',
|
|
287
283
|
CHECKS_FAILED: 'entity_builder.flow.checks.failed',
|
|
288
|
-
PERMISSION_DENIED: 'entity_builder.flow.permission.denied'
|
|
284
|
+
PERMISSION_DENIED: 'entity_builder.flow.permission.denied',
|
|
285
|
+
PUBLISH_SUCCESS: 'entity_builder.flow.publish.success',
|
|
286
|
+
NOTHING_TO_PUBLISH: 'entity_builder.flow.nothing.to.publish',
|
|
287
|
+
VERSIONS_SUCCESS: 'entity_builder.flow.versions.success',
|
|
288
|
+
VERSION_SUCCESS: 'entity_builder.flow.version.success',
|
|
289
|
+
VERSION_NOT_FOUND: 'entity_builder.flow.version.not.found',
|
|
290
|
+
VERSION_RESTORED: 'entity_builder.flow.version.restored',
|
|
291
|
+
DRAFT_DISCARDED: 'entity_builder.flow.draft.discarded',
|
|
292
|
+
NO_DRAFT: 'entity_builder.flow.no.draft'
|
|
289
293
|
};
|
|
290
294
|
/** Why a run was stopped or a node failed (`trace[].error`, `body.messageKey`). */ const FLOW_ERROR_MESSAGES = {
|
|
291
295
|
NO_TRIGGER: 'entity_builder.flow.error.no.trigger',
|
|
@@ -315,33 +319,50 @@ const FLOW_MESSAGES = {
|
|
|
315
319
|
CODE_OUTPUT_INVALID: 'entity_builder.flow.error.code.output.invalid',
|
|
316
320
|
CODE_UNAVAILABLE: 'entity_builder.flow.error.code.unavailable',
|
|
317
321
|
CALLED_FLOW_NOT_FOUND: 'entity_builder.flow.error.called.flow.not.found',
|
|
322
|
+
CALLED_FLOW_ENDPOINT_NOT_FOUND: 'entity_builder.flow.error.called.flow.endpoint.not.found',
|
|
318
323
|
CALLED_FLOW_NOT_ALLOWED: 'entity_builder.flow.error.called.flow.not.allowed',
|
|
319
324
|
CALLED_FLOW_RECURSION: 'entity_builder.flow.error.called.flow.recursion',
|
|
320
325
|
CALLED_FLOW_TOO_DEEP: 'entity_builder.flow.error.called.flow.too.deep',
|
|
321
326
|
CALLED_FLOW_FAILED: 'entity_builder.flow.error.called.flow.failed',
|
|
322
327
|
CALLED_FLOW_FAILED_AT_NODE: 'entity_builder.flow.error.called.flow.failed.at.node',
|
|
323
|
-
|
|
324
|
-
|
|
328
|
+
FILTER_VALUE_MISSING: 'entity_builder.flow.error.filter.value.missing',
|
|
329
|
+
TOO_MANY_MESSAGES: 'entity_builder.flow.error.too.many.messages',
|
|
330
|
+
TOO_MANY_RECIPIENTS: 'entity_builder.flow.error.too.many.recipients',
|
|
331
|
+
NOTIFICATION_UNAVAILABLE: 'entity_builder.flow.error.notification.unavailable',
|
|
332
|
+
NOTIFICATION_RECIPIENT_INVALID: 'entity_builder.flow.error.notification.recipient.invalid',
|
|
333
|
+
NOTIFICATION_COMPANY_INVALID: 'entity_builder.flow.error.notification.company.invalid',
|
|
334
|
+
NOTIFICATION_BRANCH_INVALID: 'entity_builder.flow.error.notification.branch.invalid',
|
|
335
|
+
NOTIFICATION_COMPANY_UNAVAILABLE: 'entity_builder.flow.error.notification.company.unavailable',
|
|
336
|
+
NOTIFICATION_TITLE_EMPTY: 'entity_builder.flow.error.notification.title.empty',
|
|
337
|
+
NOTIFICATION_FAILED: 'entity_builder.flow.error.notification.failed',
|
|
338
|
+
EMAIL_UNAVAILABLE: 'entity_builder.flow.error.email.unavailable',
|
|
339
|
+
EMAIL_ADDRESS_INVALID: 'entity_builder.flow.error.email.address.invalid',
|
|
340
|
+
EMAIL_SUBJECT_EMPTY: 'entity_builder.flow.error.email.subject.empty',
|
|
341
|
+
EMAIL_BODY_EMPTY: 'entity_builder.flow.error.email.body.empty',
|
|
342
|
+
EMAIL_FAILED: 'entity_builder.flow.error.email.failed'
|
|
325
343
|
};
|
|
326
344
|
/** Why a node was not executed in a test run (`output.reasonKey`). */ const FLOW_SKIP_MESSAGES = {
|
|
327
345
|
HTTP: 'entity_builder.flow.skip.http',
|
|
328
346
|
EVENTS: 'entity_builder.flow.skip.events',
|
|
347
|
+
NOTIFICATION: 'entity_builder.flow.skip.notification',
|
|
348
|
+
EMAIL: 'entity_builder.flow.skip.email',
|
|
349
|
+
NO_RECIPIENTS: 'entity_builder.flow.skip.no.recipients',
|
|
329
350
|
COMMIT_DRY_RUN: 'entity_builder.flow.skip.commit.dry.run',
|
|
330
351
|
COMMIT_NO_TRANSACTION: 'entity_builder.flow.skip.commit.no.transaction',
|
|
331
352
|
COMMIT_JOINED: 'entity_builder.flow.skip.commit.joined'
|
|
332
353
|
};
|
|
333
354
|
/** Save-time findings about a flow (`validateFlow`). */ const FLOW_VALIDATION_MESSAGES = {
|
|
334
355
|
SLUG_INVALID: 'entity_builder.flow.validation.slug.invalid',
|
|
335
|
-
RUN_AS_CALLER_NEEDS_AUTH: 'entity_builder.flow.validation.run.as.caller.needs.auth',
|
|
336
|
-
RUN_AS_INVALID: 'entity_builder.flow.validation.run.as.invalid',
|
|
337
|
-
AUTH_MODE_INVALID: 'entity_builder.flow.validation.auth.mode.invalid',
|
|
338
356
|
NO_NODES: 'entity_builder.flow.validation.no.nodes',
|
|
339
357
|
TOO_MANY_NODES: 'entity_builder.flow.validation.too.many.nodes',
|
|
340
358
|
TOO_MANY_EDGES: 'entity_builder.flow.validation.too.many.edges',
|
|
341
359
|
NODE_ID_INVALID: 'entity_builder.flow.validation.node.id.invalid',
|
|
342
360
|
NODE_ID_DUPLICATE: 'entity_builder.flow.validation.node.id.duplicate',
|
|
343
361
|
NODE_TYPE_UNKNOWN: 'entity_builder.flow.validation.node.type.unknown',
|
|
344
|
-
|
|
362
|
+
TRIGGER_MISSING: 'entity_builder.flow.validation.trigger.missing',
|
|
363
|
+
TRIGGER_MAIN_DUPLICATE: 'entity_builder.flow.validation.trigger.main.duplicate',
|
|
364
|
+
TRIGGER_PATH_INVALID: 'entity_builder.flow.validation.trigger.path.invalid',
|
|
365
|
+
TRIGGER_PATH_DUPLICATE: 'entity_builder.flow.validation.trigger.path.duplicate',
|
|
345
366
|
EDGE_ID_DUPLICATE: 'entity_builder.flow.validation.edge.id.duplicate',
|
|
346
367
|
EDGE_DANGLING: 'entity_builder.flow.validation.edge.dangling',
|
|
347
368
|
EDGE_SELF: 'entity_builder.flow.validation.edge.self',
|
|
@@ -356,8 +377,17 @@ const FLOW_MESSAGES = {
|
|
|
356
377
|
COMMIT_NOT_TRANSACTIONAL: 'entity_builder.flow.validation.commit.not.transactional',
|
|
357
378
|
COMMIT_IN_LOOP: 'entity_builder.flow.validation.commit.in.loop',
|
|
358
379
|
COMMIT_IN_CALLED_FLOW: 'entity_builder.flow.validation.commit.in.called.flow',
|
|
359
|
-
PUBLIC_SYSTEM_ENTITY: 'entity_builder.flow.validation.public.system.entity',
|
|
360
380
|
PERMISSION_WITHOUT_USER: 'entity_builder.flow.validation.permission.without.user',
|
|
381
|
+
KEYLESS_ENTITY: 'entity_builder.flow.validation.keyless.entity',
|
|
382
|
+
TRIGGER_AUTH_INVALID: 'entity_builder.flow.validation.trigger.auth.invalid',
|
|
383
|
+
TRIGGER_TRANSACTION_INVALID: 'entity_builder.flow.validation.trigger.transaction.invalid',
|
|
384
|
+
TRIGGER_TIMEOUT_RANGE: 'entity_builder.flow.validation.trigger.timeout.range',
|
|
385
|
+
TRIGGER_RATE_LIMIT_RANGE: 'entity_builder.flow.validation.trigger.rate.limit.range',
|
|
386
|
+
TRIGGER_API_KEY_REQUIRED: 'entity_builder.flow.validation.trigger.api.key.required',
|
|
387
|
+
TRIGGER_API_KEY_INVALID: 'entity_builder.flow.validation.trigger.api.key.invalid',
|
|
388
|
+
NODE_FORWARDS_TOKEN: 'entity_builder.flow.validation.node.forwards.token',
|
|
389
|
+
NODE_ACCESS_TARGET_REQUIRED: 'entity_builder.flow.validation.node.access.target.required',
|
|
390
|
+
NODE_ACCESS_USER_REQUIRED: 'entity_builder.flow.validation.node.access.user.required',
|
|
361
391
|
INPUT_TOO_MANY: 'entity_builder.flow.validation.input.too.many',
|
|
362
392
|
INPUT_NAME_INVALID: 'entity_builder.flow.validation.input.name.invalid',
|
|
363
393
|
INPUT_NAME_DUPLICATE: 'entity_builder.flow.validation.input.name.duplicate',
|
|
@@ -379,6 +409,7 @@ const FLOW_MESSAGES = {
|
|
|
379
409
|
NODE_CASE_DUPLICATE: 'entity_builder.flow.validation.node.case.duplicate',
|
|
380
410
|
NODE_MAX_ITEMS_RANGE: 'entity_builder.flow.validation.node.max.items.range',
|
|
381
411
|
NODE_LIMIT_RANGE: 'entity_builder.flow.validation.node.limit.range',
|
|
412
|
+
NODE_SORT_INVALID: 'entity_builder.flow.validation.node.sort.invalid',
|
|
382
413
|
NODE_WRITE_TARGET_INVALID: 'entity_builder.flow.validation.node.write.target.invalid',
|
|
383
414
|
NODE_NOT_FOUND_INVALID: 'entity_builder.flow.validation.node.not.found.invalid',
|
|
384
415
|
NODE_FILTER_REQUIRED: 'entity_builder.flow.validation.node.filter.required',
|
|
@@ -389,6 +420,8 @@ const FLOW_MESSAGES = {
|
|
|
389
420
|
NODE_CHILD_PARENT_FIELD_REQUIRED: 'entity_builder.flow.validation.node.child.parent.field.required',
|
|
390
421
|
NODE_CHOOSE_FLOW: 'entity_builder.flow.validation.node.choose.flow',
|
|
391
422
|
NODE_FLOW_UNKNOWN: 'entity_builder.flow.validation.node.flow.unknown',
|
|
423
|
+
NODE_FLOW_ENDPOINT_UNKNOWN: 'entity_builder.flow.validation.node.flow.endpoint.unknown',
|
|
424
|
+
NODE_FLOW_ENDPOINT_REQUIRED: 'entity_builder.flow.validation.node.flow.endpoint.required',
|
|
392
425
|
NODE_CALLS_ITSELF: 'entity_builder.flow.validation.node.calls.itself',
|
|
393
426
|
NODE_FLOW_INACTIVE: 'entity_builder.flow.validation.node.flow.inactive',
|
|
394
427
|
NODE_FLOW_API_KEY: 'entity_builder.flow.validation.node.flow.api.key',
|
|
@@ -401,6 +434,15 @@ const FLOW_MESSAGES = {
|
|
|
401
434
|
NODE_CHOOSE_METHOD: 'entity_builder.flow.validation.node.choose.method',
|
|
402
435
|
NODE_TIMEOUT_RANGE: 'entity_builder.flow.validation.node.timeout.range',
|
|
403
436
|
NODE_EVENT_NAME_INVALID: 'entity_builder.flow.validation.node.event.name.invalid',
|
|
437
|
+
NODE_NOTIFICATION_UNAVAILABLE: 'entity_builder.flow.validation.node.notification.unavailable',
|
|
438
|
+
NODE_NOTIFICATION_OPTION_INVALID: 'entity_builder.flow.validation.node.notification.option.invalid',
|
|
439
|
+
NODE_NOTIFICATION_COMPANY_UNAVAILABLE: 'entity_builder.flow.validation.node.notification.company.unavailable',
|
|
440
|
+
NODE_MESSAGE_TARGET_INVALID: 'entity_builder.flow.validation.node.message.target.invalid',
|
|
441
|
+
NODE_EMAIL_UNAVAILABLE: 'entity_builder.flow.validation.node.email.unavailable',
|
|
442
|
+
NODE_EMAIL_OPTION_INVALID: 'entity_builder.flow.validation.node.email.option.invalid',
|
|
443
|
+
NODE_EMAIL_TEMPLATE_REQUIRED: 'entity_builder.flow.validation.node.email.template.required',
|
|
444
|
+
MESSAGE_AFTER_COMMIT: 'entity_builder.flow.validation.message.after.commit',
|
|
445
|
+
PUBLIC_MESSAGE: 'entity_builder.flow.validation.public.message',
|
|
404
446
|
NODE_STATUS_2XX_5XX: 'entity_builder.flow.validation.node.status.2xx.5xx',
|
|
405
447
|
REF_BAD_SCOPE: 'entity_builder.flow.validation.ref.bad.scope',
|
|
406
448
|
REF_NODE_MISSING: 'entity_builder.flow.validation.ref.node.missing',
|
|
@@ -468,6 +510,22 @@ const FLOW_MESSAGES = {
|
|
|
468
510
|
THE_URL: 'entity_builder.flow.subject.the.url',
|
|
469
511
|
THE_INPUT_LIST: 'entity_builder.flow.subject.the.input.list',
|
|
470
512
|
THE_RESPONSE: 'entity_builder.flow.subject.the.response',
|
|
513
|
+
THE_RECIPIENTS: 'entity_builder.flow.subject.the.recipients',
|
|
514
|
+
THE_TITLE: 'entity_builder.flow.subject.the.title',
|
|
515
|
+
THE_MESSAGE: 'entity_builder.flow.subject.the.message',
|
|
516
|
+
THE_COMPANY: 'entity_builder.flow.subject.the.company',
|
|
517
|
+
THE_COMPANIES: 'entity_builder.flow.subject.the.companies',
|
|
518
|
+
THE_BRANCHES: 'entity_builder.flow.subject.the.branches',
|
|
519
|
+
THE_USER: 'entity_builder.flow.subject.the.user',
|
|
520
|
+
THE_CC: 'entity_builder.flow.subject.the.cc',
|
|
521
|
+
THE_BCC: 'entity_builder.flow.subject.the.bcc',
|
|
522
|
+
THE_REPLY_TO: 'entity_builder.flow.subject.the.reply.to',
|
|
523
|
+
THE_SUBJECT: 'entity_builder.flow.subject.the.subject',
|
|
524
|
+
THE_BODY: 'entity_builder.flow.subject.the.body',
|
|
525
|
+
DATA_VALUES: 'entity_builder.flow.subject.data.values',
|
|
526
|
+
DATA_VALUE: 'entity_builder.flow.subject.data.value',
|
|
527
|
+
TEMPLATE_VALUES: 'entity_builder.flow.subject.template.values',
|
|
528
|
+
TEMPLATE_VALUE: 'entity_builder.flow.subject.template.value',
|
|
471
529
|
VARIABLES: 'entity_builder.flow.subject.variables',
|
|
472
530
|
VARIABLE: 'entity_builder.flow.subject.variable',
|
|
473
531
|
FIELDS: 'entity_builder.flow.subject.fields',
|
|
@@ -485,6 +543,37 @@ const FLOW_MESSAGES = {
|
|
|
485
543
|
RESPONSE_VALUES: 'entity_builder.flow.subject.response.values',
|
|
486
544
|
RESPONSE_VALUE: 'entity_builder.flow.subject.response.value'
|
|
487
545
|
};
|
|
546
|
+
/** Promoting entity and flow definitions between environments (export / plan-import / apply-import). */ const BUNDLE_MESSAGES = {
|
|
547
|
+
SETTINGS_SUCCESS: 'entity_builder.bundle.settings.success',
|
|
548
|
+
EXPORT_SUCCESS: 'entity_builder.bundle.export.success',
|
|
549
|
+
PLAN_SUCCESS: 'entity_builder.bundle.plan.success',
|
|
550
|
+
APPLY_SUCCESS: 'entity_builder.bundle.apply.success',
|
|
551
|
+
APPLY_PARTIAL: 'entity_builder.bundle.apply.partial',
|
|
552
|
+
APPLY_BLOCKED: 'entity_builder.bundle.apply.blocked',
|
|
553
|
+
CHECKSUM_MISMATCH: 'entity_builder.bundle.checksum.mismatch',
|
|
554
|
+
PLAN_CHANGED: 'entity_builder.bundle.plan.changed',
|
|
555
|
+
PLAN_CHECKSUM_REQUIRED: 'entity_builder.bundle.plan.checksum.required',
|
|
556
|
+
ENTITY_DRAFT_IN_BUNDLE: 'entity_builder.bundle.entity.draft.in.bundle',
|
|
557
|
+
ENTITY_DRAFT_HERE: 'entity_builder.bundle.entity.draft.here',
|
|
558
|
+
ENTITY_DRAFT_SKIPPED: 'entity_builder.bundle.entity.draft.skipped',
|
|
559
|
+
RENAME_VIA_TEMPORARY: 'entity_builder.bundle.rename.via.temporary',
|
|
560
|
+
FILE_REQUIRED: 'entity_builder.bundle.file.required',
|
|
561
|
+
FILE_INVALID: 'entity_builder.bundle.file.invalid',
|
|
562
|
+
CONFIRM_REQUIRED: 'entity_builder.bundle.confirm.required',
|
|
563
|
+
DUPLICATE_ENTITY: 'entity_builder.bundle.duplicate.entity',
|
|
564
|
+
DUPLICATE_FIELD: 'entity_builder.bundle.duplicate.field',
|
|
565
|
+
DUPLICATE_FLOW: 'entity_builder.bundle.duplicate.flow',
|
|
566
|
+
RELATION_TARGET_UNKNOWN: 'entity_builder.bundle.relation.target.unknown',
|
|
567
|
+
ENTITY_CODE_CHANGED: 'entity_builder.bundle.entity.code.changed',
|
|
568
|
+
VARIABLE_MISSING: 'entity_builder.bundle.variable.missing',
|
|
569
|
+
FLOW_SLUG_DELETED: 'entity_builder.bundle.flow.slug.deleted',
|
|
570
|
+
FLOW_UNPUBLISHED_SKIPPED: 'entity_builder.bundle.flow.unpublished.skipped',
|
|
571
|
+
FLOW_DRAFT_REPLACED: 'entity_builder.bundle.flow.draft.replaced',
|
|
572
|
+
FLOW_API_KEY_GENERATED: 'entity_builder.bundle.flow.api.key.generated',
|
|
573
|
+
STEP_AFTER_EARLIER: 'entity_builder.bundle.step.after.earlier',
|
|
574
|
+
FLOWS_CHECKED_ON_APPLY: 'entity_builder.bundle.flows.checked.on.apply',
|
|
575
|
+
DESIGNER_READ_ONLY: 'entity_builder.designer.read.only'
|
|
576
|
+
};
|
|
488
577
|
|
|
489
578
|
__webpack_require__.d(__webpack_exports__, {
|
|
490
579
|
}, {
|
|
@@ -500,6 +589,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
500
589
|
Vu: SCHEMA_FINDING_MESSAGES,
|
|
501
590
|
aB: SCHEMA_IMPACT_MESSAGES,
|
|
502
591
|
bc: FLOW_SUBJECT_MESSAGES,
|
|
592
|
+
iX: BUNDLE_MESSAGES,
|
|
503
593
|
j4: GENERIC_RECORD_MESSAGES,
|
|
504
594
|
oc: FIELD_DEFINITION_MESSAGES,
|
|
505
595
|
pL: ENTITY_DEFINITION_MESSAGES,
|