@contrail/cli 3.4.1 → 3.4.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/README.md +5 -4
- package/bin/dev +0 -0
- package/bin/run +0 -0
- package/dist/__mocks__/@contrail/sdk.d.ts +123 -123
- package/dist/__mocks__/@contrail/sdk.js +716 -716
- package/dist/api/app-extension-deployments.d.ts +2 -2
- package/dist/api/app-extension-deployments.js +11 -11
- package/dist/api/app-extension-packages.d.ts +2 -2
- package/dist/api/app-extension-packages.js +11 -11
- package/dist/api/apps.d.ts +10 -10
- package/dist/api/apps.js +63 -63
- package/dist/api/event-workflow-action-definition.d.ts +3 -3
- package/dist/api/event-workflow-action-definition.js +18 -18
- package/dist/api/event-workflow-template-definition.d.ts +7 -7
- package/dist/api/event-workflow-template-definition.js +26 -26
- package/dist/api/event-workflow-templates.d.ts +8 -8
- package/dist/api/event-workflow-templates.js +32 -32
- package/dist/api/schedules.d.ts +7 -7
- package/dist/api/schedules.js +32 -32
- package/dist/api/types.d.ts +11 -11
- package/dist/api/types.js +79 -79
- package/dist/api/users.d.ts +2 -2
- package/dist/api/users.js +18 -18
- package/dist/api/webhooks.d.ts +4 -4
- package/dist/api/webhooks.js +16 -16
- package/dist/auth/login.d.ts +3 -3
- package/dist/auth/login.js +221 -221
- package/dist/auth/login.spec.d.ts +1 -1
- package/dist/auth/login.spec.js +10 -10
- package/dist/baseFlags.d.ts +10 -10
- package/dist/baseFlags.js +25 -25
- package/dist/basecommand.d.ts +15 -15
- package/dist/basecommand.js +83 -83
- package/dist/commands/app/create.d.ts +10 -10
- package/dist/commands/app/create.js +96 -96
- package/dist/commands/app/delete.d.ts +11 -11
- package/dist/commands/app/delete.js +40 -40
- package/dist/commands/app/extension/deploy.d.ts +18 -18
- package/dist/commands/app/extension/deploy.js +127 -127
- package/dist/commands/app/extension/deployment/list.d.ts +14 -14
- package/dist/commands/app/extension/deployment/list.js +82 -82
- package/dist/commands/app/getApiKey.d.ts +11 -11
- package/dist/commands/app/getApiKey.js +49 -49
- package/dist/commands/app/init.d.ts +10 -10
- package/dist/commands/app/init.js +67 -67
- package/dist/commands/app/install.d.ts +13 -13
- package/dist/commands/app/install.js +135 -135
- package/dist/commands/app/publish.d.ts +14 -14
- package/dist/commands/app/publish.js +69 -69
- package/dist/commands/app/uninstall.d.ts +12 -12
- package/dist/commands/app/uninstall.js +68 -68
- package/dist/commands/app/upgrade.d.ts +14 -14
- package/dist/commands/app/upgrade.js +108 -108
- package/dist/commands/app/version/major.d.ts +11 -11
- package/dist/commands/app/version/major.js +39 -39
- package/dist/commands/app/version/minor.d.ts +11 -11
- package/dist/commands/app/version/minor.js +39 -39
- package/dist/commands/app/version/patch.d.ts +11 -11
- package/dist/commands/app/version/patch.js +39 -39
- package/dist/commands/config/create.d.ts +12 -12
- package/dist/commands/config/create.js +27 -27
- package/dist/commands/config/describe.d.ts +14 -14
- package/dist/commands/config/describe.js +46 -46
- package/dist/commands/config/list.d.ts +11 -11
- package/dist/commands/config/list.js +38 -38
- package/dist/commands/config/set.d.ts +16 -16
- package/dist/commands/config/set.js +46 -46
- package/dist/commands/config/use.d.ts +14 -14
- package/dist/commands/config/use.js +47 -47
- package/dist/commands/file/upload.d.ts +15 -15
- package/dist/commands/file/upload.js +69 -69
- package/dist/commands/groups/export.d.ts +14 -14
- package/dist/commands/groups/export.js +103 -103
- package/dist/commands/groups/import.d.ts +14 -14
- package/dist/commands/groups/import.js +190 -190
- package/dist/commands/instance/export.d.ts +12 -12
- package/dist/commands/instance/export.js +36 -36
- package/dist/commands/instance/import.d.ts +11 -11
- package/dist/commands/instance/import.js +34 -34
- package/dist/commands/load/colors.d.ts +14 -14
- package/dist/commands/load/colors.js +53 -53
- package/dist/commands/load/custom-entity.d.ts +14 -14
- package/dist/commands/load/custom-entity.js +55 -55
- package/dist/commands/load/line-sheet.d.ts +14 -14
- package/dist/commands/load/line-sheet.js +55 -55
- package/dist/commands/load/upload-and-load.d.ts +14 -14
- package/dist/commands/load/upload-and-load.js +46 -46
- package/dist/commands/projects/export.d.ts +13 -13
- package/dist/commands/projects/export.js +35 -35
- package/dist/commands/projects/list.d.ts +10 -10
- package/dist/commands/projects/list.js +36 -36
- package/dist/commands/projects/load.d.ts +25 -25
- package/dist/commands/projects/load.js +198 -198
- package/dist/commands/types/exportOptionSetHierarchies.d.ts +11 -11
- package/dist/commands/types/exportOptionSetHierarchies.js +133 -133
- package/dist/commands/types/getAll.d.ts +21 -21
- package/dist/commands/types/getAll.js +180 -180
- package/dist/commands/types/getOptionSets.d.ts +16 -16
- package/dist/commands/types/getOptionSets.js +170 -170
- package/dist/commands/types/loadAll.d.ts +12 -12
- package/dist/commands/types/loadAll.js +55 -55
- package/dist/commands/types/mergeOptionSets.d.ts +13 -13
- package/dist/commands/types/mergeOptionSets.js +116 -119
- package/dist/commands/types/mergeTypeProperties.d.ts +15 -15
- package/dist/commands/types/mergeTypeProperties.js +95 -95
- package/dist/commands/types/parseOptionSetsHierarchyLocalFile.d.ts +14 -14
- package/dist/commands/types/parseOptionSetsHierarchyLocalFile.js +133 -133
- package/dist/commands/types/parseOptionSetsHierarchyValuesToKeysLocalFile.d.ts +14 -14
- package/dist/commands/types/parseOptionSetsHierarchyValuesToKeysLocalFile.js +102 -102
- package/dist/commands/types/parseOptionSetsLocalFiles.d.ts +39 -39
- package/dist/commands/types/parseOptionSetsLocalFiles.js +229 -229
- package/dist/commands/types/parseOptionSetsToFolderStructure.d.ts +13 -13
- package/dist/commands/types/parseOptionSetsToFolderStructure.js +68 -68
- package/dist/commands/types/parseTypesFromFiles.d.ts +14 -14
- package/dist/commands/types/parseTypesFromFiles.js +40 -40
- package/dist/commands/types/parseTypesFromLocalFiles.d.ts +14 -14
- package/dist/commands/types/parseTypesFromLocalFiles.js +37 -37
- package/dist/commands/types/parseTypesFromTemplateAndDataFromLocalFiles.d.ts +15 -15
- package/dist/commands/types/parseTypesFromTemplateAndDataFromLocalFiles.js +39 -39
- package/dist/commands/types/parseTypesFromTemplateFromLocalFiles.d.ts +14 -14
- package/dist/commands/types/parseTypesFromTemplateFromLocalFiles.js +38 -38
- package/dist/commands/types/uploadOptionSetHierarchies.d.ts +12 -12
- package/dist/commands/types/uploadOptionSetHierarchies.js +257 -257
- package/dist/commands/types/uploadOptionSets.d.ts +13 -13
- package/dist/commands/types/uploadOptionSets.js +155 -155
- package/dist/commands/types/uploadOptionSetsHierarchyLocalFile.d.ts +15 -15
- package/dist/commands/types/uploadOptionSetsHierarchyLocalFile.js +135 -135
- package/dist/commands/types/uploadRuleSets.d.ts +12 -12
- package/dist/commands/types/uploadRuleSets.js +197 -197
- package/dist/commands/types/uploadTypePolicies.d.ts +12 -12
- package/dist/commands/types/uploadTypePolicies.js +233 -233
- package/dist/commands/types/uploadTypePropertyPolicies.d.ts +13 -13
- package/dist/commands/types/uploadTypePropertyPolicies.js +286 -286
- package/dist/commands/types/uploadTypes.d.ts +13 -13
- package/dist/commands/types/uploadTypes.js +35 -35
- package/dist/commands/types/uploadUsageInfo.d.ts +12 -12
- package/dist/commands/types/uploadUsageInfo.js +172 -172
- package/dist/commands/users/export.d.ts +14 -14
- package/dist/commands/users/export.js +76 -76
- package/dist/commands/users/import.d.ts +14 -14
- package/dist/commands/users/import.js +68 -68
- package/dist/commands/webhooks/create.d.ts +11 -11
- package/dist/commands/webhooks/create.js +25 -25
- package/dist/commands/webhooks/delete.d.ts +14 -14
- package/dist/commands/webhooks/delete.js +53 -53
- package/dist/commands/webhooks/getWebhookTrigger.d.ts +13 -13
- package/dist/commands/webhooks/getWebhookTrigger.js +40 -40
- package/dist/commands/webhooks/list.d.ts +12 -12
- package/dist/commands/webhooks/list.js +31 -31
- package/dist/commands/workflow-template-definitions/install.d.ts +10 -10
- package/dist/commands/workflow-template-definitions/install.js +19 -19
- package/dist/commands/workflow-template-definitions/list.d.ts +10 -10
- package/dist/commands/workflow-template-definitions/list.js +19 -19
- package/dist/commands/workflow-templates/delete.d.ts +10 -10
- package/dist/commands/workflow-templates/delete.js +19 -19
- package/dist/commands/workflow-templates/export.d.ts +14 -14
- package/dist/commands/workflow-templates/export.js +78 -78
- package/dist/commands/workflow-templates/list.d.ts +10 -10
- package/dist/commands/workflow-templates/list.js +19 -19
- package/dist/commands/workflow-templates/load.d.ts +13 -13
- package/dist/commands/workflow-templates/load.js +26 -26
- package/dist/common.d.ts +4 -4
- package/dist/common.js +18 -18
- package/dist/helpers/app/actions-deployer.d.ts +11 -11
- package/dist/helpers/app/actions-deployer.js +123 -123
- package/dist/helpers/app/app-config-validators.d.ts +22 -22
- package/dist/helpers/app/app-config-validators.js +100 -100
- package/dist/helpers/app/app-config-validators.spec.d.ts +1 -1
- package/dist/helpers/app/app-config-validators.spec.js +310 -310
- package/dist/helpers/app/app-deployer.d.ts +12 -12
- package/dist/helpers/app/app-deployer.js +278 -278
- package/dist/helpers/app/app-template-parsers.d.ts +14 -14
- package/dist/helpers/app/app-template-parsers.js +106 -106
- package/dist/helpers/app/extension-package-deployer.d.ts +7 -7
- package/dist/helpers/app/extension-package-deployer.js +175 -175
- package/dist/helpers/app/extensions-deployer.d.ts +9 -9
- package/dist/helpers/app/extensions-deployer.js +95 -93
- package/dist/helpers/app/load-app-config.d.ts +4 -4
- package/dist/helpers/app/load-app-config.js +22 -22
- package/dist/helpers/app/metadata-extractor.d.ts +1 -1
- package/dist/helpers/app/metadata-extractor.js +100 -100
- package/dist/helpers/app/setup-template.d.ts +8 -8
- package/dist/helpers/app/setup-template.js +48 -48
- package/dist/helpers/app/update-app-config.d.ts +2 -2
- package/dist/helpers/app/update-app-config.js +20 -20
- package/dist/helpers/app/upgrade-version.d.ts +16 -16
- package/dist/helpers/app/upgrade-version.js +37 -37
- package/dist/helpers/app/upgrade-version.spec.d.ts +1 -1
- package/dist/helpers/app/upgrade-version.spec.js +33 -33
- package/dist/helpers/colors/helpers.d.ts +12 -12
- package/dist/helpers/colors/helpers.js +84 -84
- package/dist/helpers/config/config.d.ts +16 -16
- package/dist/helpers/config/config.js +223 -223
- package/dist/helpers/file-helpers.d.ts +2 -2
- package/dist/helpers/file-helpers.js +36 -36
- package/dist/helpers/load/helpers.d.ts +20 -20
- package/dist/helpers/load/helpers.js +141 -141
- package/dist/helpers/load/helpers.spec.d.ts +1 -1
- package/dist/helpers/load/helpers.spec.js +62 -62
- package/dist/helpers/load/validators.d.ts +14 -14
- package/dist/helpers/load/validators.js +182 -182
- package/dist/helpers/load/validators.spec.d.ts +1 -1
- package/dist/helpers/load/validators.spec.js +450 -450
- package/dist/helpers/projects/helpers.d.ts +3 -3
- package/dist/helpers/projects/helpers.js +167 -167
- package/dist/helpers/types/csv-parser.d.ts +1 -1
- package/dist/helpers/types/csv-parser.js +59 -59
- package/dist/helpers/types/option-set-helper.d.ts +9 -0
- package/dist/helpers/types/option-set-helper.js +48 -0
- package/dist/helpers/types/option-set-helper.spec.d.ts +1 -0
- package/dist/helpers/types/option-set-helper.spec.js +69 -0
- package/dist/helpers/types/parseOptionSetsLocalFiles.spec.d.ts +1 -1
- package/dist/helpers/types/parseOptionSetsLocalFiles.spec.js +285 -285
- package/dist/helpers/types/type-extractor.d.ts +1 -1
- package/dist/helpers/types/type-extractor.js +36 -36
- package/dist/helpers/types/type-parser.d.ts +4 -4
- package/dist/helpers/types/type-parser.js +119 -119
- package/dist/helpers/types/type-uploader.d.ts +20 -20
- package/dist/helpers/types/type-uploader.js +336 -336
- package/dist/helpers/types/type-uploader.spec.d.ts +1 -1
- package/dist/helpers/types/type-uploader.spec.js +266 -266
- package/dist/helpers/types/uploadOptionSets.spec.d.ts +1 -1
- package/dist/helpers/types/uploadOptionSets.spec.js +19 -19
- package/dist/helpers/workflow-template-definitions/workflow-template-definition-deployer.d.ts +12 -12
- package/dist/helpers/workflow-template-definitions/workflow-template-definition-deployer.js +158 -158
- package/dist/helpers/workflow-templates/helper.d.ts +20 -20
- package/dist/helpers/workflow-templates/helper.js +285 -285
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -5
- package/dist/interfaces.d.ts +445 -444
- package/dist/interfaces.js +163 -163
- package/dist/logger.d.ts +3 -3
- package/dist/logger.js +33 -33
- package/oclif.manifest.json +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,264 +1,264 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const type_uploader_1 = require("./type-uploader");
|
|
4
|
-
const login_1 = require("../../auth/login");
|
|
5
|
-
const sdk_1 = require("../../__mocks__/@contrail/sdk");
|
|
6
|
-
jest.mock('../../auth/login');
|
|
7
|
-
describe('extractValueDifferences', () => {
|
|
8
|
-
it('should return the correct value differences', () => {
|
|
9
|
-
const object1 = {
|
|
10
|
-
name: 'John',
|
|
11
|
-
age: 30,
|
|
12
|
-
city: 'New York',
|
|
13
|
-
};
|
|
14
|
-
const object2 = {
|
|
15
|
-
name: 'John',
|
|
16
|
-
age: 35,
|
|
17
|
-
city: 'Los Angeles',
|
|
18
|
-
country: 'USA',
|
|
19
|
-
};
|
|
20
|
-
const expectedValueDiff = {
|
|
21
|
-
adds: ['country'],
|
|
22
|
-
updates: ['age', 'city'],
|
|
23
|
-
deletions: [],
|
|
24
|
-
};
|
|
25
|
-
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, []);
|
|
26
|
-
expect(valueDiff).toEqual(expectedValueDiff);
|
|
27
|
-
});
|
|
28
|
-
it('should handle empty objects', () => {
|
|
29
|
-
const object1 = {};
|
|
30
|
-
const object2 = {};
|
|
31
|
-
const expectedValueDiff = {
|
|
32
|
-
adds: [],
|
|
33
|
-
updates: [],
|
|
34
|
-
deletions: [],
|
|
35
|
-
};
|
|
36
|
-
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, []);
|
|
37
|
-
expect(valueDiff).toEqual(expectedValueDiff);
|
|
38
|
-
});
|
|
39
|
-
it('should handle objects with no shared keys', () => {
|
|
40
|
-
const object1 = {
|
|
41
|
-
name: 'John',
|
|
42
|
-
age: 30,
|
|
43
|
-
};
|
|
44
|
-
const object2 = {
|
|
45
|
-
city: 'New York',
|
|
46
|
-
country: 'USA',
|
|
47
|
-
};
|
|
48
|
-
const expectedValueDiff = {
|
|
49
|
-
adds: ['city', 'country'],
|
|
50
|
-
updates: [],
|
|
51
|
-
deletions: ['name', 'age'],
|
|
52
|
-
};
|
|
53
|
-
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, []);
|
|
54
|
-
expect(valueDiff).toEqual(expectedValueDiff);
|
|
55
|
-
});
|
|
56
|
-
it('should handle objects with shared keys but no differences', () => {
|
|
57
|
-
const object1 = {
|
|
58
|
-
name: 'John',
|
|
59
|
-
age: 30,
|
|
60
|
-
};
|
|
61
|
-
const object2 = {
|
|
62
|
-
name: 'John',
|
|
63
|
-
age: 30,
|
|
64
|
-
};
|
|
65
|
-
const expectedValueDiff = {
|
|
66
|
-
adds: [],
|
|
67
|
-
updates: [],
|
|
68
|
-
deletions: [],
|
|
69
|
-
};
|
|
70
|
-
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, []);
|
|
71
|
-
expect(valueDiff).toEqual(expectedValueDiff);
|
|
72
|
-
});
|
|
73
|
-
it('should handle correctly ignore keys on deletion', () => {
|
|
74
|
-
const object1 = {
|
|
75
|
-
name: 'John',
|
|
76
|
-
age: 30,
|
|
77
|
-
};
|
|
78
|
-
const object2 = {
|
|
79
|
-
name: 'John',
|
|
80
|
-
};
|
|
81
|
-
const expectedValueDiff = {
|
|
82
|
-
adds: [],
|
|
83
|
-
updates: [],
|
|
84
|
-
deletions: [],
|
|
85
|
-
};
|
|
86
|
-
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, ['age']);
|
|
87
|
-
expect(valueDiff).toEqual(expectedValueDiff);
|
|
88
|
-
});
|
|
89
|
-
it('should handle correctly ignore keys on updates', () => {
|
|
90
|
-
const object1 = {
|
|
91
|
-
name: 'John',
|
|
92
|
-
age: 30,
|
|
93
|
-
};
|
|
94
|
-
const object2 = {
|
|
95
|
-
name: 'John',
|
|
96
|
-
age: 15,
|
|
97
|
-
};
|
|
98
|
-
const expectedValueDiff = {
|
|
99
|
-
adds: [],
|
|
100
|
-
updates: [],
|
|
101
|
-
deletions: [],
|
|
102
|
-
};
|
|
103
|
-
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, ['age']);
|
|
104
|
-
expect(valueDiff).toEqual(expectedValueDiff);
|
|
105
|
-
});
|
|
106
|
-
it('should handle correctly ignore keys on deletion', () => {
|
|
107
|
-
const object1 = {
|
|
108
|
-
name: 'John',
|
|
109
|
-
};
|
|
110
|
-
const object2 = {
|
|
111
|
-
name: 'John',
|
|
112
|
-
age: 30,
|
|
113
|
-
};
|
|
114
|
-
const expectedValueDiff = {
|
|
115
|
-
adds: [],
|
|
116
|
-
updates: [],
|
|
117
|
-
deletions: [],
|
|
118
|
-
};
|
|
119
|
-
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, ['age']);
|
|
120
|
-
expect(valueDiff).toEqual(expectedValueDiff);
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
describe('uploadTypes', () => {
|
|
124
|
-
let updateSpy;
|
|
125
|
-
let createSpy;
|
|
126
|
-
let requestSpy;
|
|
127
|
-
let fsSpy;
|
|
128
|
-
let authUserMock;
|
|
129
|
-
beforeEach(() => {
|
|
130
|
-
// Mock authUser
|
|
131
|
-
authUserMock = login_1.authUser;
|
|
132
|
-
authUserMock.mockResolvedValue({ orgSlug: 'test-org' });
|
|
133
|
-
const sdk = require('@contrail/sdk');
|
|
134
|
-
updateSpy = jest.spyOn(sdk.Entities.prototype, 'update');
|
|
135
|
-
createSpy = jest.spyOn(sdk.Entities.prototype, 'create');
|
|
136
|
-
// Mock Request.request as a function
|
|
137
|
-
sdk.Request = { request: jest.fn() };
|
|
138
|
-
requestSpy = sdk.Request.request;
|
|
139
|
-
// Mock filesystem operations
|
|
140
|
-
jest.spyOn(require('fs'), 'readdirSync').mockReturnValue(['color.yml']);
|
|
141
|
-
fsSpy = jest.spyOn(require('fs'), 'readFileSync');
|
|
142
|
-
fsSpy.mockReturnValue(FULL_TYPE_YML);
|
|
143
|
-
});
|
|
144
|
-
afterEach(() => {
|
|
145
|
-
jest.restoreAllMocks();
|
|
146
|
-
});
|
|
147
|
-
it('should fully re-populate type and its properties when not merging', async () => {
|
|
148
|
-
fsSpy.mockReturnValue(FULL_TYPE_YML);
|
|
149
|
-
await (0, type_uploader_1.uploadTypes)('mock-dir', { isMerge: false });
|
|
150
|
-
const nonCoreTypePropertiesCount = sdk_1.BASE_TYPE_WITH_PROPERTIES.typeProperties.filter((prop) => !prop.core).length;
|
|
151
|
-
expect(updateSpy).toHaveBeenCalledTimes(nonCoreTypePropertiesCount + 1); // +1 for the type update
|
|
152
|
-
expect(requestSpy).toHaveBeenCalledTimes(0);
|
|
153
|
-
expect(createSpy).toHaveBeenCalledTimes(0);
|
|
154
|
-
});
|
|
155
|
-
it('should modify property "label" on type only', async () => {
|
|
156
|
-
fsSpy.mockReturnValue(TYPE_WITH_UPDATED_LABEL_YML);
|
|
157
|
-
await (0, type_uploader_1.uploadTypes)('mock-dir', { isMerge: true });
|
|
158
|
-
expect(requestSpy).toHaveBeenCalledTimes(0);
|
|
159
|
-
expect(createSpy).toHaveBeenCalledTimes(0);
|
|
160
|
-
expect(updateSpy).toHaveBeenCalledTimes(1);
|
|
161
|
-
expect(updateSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
162
|
-
entityName: 'type',
|
|
163
|
-
object: {
|
|
164
|
-
typePath: 'color',
|
|
165
|
-
label: 'Color 2',
|
|
166
|
-
},
|
|
167
|
-
}));
|
|
168
|
-
});
|
|
169
|
-
it('should update type-property on existing type only', async () => {
|
|
170
|
-
fsSpy.mockReturnValue(TYPE_WITH_UPDATED_PROPERTY_YML);
|
|
171
|
-
await (0, type_uploader_1.uploadTypes)('mock-dir', { isMerge: true });
|
|
172
|
-
expect(requestSpy).toHaveBeenCalledTimes(0);
|
|
173
|
-
expect(createSpy).toHaveBeenCalledTimes(0);
|
|
174
|
-
expect(updateSpy).toHaveBeenCalledTimes(1);
|
|
175
|
-
expect(updateSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
176
|
-
entityName: 'type-property',
|
|
177
|
-
object: {
|
|
178
|
-
slug: 'rgb',
|
|
179
|
-
isArchived: true,
|
|
180
|
-
typePropertyUserListId: null,
|
|
181
|
-
},
|
|
182
|
-
}));
|
|
183
|
-
});
|
|
184
|
-
it('should add new type-property to existing type', async () => {
|
|
185
|
-
fsSpy.mockReturnValue(TYPE_WITH_NEW_PROPERTY_YML);
|
|
186
|
-
await (0, type_uploader_1.uploadTypes)('mock-dir', { isMerge: true });
|
|
187
|
-
expect(createSpy).toHaveBeenCalledTimes(0);
|
|
188
|
-
expect(updateSpy).toHaveBeenCalledTimes(0);
|
|
189
|
-
expect(requestSpy).toHaveBeenCalledTimes(1);
|
|
190
|
-
expect(requestSpy).toHaveBeenCalledWith(expect.stringMatching(/^\/types\/[^/]+\/type-properties$/), expect.objectContaining({
|
|
191
|
-
method: 'POST',
|
|
192
|
-
body: JSON.stringify({
|
|
193
|
-
isArchived: false,
|
|
194
|
-
propertyType: 'number',
|
|
195
|
-
slug: 'code',
|
|
196
|
-
label: 'Code',
|
|
197
|
-
editable: true,
|
|
198
|
-
searchable: false,
|
|
199
|
-
core: false,
|
|
200
|
-
formula: null,
|
|
201
|
-
referencedTypePath: null,
|
|
202
|
-
carryOverBehavior: null,
|
|
203
|
-
carryOverDefault: null,
|
|
204
|
-
referencedTypeRootSlug: null,
|
|
205
|
-
defaultValue: null,
|
|
206
|
-
typePropertyUserListId: null,
|
|
207
|
-
referencedTypeRole: null,
|
|
208
|
-
isUniqueProperty: false,
|
|
209
|
-
isUniquePropertyInFamily: false,
|
|
210
|
-
propertyLevel: null,
|
|
211
|
-
formulaFunction: null,
|
|
212
|
-
validationFunction: null,
|
|
213
|
-
numberFormat: null,
|
|
214
|
-
sequenceSeedValue: null,
|
|
215
|
-
}),
|
|
216
|
-
}));
|
|
217
|
-
});
|
|
218
|
-
it('should create new subtype with property', async () => {
|
|
219
|
-
fsSpy.mockReturnValue(SUBTYPE_WITH_PROPERTY_YML);
|
|
220
|
-
await (0, type_uploader_1.uploadTypes)('mock-dir', { isMerge: true });
|
|
221
|
-
expect(updateSpy).toHaveBeenCalledTimes(0);
|
|
222
|
-
expect(createSpy).toHaveBeenCalledTimes(1);
|
|
223
|
-
expect(createSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
224
|
-
entityName: 'type',
|
|
225
|
-
object: {
|
|
226
|
-
slug: 'test-subtype',
|
|
227
|
-
label: 'Color Test Subtype',
|
|
228
|
-
typePath: 'color:test-subtype',
|
|
229
|
-
isArchived: false,
|
|
230
|
-
},
|
|
231
|
-
}));
|
|
232
|
-
expect(requestSpy).toHaveBeenCalledTimes(1);
|
|
233
|
-
expect(requestSpy).toHaveBeenCalledWith(expect.stringMatching(/^\/types\/[^/]+\/type-properties$/), expect.objectContaining({
|
|
234
|
-
method: 'POST',
|
|
235
|
-
body: JSON.stringify({
|
|
236
|
-
isArchived: false,
|
|
237
|
-
propertyType: 'number',
|
|
238
|
-
slug: 'subtypeProperty',
|
|
239
|
-
label: 'Subtype Property',
|
|
240
|
-
editable: true,
|
|
241
|
-
searchable: false,
|
|
242
|
-
core: false,
|
|
243
|
-
formula: null,
|
|
244
|
-
referencedTypePath: null,
|
|
245
|
-
carryOverBehavior: null,
|
|
246
|
-
carryOverDefault: null,
|
|
247
|
-
referencedTypeRootSlug: null,
|
|
248
|
-
defaultValue: null,
|
|
249
|
-
typePropertyUserListId: null,
|
|
250
|
-
referencedTypeRole: null,
|
|
251
|
-
isUniqueProperty: false,
|
|
252
|
-
isUniquePropertyInFamily: false,
|
|
253
|
-
propertyLevel: null,
|
|
254
|
-
formulaFunction: null,
|
|
255
|
-
validationFunction: null,
|
|
256
|
-
numberFormat: null,
|
|
257
|
-
sequenceSeedValue: null,
|
|
258
|
-
}),
|
|
259
|
-
}));
|
|
260
|
-
});
|
|
261
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const type_uploader_1 = require("./type-uploader");
|
|
4
|
+
const login_1 = require("../../auth/login");
|
|
5
|
+
const sdk_1 = require("../../__mocks__/@contrail/sdk");
|
|
6
|
+
jest.mock('../../auth/login');
|
|
7
|
+
describe('extractValueDifferences', () => {
|
|
8
|
+
it('should return the correct value differences', () => {
|
|
9
|
+
const object1 = {
|
|
10
|
+
name: 'John',
|
|
11
|
+
age: 30,
|
|
12
|
+
city: 'New York',
|
|
13
|
+
};
|
|
14
|
+
const object2 = {
|
|
15
|
+
name: 'John',
|
|
16
|
+
age: 35,
|
|
17
|
+
city: 'Los Angeles',
|
|
18
|
+
country: 'USA',
|
|
19
|
+
};
|
|
20
|
+
const expectedValueDiff = {
|
|
21
|
+
adds: ['country'],
|
|
22
|
+
updates: ['age', 'city'],
|
|
23
|
+
deletions: [],
|
|
24
|
+
};
|
|
25
|
+
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, []);
|
|
26
|
+
expect(valueDiff).toEqual(expectedValueDiff);
|
|
27
|
+
});
|
|
28
|
+
it('should handle empty objects', () => {
|
|
29
|
+
const object1 = {};
|
|
30
|
+
const object2 = {};
|
|
31
|
+
const expectedValueDiff = {
|
|
32
|
+
adds: [],
|
|
33
|
+
updates: [],
|
|
34
|
+
deletions: [],
|
|
35
|
+
};
|
|
36
|
+
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, []);
|
|
37
|
+
expect(valueDiff).toEqual(expectedValueDiff);
|
|
38
|
+
});
|
|
39
|
+
it('should handle objects with no shared keys', () => {
|
|
40
|
+
const object1 = {
|
|
41
|
+
name: 'John',
|
|
42
|
+
age: 30,
|
|
43
|
+
};
|
|
44
|
+
const object2 = {
|
|
45
|
+
city: 'New York',
|
|
46
|
+
country: 'USA',
|
|
47
|
+
};
|
|
48
|
+
const expectedValueDiff = {
|
|
49
|
+
adds: ['city', 'country'],
|
|
50
|
+
updates: [],
|
|
51
|
+
deletions: ['name', 'age'],
|
|
52
|
+
};
|
|
53
|
+
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, []);
|
|
54
|
+
expect(valueDiff).toEqual(expectedValueDiff);
|
|
55
|
+
});
|
|
56
|
+
it('should handle objects with shared keys but no differences', () => {
|
|
57
|
+
const object1 = {
|
|
58
|
+
name: 'John',
|
|
59
|
+
age: 30,
|
|
60
|
+
};
|
|
61
|
+
const object2 = {
|
|
62
|
+
name: 'John',
|
|
63
|
+
age: 30,
|
|
64
|
+
};
|
|
65
|
+
const expectedValueDiff = {
|
|
66
|
+
adds: [],
|
|
67
|
+
updates: [],
|
|
68
|
+
deletions: [],
|
|
69
|
+
};
|
|
70
|
+
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, []);
|
|
71
|
+
expect(valueDiff).toEqual(expectedValueDiff);
|
|
72
|
+
});
|
|
73
|
+
it('should handle correctly ignore keys on deletion', () => {
|
|
74
|
+
const object1 = {
|
|
75
|
+
name: 'John',
|
|
76
|
+
age: 30,
|
|
77
|
+
};
|
|
78
|
+
const object2 = {
|
|
79
|
+
name: 'John',
|
|
80
|
+
};
|
|
81
|
+
const expectedValueDiff = {
|
|
82
|
+
adds: [],
|
|
83
|
+
updates: [],
|
|
84
|
+
deletions: [],
|
|
85
|
+
};
|
|
86
|
+
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, ['age']);
|
|
87
|
+
expect(valueDiff).toEqual(expectedValueDiff);
|
|
88
|
+
});
|
|
89
|
+
it('should handle correctly ignore keys on updates', () => {
|
|
90
|
+
const object1 = {
|
|
91
|
+
name: 'John',
|
|
92
|
+
age: 30,
|
|
93
|
+
};
|
|
94
|
+
const object2 = {
|
|
95
|
+
name: 'John',
|
|
96
|
+
age: 15,
|
|
97
|
+
};
|
|
98
|
+
const expectedValueDiff = {
|
|
99
|
+
adds: [],
|
|
100
|
+
updates: [],
|
|
101
|
+
deletions: [],
|
|
102
|
+
};
|
|
103
|
+
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, ['age']);
|
|
104
|
+
expect(valueDiff).toEqual(expectedValueDiff);
|
|
105
|
+
});
|
|
106
|
+
it('should handle correctly ignore keys on deletion', () => {
|
|
107
|
+
const object1 = {
|
|
108
|
+
name: 'John',
|
|
109
|
+
};
|
|
110
|
+
const object2 = {
|
|
111
|
+
name: 'John',
|
|
112
|
+
age: 30,
|
|
113
|
+
};
|
|
114
|
+
const expectedValueDiff = {
|
|
115
|
+
adds: [],
|
|
116
|
+
updates: [],
|
|
117
|
+
deletions: [],
|
|
118
|
+
};
|
|
119
|
+
const valueDiff = (0, type_uploader_1.extractValueDifferences)(object1, object2, ['age']);
|
|
120
|
+
expect(valueDiff).toEqual(expectedValueDiff);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
describe('uploadTypes', () => {
|
|
124
|
+
let updateSpy;
|
|
125
|
+
let createSpy;
|
|
126
|
+
let requestSpy;
|
|
127
|
+
let fsSpy;
|
|
128
|
+
let authUserMock;
|
|
129
|
+
beforeEach(() => {
|
|
130
|
+
// Mock authUser
|
|
131
|
+
authUserMock = login_1.authUser;
|
|
132
|
+
authUserMock.mockResolvedValue({ orgSlug: 'test-org' });
|
|
133
|
+
const sdk = require('@contrail/sdk');
|
|
134
|
+
updateSpy = jest.spyOn(sdk.Entities.prototype, 'update');
|
|
135
|
+
createSpy = jest.spyOn(sdk.Entities.prototype, 'create');
|
|
136
|
+
// Mock Request.request as a function
|
|
137
|
+
sdk.Request = { request: jest.fn() };
|
|
138
|
+
requestSpy = sdk.Request.request;
|
|
139
|
+
// Mock filesystem operations
|
|
140
|
+
jest.spyOn(require('fs'), 'readdirSync').mockReturnValue(['color.yml']);
|
|
141
|
+
fsSpy = jest.spyOn(require('fs'), 'readFileSync');
|
|
142
|
+
fsSpy.mockReturnValue(FULL_TYPE_YML);
|
|
143
|
+
});
|
|
144
|
+
afterEach(() => {
|
|
145
|
+
jest.restoreAllMocks();
|
|
146
|
+
});
|
|
147
|
+
it('should fully re-populate type and its properties when not merging', async () => {
|
|
148
|
+
fsSpy.mockReturnValue(FULL_TYPE_YML);
|
|
149
|
+
await (0, type_uploader_1.uploadTypes)('mock-dir', { isMerge: false });
|
|
150
|
+
const nonCoreTypePropertiesCount = sdk_1.BASE_TYPE_WITH_PROPERTIES.typeProperties.filter((prop) => !prop.core).length;
|
|
151
|
+
expect(updateSpy).toHaveBeenCalledTimes(nonCoreTypePropertiesCount + 1); // +1 for the type update
|
|
152
|
+
expect(requestSpy).toHaveBeenCalledTimes(0);
|
|
153
|
+
expect(createSpy).toHaveBeenCalledTimes(0);
|
|
154
|
+
});
|
|
155
|
+
it('should modify property "label" on type only', async () => {
|
|
156
|
+
fsSpy.mockReturnValue(TYPE_WITH_UPDATED_LABEL_YML);
|
|
157
|
+
await (0, type_uploader_1.uploadTypes)('mock-dir', { isMerge: true });
|
|
158
|
+
expect(requestSpy).toHaveBeenCalledTimes(0);
|
|
159
|
+
expect(createSpy).toHaveBeenCalledTimes(0);
|
|
160
|
+
expect(updateSpy).toHaveBeenCalledTimes(1);
|
|
161
|
+
expect(updateSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
162
|
+
entityName: 'type',
|
|
163
|
+
object: {
|
|
164
|
+
typePath: 'color',
|
|
165
|
+
label: 'Color 2',
|
|
166
|
+
},
|
|
167
|
+
}));
|
|
168
|
+
});
|
|
169
|
+
it('should update type-property on existing type only', async () => {
|
|
170
|
+
fsSpy.mockReturnValue(TYPE_WITH_UPDATED_PROPERTY_YML);
|
|
171
|
+
await (0, type_uploader_1.uploadTypes)('mock-dir', { isMerge: true });
|
|
172
|
+
expect(requestSpy).toHaveBeenCalledTimes(0);
|
|
173
|
+
expect(createSpy).toHaveBeenCalledTimes(0);
|
|
174
|
+
expect(updateSpy).toHaveBeenCalledTimes(1);
|
|
175
|
+
expect(updateSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
176
|
+
entityName: 'type-property',
|
|
177
|
+
object: {
|
|
178
|
+
slug: 'rgb',
|
|
179
|
+
isArchived: true,
|
|
180
|
+
typePropertyUserListId: null,
|
|
181
|
+
},
|
|
182
|
+
}));
|
|
183
|
+
});
|
|
184
|
+
it('should add new type-property to existing type', async () => {
|
|
185
|
+
fsSpy.mockReturnValue(TYPE_WITH_NEW_PROPERTY_YML);
|
|
186
|
+
await (0, type_uploader_1.uploadTypes)('mock-dir', { isMerge: true });
|
|
187
|
+
expect(createSpy).toHaveBeenCalledTimes(0);
|
|
188
|
+
expect(updateSpy).toHaveBeenCalledTimes(0);
|
|
189
|
+
expect(requestSpy).toHaveBeenCalledTimes(1);
|
|
190
|
+
expect(requestSpy).toHaveBeenCalledWith(expect.stringMatching(/^\/types\/[^/]+\/type-properties$/), expect.objectContaining({
|
|
191
|
+
method: 'POST',
|
|
192
|
+
body: JSON.stringify({
|
|
193
|
+
isArchived: false,
|
|
194
|
+
propertyType: 'number',
|
|
195
|
+
slug: 'code',
|
|
196
|
+
label: 'Code',
|
|
197
|
+
editable: true,
|
|
198
|
+
searchable: false,
|
|
199
|
+
core: false,
|
|
200
|
+
formula: null,
|
|
201
|
+
referencedTypePath: null,
|
|
202
|
+
carryOverBehavior: null,
|
|
203
|
+
carryOverDefault: null,
|
|
204
|
+
referencedTypeRootSlug: null,
|
|
205
|
+
defaultValue: null,
|
|
206
|
+
typePropertyUserListId: null,
|
|
207
|
+
referencedTypeRole: null,
|
|
208
|
+
isUniqueProperty: false,
|
|
209
|
+
isUniquePropertyInFamily: false,
|
|
210
|
+
propertyLevel: null,
|
|
211
|
+
formulaFunction: null,
|
|
212
|
+
validationFunction: null,
|
|
213
|
+
numberFormat: null,
|
|
214
|
+
sequenceSeedValue: null,
|
|
215
|
+
}),
|
|
216
|
+
}));
|
|
217
|
+
});
|
|
218
|
+
it('should create new subtype with property', async () => {
|
|
219
|
+
fsSpy.mockReturnValue(SUBTYPE_WITH_PROPERTY_YML);
|
|
220
|
+
await (0, type_uploader_1.uploadTypes)('mock-dir', { isMerge: true });
|
|
221
|
+
expect(updateSpy).toHaveBeenCalledTimes(0);
|
|
222
|
+
expect(createSpy).toHaveBeenCalledTimes(1);
|
|
223
|
+
expect(createSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
224
|
+
entityName: 'type',
|
|
225
|
+
object: {
|
|
226
|
+
slug: 'test-subtype',
|
|
227
|
+
label: 'Color Test Subtype',
|
|
228
|
+
typePath: 'color:test-subtype',
|
|
229
|
+
isArchived: false,
|
|
230
|
+
},
|
|
231
|
+
}));
|
|
232
|
+
expect(requestSpy).toHaveBeenCalledTimes(1);
|
|
233
|
+
expect(requestSpy).toHaveBeenCalledWith(expect.stringMatching(/^\/types\/[^/]+\/type-properties$/), expect.objectContaining({
|
|
234
|
+
method: 'POST',
|
|
235
|
+
body: JSON.stringify({
|
|
236
|
+
isArchived: false,
|
|
237
|
+
propertyType: 'number',
|
|
238
|
+
slug: 'subtypeProperty',
|
|
239
|
+
label: 'Subtype Property',
|
|
240
|
+
editable: true,
|
|
241
|
+
searchable: false,
|
|
242
|
+
core: false,
|
|
243
|
+
formula: null,
|
|
244
|
+
referencedTypePath: null,
|
|
245
|
+
carryOverBehavior: null,
|
|
246
|
+
carryOverDefault: null,
|
|
247
|
+
referencedTypeRootSlug: null,
|
|
248
|
+
defaultValue: null,
|
|
249
|
+
typePropertyUserListId: null,
|
|
250
|
+
referencedTypeRole: null,
|
|
251
|
+
isUniqueProperty: false,
|
|
252
|
+
isUniquePropertyInFamily: false,
|
|
253
|
+
propertyLevel: null,
|
|
254
|
+
formulaFunction: null,
|
|
255
|
+
validationFunction: null,
|
|
256
|
+
numberFormat: null,
|
|
257
|
+
sequenceSeedValue: null,
|
|
258
|
+
}),
|
|
259
|
+
}));
|
|
260
|
+
});
|
|
261
|
+
});
|
|
262
262
|
const FULL_TYPE_YML = `
|
|
263
263
|
- typePath: color
|
|
264
264
|
slug: color
|
|
@@ -553,7 +553,7 @@ const FULL_TYPE_YML = `
|
|
|
553
553
|
validationFunction: null
|
|
554
554
|
numberFormat: null
|
|
555
555
|
sequenceSeedValue: null
|
|
556
|
-
`;
|
|
556
|
+
`;
|
|
557
557
|
const SUBTYPE_WITH_PROPERTY_YML = `
|
|
558
558
|
- typePath: color:test-subtype
|
|
559
559
|
slug: test-subtype
|
|
@@ -584,11 +584,11 @@ const SUBTYPE_WITH_PROPERTY_YML = `
|
|
|
584
584
|
validationFunction: null
|
|
585
585
|
numberFormat: null
|
|
586
586
|
sequenceSeedValue: null
|
|
587
|
-
`;
|
|
587
|
+
`;
|
|
588
588
|
const TYPE_WITH_UPDATED_LABEL_YML = `
|
|
589
589
|
- typePath: color
|
|
590
590
|
label: Color 2
|
|
591
|
-
`;
|
|
591
|
+
`;
|
|
592
592
|
const TYPE_WITH_NEW_PROPERTY_YML = `
|
|
593
593
|
- typePath: color
|
|
594
594
|
typeProperties:
|
|
@@ -616,10 +616,10 @@ const TYPE_WITH_NEW_PROPERTY_YML = `
|
|
|
616
616
|
validationFunction: null
|
|
617
617
|
numberFormat: null
|
|
618
618
|
sequenceSeedValue: null
|
|
619
|
-
`;
|
|
619
|
+
`;
|
|
620
620
|
const TYPE_WITH_UPDATED_PROPERTY_YML = `
|
|
621
621
|
- typePath: color
|
|
622
622
|
typeProperties:
|
|
623
623
|
- slug: rgb
|
|
624
624
|
isArchived: true
|
|
625
|
-
`;
|
|
625
|
+
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const uploadOptionSets_1 = require("../../commands/types/uploadOptionSets");
|
|
4
|
-
describe('parseOptionSetValuesToString', () => {
|
|
5
|
-
it('should convert all option set values to strings except for booleans', () => {
|
|
6
|
-
const input = {
|
|
7
|
-
value1: 123,
|
|
8
|
-
value2: true,
|
|
9
|
-
value3: { nested: 'object' },
|
|
10
|
-
};
|
|
11
|
-
const expectedOutput = {
|
|
12
|
-
value1: '123',
|
|
13
|
-
value2: true,
|
|
14
|
-
value3: { nested: 'object' },
|
|
15
|
-
};
|
|
16
|
-
const result = (0, uploadOptionSets_1.parseOptionSetValuesToString)(input);
|
|
17
|
-
expect(result).toEqual(expectedOutput);
|
|
18
|
-
});
|
|
19
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const uploadOptionSets_1 = require("../../commands/types/uploadOptionSets");
|
|
4
|
+
describe('parseOptionSetValuesToString', () => {
|
|
5
|
+
it('should convert all option set values to strings except for booleans', () => {
|
|
6
|
+
const input = {
|
|
7
|
+
value1: 123,
|
|
8
|
+
value2: true,
|
|
9
|
+
value3: { nested: 'object' },
|
|
10
|
+
};
|
|
11
|
+
const expectedOutput = {
|
|
12
|
+
value1: '123',
|
|
13
|
+
value2: true,
|
|
14
|
+
value3: { nested: 'object' },
|
|
15
|
+
};
|
|
16
|
+
const result = (0, uploadOptionSets_1.parseOptionSetValuesToString)(input);
|
|
17
|
+
expect(result).toEqual(expectedOutput);
|
|
18
|
+
});
|
|
19
|
+
});
|
package/dist/helpers/workflow-template-definitions/workflow-template-definition-deployer.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { App, AppDeclaration, WorkflowDefinition, WorkflowTemplate } from '../../interfaces';
|
|
2
|
-
export declare class WorkflowTemplateDefinitionDeployer {
|
|
3
|
-
cliInstallWorkflowTemplateDefinitions(): Promise<void>;
|
|
4
|
-
installWorkflowTemplateDefinitions(workflowTemplateDefinitions: WorkflowTemplate[]): Promise<void>;
|
|
5
|
-
listWorkflowTemplateDefinitions(): Promise<void>;
|
|
6
|
-
deployWorkflowTemplateDefinitions(appDeclaration: AppDeclaration, app: App): Promise<void>;
|
|
7
|
-
deployWorkflowDefinition(workflowKey: string, workflow: WorkflowDefinition, app: App): Promise<WorkflowDefinition>;
|
|
8
|
-
private createNewWorkflowDefinition;
|
|
9
|
-
private populateActionIds;
|
|
10
|
-
getActionDeclarationIdentifier(actionKey: any, app: App): string;
|
|
11
|
-
getWorkflowDeclarationIdentifier(workflowKey: any, app: App): string;
|
|
12
|
-
}
|
|
1
|
+
import { App, AppDeclaration, WorkflowDefinition, WorkflowTemplate } from '../../interfaces';
|
|
2
|
+
export declare class WorkflowTemplateDefinitionDeployer {
|
|
3
|
+
cliInstallWorkflowTemplateDefinitions(): Promise<void>;
|
|
4
|
+
installWorkflowTemplateDefinitions(workflowTemplateDefinitions: WorkflowTemplate[]): Promise<void>;
|
|
5
|
+
listWorkflowTemplateDefinitions(): Promise<void>;
|
|
6
|
+
deployWorkflowTemplateDefinitions(appDeclaration: AppDeclaration, app: App): Promise<void>;
|
|
7
|
+
deployWorkflowDefinition(workflowKey: string, workflow: WorkflowDefinition, app: App): Promise<WorkflowDefinition>;
|
|
8
|
+
private createNewWorkflowDefinition;
|
|
9
|
+
private populateActionIds;
|
|
10
|
+
getActionDeclarationIdentifier(actionKey: any, app: App): string;
|
|
11
|
+
getWorkflowDeclarationIdentifier(workflowKey: any, app: App): string;
|
|
12
|
+
}
|