@contrail/cli 1.0.67 → 1.0.69
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/.eslintrc.js +53 -53
- package/.vscode/settings.json +5 -5
- package/README.md +5 -5
- package/bin/init +3 -3
- package/lib/api/apps.d.ts +13 -13
- package/lib/api/apps.js +85 -85
- package/lib/api/event-workflow-action-definition.d.ts +1 -1
- package/lib/api/event-workflow-action-definition.js +7 -7
- package/lib/api/event-workflow-template-definition.d.ts +6 -6
- package/lib/api/event-workflow-template-definition.js +20 -20
- package/lib/api/event-workflow-templates.d.ts +7 -7
- package/lib/api/event-workflow-templates.js +25 -25
- package/lib/apps/create-app/create.d.ts +1 -1
- package/lib/apps/create-app/create.js +60 -59
- package/lib/apps/create-app/setup-template.d.ts +1 -1
- package/lib/apps/create-app/setup-template.js +34 -34
- package/lib/apps/deploy-app/actions-deployer.d.ts +11 -11
- package/lib/apps/deploy-app/actions-deployer.js +114 -114
- package/lib/apps/deploy-app/app-deployer.d.ts +8 -8
- package/lib/apps/deploy-app/app-deployer.js +93 -93
- package/lib/apps/deploy-app/app-template-parsers.d.ts +7 -7
- package/lib/apps/deploy-app/app-template-parsers.js +38 -38
- package/lib/apps/deploy-app/deploy.d.ts +2 -2
- package/lib/apps/deploy-app/deploy.js +58 -58
- package/lib/apps/install-app/app-installer.d.ts +2 -2
- package/lib/apps/install-app/app-installer.js +120 -120
- package/lib/apps/upgrade-app/app-upgrader.d.ts +3 -3
- package/lib/apps/upgrade-app/app-upgrader.js +126 -126
- package/lib/auth/auth.d.ts +9 -9
- package/lib/auth/auth.js +2 -2
- package/lib/auth/login.d.ts +2 -2
- package/lib/auth/login.js +141 -141
- package/lib/cli.d.ts +5 -5
- package/lib/cli.js +524 -481
- package/lib/colors/color-loader.d.ts +2 -2
- package/lib/colors/color-loader.js +96 -96
- package/lib/common.d.ts +1 -1
- package/lib/common.js +5 -5
- package/lib/config/config.d.ts +6 -6
- package/lib/config/config.js +70 -70
- package/lib/config/configCommands.d.ts +3 -3
- package/lib/config/configCommands.js +34 -34
- package/lib/interfaces.d.ts +191 -191
- package/lib/interfaces.js +25 -25
- package/lib/loader-process/loader-process.d.ts +2 -2
- package/lib/loader-process/loader-process.js +120 -120
- package/lib/projects/interfaces.d.ts +77 -77
- package/lib/projects/interfaces.js +23 -23
- package/lib/projects/project-exporter.d.ts +2 -2
- package/lib/projects/project-exporter.js +187 -187
- package/lib/projects/project-uploader.d.ts +1 -1
- package/lib/projects/project-uploader.js +105 -105
- package/lib/types/allUploader.d.ts +1 -1
- package/lib/types/allUploader.js +24 -24
- package/lib/types/csv-parser.d.ts +1 -1
- package/lib/types/csv-parser.js +51 -51
- package/lib/types/interfaces.d.ts +55 -55
- package/lib/types/interfaces.js +1 -1
- package/lib/types/option-set-hierarchy-exporter.d.ts +1 -1
- package/lib/types/option-set-hierarchy-exporter.js +113 -113
- package/lib/types/option-set-hierarchy-parser.d.ts +2 -2
- package/lib/types/option-set-hierarchy-parser.js +140 -140
- package/lib/types/option-set-hierarchy-uploader.d.ts +1 -1
- package/lib/types/option-set-hierarchy-uploader.js +113 -113
- package/lib/types/option-set-merger.d.ts +1 -1
- package/lib/types/option-set-merger.js +105 -102
- package/lib/types/option-set-parser.d.ts +3 -1
- package/lib/types/option-set-parser.js +140 -50
- package/lib/types/option-set-uploader.d.ts +1 -1
- package/lib/types/option-set-uploader.js +98 -98
- package/lib/types/parse-types.d.ts +4 -4
- package/lib/types/parse-types.js +189 -189
- package/lib/types/rule-set-uploader.d.ts +1 -1
- package/lib/types/rule-set-uploader.js +172 -172
- package/lib/types/type-property-policy-uploader.d.ts +1 -1
- package/lib/types/type-property-policy-uploader.js +178 -178
- package/lib/types/types-extractor.d.ts +27 -27
- package/lib/types/types-extractor.js +318 -318
- package/lib/types/types-properties-merger.d.ts +1 -1
- package/lib/types/types-properties-merger.js +75 -75
- package/lib/types/types-uploader.d.ts +1 -1
- package/lib/types/types-uploader.js +239 -239
- package/lib/types/usage-info-uploader.d.ts +1 -1
- package/lib/types/usage-info-uploader.js +132 -132
- package/lib/users/user-exporter.d.ts +1 -0
- package/lib/users/user-exporter.js +41 -0
- package/lib/users/user-uploader.d.ts +1 -0
- package/lib/users/user-uploader.js +45 -0
- package/lib/workflow-template-definitions/workflow-template-definition-commands.d.ts +2 -2
- package/lib/workflow-template-definitions/workflow-template-definition-commands.js +10 -10
- package/lib/workflow-template-definitions/workflow-template-definition-deployer.d.ts +12 -12
- package/lib/workflow-template-definitions/workflow-template-definition-deployer.js +151 -151
- package/lib/workflow-templates/local-workflow-template-deployer.d.ts +11 -11
- package/lib/workflow-templates/local-workflow-template-deployer.js +102 -102
- package/lib/workflow-templates/workflow-template-commands.d.ts +4 -4
- package/lib/workflow-templates/workflow-template-commands.js +51 -51
- package/lib/workflow-templates/workflow-template-deployer.d.ts +4 -4
- package/lib/workflow-templates/workflow-template-deployer.js +26 -26
- package/package.json +72 -72
- package/publish.bat +5 -0
- package/publish.sh +4 -4
- package/src/api/apps.ts +96 -96
- package/src/api/event-workflow-action-definition.ts +7 -7
- package/src/api/event-workflow-template-definition.ts +22 -22
- package/src/api/event-workflow-templates.ts +28 -28
- package/src/apps/create-app/create.ts +74 -73
- package/src/apps/create-app/setup-template.ts +37 -37
- package/src/apps/deploy-app/actions-deployer.ts +140 -140
- package/src/apps/deploy-app/app-deployer.ts +105 -105
- package/src/apps/deploy-app/app-template-parsers.ts +43 -43
- package/src/apps/deploy-app/deploy.ts +65 -65
- package/src/apps/install-app/app-installer.ts +125 -125
- package/src/apps/upgrade-app/app-upgrader.ts +131 -131
- package/src/auth/auth.ts +9 -9
- package/src/auth/login.ts +155 -155
- package/src/cli.ts +540 -496
- package/src/colors/color-loader.ts +112 -112
- package/src/colors/colors.csv +866 -866
- package/src/common.ts +4 -4
- package/src/config/config.ts +74 -74
- package/src/config/configCommands.ts +37 -37
- package/src/interfaces.ts +200 -200
- package/src/loader-process/loader-process.ts +151 -151
- package/src/projects/interfaces.ts +72 -72
- package/src/projects/project-exporter.ts +224 -224
- package/src/projects/project-uploader.ts +130 -130
- package/src/types/allUploader.ts +28 -28
- package/src/types/csv-parser.ts +58 -58
- package/src/types/interfaces.ts +58 -58
- package/src/types/option-set-hierarchy-exporter.ts +124 -124
- package/src/types/option-set-hierarchy-parser.ts +168 -168
- package/src/types/option-set-hierarchy-uploader.ts +121 -121
- package/src/types/option-set-merger.ts +123 -122
- package/src/types/option-set-parser.ts +165 -59
- package/src/types/option-set-uploader.ts +107 -107
- package/src/types/parse-types.ts +226 -226
- package/src/types/rule-set-uploader.ts +186 -186
- package/src/types/type-property-policy-uploader.ts +191 -191
- package/src/types/types-extractor.ts +368 -368
- package/src/types/types-properties-merger.ts +89 -89
- package/src/types/types-uploader.ts +271 -271
- package/src/types/usage-info-uploader.ts +138 -138
- package/src/users/user-exporter.ts +52 -0
- package/src/users/user-uploader.ts +58 -0
- package/src/workflow-template-definitions/workflow-template-definition-commands.ts +12 -12
- package/src/workflow-template-definitions/workflow-template-definition-deployer.ts +184 -184
- package/src/workflow-templates/local-workflow-template-deployer.ts +125 -125
- package/src/workflow-templates/workflow-template-commands.ts +59 -59
- package/src/workflow-templates/workflow-template-deployer.ts +29 -29
- package/templates/docker_deploy.bat +1 -0
- package/templates/javascript/actions/example/action.js +37 -37
- package/templates/javascript/app.yml +52 -52
- package/templates/javascript/package.json +23 -23
- package/templates/typescript/Dockerfile +15 -14
- package/templates/typescript/README.md +10 -10
- package/templates/typescript/app.yml +50 -54
- package/templates/typescript/package-lock.json +14 -14
- package/templates/typescript/package.json +54 -52
- package/templates/typescript/src/actions/logItem.ts +26 -0
- package/templates/typescript/src/framework/action-dispatcher.ts +86 -0
- package/templates/typescript/src/framework/app-config.ts +27 -0
- package/templates/typescript/src/framework/handler.ts +11 -0
- package/templates/typescript/src/framework/index.ts +3 -0
- package/templates/typescript/src/framework/interfaces.ts +32 -0
- package/templates/typescript/src/framework/logger.ts +21 -0
- package/templates/typescript/{actions → src/framework}/mock-server.ts +7 -0
- package/templates/typescript/tsconfig.json +28 -27
- package/tsconfig.json +31 -30
- package/templates/typescript/actions/handler.ts +0 -62
- package/templates/typescript/actions/utils/logger.ts +0 -15
package/src/common.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export function getSeparatorByPlatform() {
|
|
2
|
-
const isWin = process.platform === 'win32';
|
|
3
|
-
const separator = isWin ? '\\' : '/';
|
|
4
|
-
return separator;
|
|
1
|
+
export function getSeparatorByPlatform() {
|
|
2
|
+
const isWin = process.platform === 'win32';
|
|
3
|
+
const separator = isWin ? '\\' : '/';
|
|
4
|
+
return separator;
|
|
5
5
|
}
|
package/src/config/config.ts
CHANGED
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
import { promises as fsPromises } from 'fs';
|
|
2
|
-
import { join } from 'path';
|
|
3
|
-
import {homedir} from 'os';
|
|
4
|
-
const userHomeDir = homedir();
|
|
5
|
-
const configDirectoryLocation = join(userHomeDir, '.vibeiq');
|
|
6
|
-
const configFileLocation = join(configDirectoryLocation, 'config.json');
|
|
7
|
-
|
|
8
|
-
export async function initializeVibeIQConfig() {
|
|
9
|
-
try{
|
|
10
|
-
await fsPromises.mkdir(configDirectoryLocation, {recursive: true});
|
|
11
|
-
} catch (e) {
|
|
12
|
-
console.error('could not initialize vibeiq directory');
|
|
13
|
-
throw e;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
try {
|
|
17
|
-
await fsPromises.writeFile(configFileLocation, '{}');
|
|
18
|
-
} catch (e) {
|
|
19
|
-
console.error(`could not initialize config file (${configFileLocation}).`);
|
|
20
|
-
throw e;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export async function readVibeIQConfig() {
|
|
24
|
-
let fileContent;
|
|
25
|
-
try {
|
|
26
|
-
fileContent = await fsPromises.readFile(configFileLocation);
|
|
27
|
-
} catch (e) {
|
|
28
|
-
console.debug(`failed to open config file (${configFileLocation}) for reading.`);
|
|
29
|
-
console.debug('trying to initialize config file');
|
|
30
|
-
await initializeVibeIQConfig();
|
|
31
|
-
fileContent = await fsPromises.readFile(configFileLocation);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
try {
|
|
35
|
-
return JSON.parse(fileContent);
|
|
36
|
-
} catch (e) {
|
|
37
|
-
console.error(`Could not parse local vibeiq config. The file (${configFileLocation}) might be malformed`);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export async function writeVibeIQConfig(config: any) {
|
|
42
|
-
try {
|
|
43
|
-
await fsPromises.writeFile(configFileLocation, JSON.stringify(config, null, 2));
|
|
44
|
-
} catch (e) {
|
|
45
|
-
console.error(`Could not open config file (${configFileLocation}) for writing.`);
|
|
46
|
-
throw e;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export async function getConfig() {
|
|
51
|
-
console.debug('getting config from file system');
|
|
52
|
-
return await readVibeIQConfig();
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export async function deleteConfigs(configNames: string[]) {
|
|
56
|
-
const currentConfig = await readVibeIQConfig();
|
|
57
|
-
for(const configName of configNames) {
|
|
58
|
-
delete currentConfig[configName];
|
|
59
|
-
}
|
|
60
|
-
await storeConfig(currentConfig, false);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export async function storeConfig(incomingConfig: any, merge=true) {
|
|
64
|
-
let config;
|
|
65
|
-
if (merge) {
|
|
66
|
-
config = {
|
|
67
|
-
... await readVibeIQConfig(),
|
|
68
|
-
... incomingConfig
|
|
69
|
-
};
|
|
70
|
-
} else {
|
|
71
|
-
config = incomingConfig;
|
|
72
|
-
}
|
|
73
|
-
await writeVibeIQConfig(config);
|
|
74
|
-
}
|
|
1
|
+
import { promises as fsPromises } from 'fs';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import {homedir} from 'os';
|
|
4
|
+
const userHomeDir = homedir();
|
|
5
|
+
const configDirectoryLocation = join(userHomeDir, '.vibeiq');
|
|
6
|
+
const configFileLocation = join(configDirectoryLocation, 'config.json');
|
|
7
|
+
|
|
8
|
+
export async function initializeVibeIQConfig() {
|
|
9
|
+
try{
|
|
10
|
+
await fsPromises.mkdir(configDirectoryLocation, {recursive: true});
|
|
11
|
+
} catch (e) {
|
|
12
|
+
console.error('could not initialize vibeiq directory');
|
|
13
|
+
throw e;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
try {
|
|
17
|
+
await fsPromises.writeFile(configFileLocation, '{}');
|
|
18
|
+
} catch (e) {
|
|
19
|
+
console.error(`could not initialize config file (${configFileLocation}).`);
|
|
20
|
+
throw e;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export async function readVibeIQConfig() {
|
|
24
|
+
let fileContent;
|
|
25
|
+
try {
|
|
26
|
+
fileContent = await fsPromises.readFile(configFileLocation);
|
|
27
|
+
} catch (e) {
|
|
28
|
+
console.debug(`failed to open config file (${configFileLocation}) for reading.`);
|
|
29
|
+
console.debug('trying to initialize config file');
|
|
30
|
+
await initializeVibeIQConfig();
|
|
31
|
+
fileContent = await fsPromises.readFile(configFileLocation);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
try {
|
|
35
|
+
return JSON.parse(fileContent);
|
|
36
|
+
} catch (e) {
|
|
37
|
+
console.error(`Could not parse local vibeiq config. The file (${configFileLocation}) might be malformed`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export async function writeVibeIQConfig(config: any) {
|
|
42
|
+
try {
|
|
43
|
+
await fsPromises.writeFile(configFileLocation, JSON.stringify(config, null, 2));
|
|
44
|
+
} catch (e) {
|
|
45
|
+
console.error(`Could not open config file (${configFileLocation}) for writing.`);
|
|
46
|
+
throw e;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export async function getConfig() {
|
|
51
|
+
console.debug('getting config from file system');
|
|
52
|
+
return await readVibeIQConfig();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export async function deleteConfigs(configNames: string[]) {
|
|
56
|
+
const currentConfig = await readVibeIQConfig();
|
|
57
|
+
for(const configName of configNames) {
|
|
58
|
+
delete currentConfig[configName];
|
|
59
|
+
}
|
|
60
|
+
await storeConfig(currentConfig, false);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export async function storeConfig(incomingConfig: any, merge=true) {
|
|
64
|
+
let config;
|
|
65
|
+
if (merge) {
|
|
66
|
+
config = {
|
|
67
|
+
... await readVibeIQConfig(),
|
|
68
|
+
... incomingConfig
|
|
69
|
+
};
|
|
70
|
+
} else {
|
|
71
|
+
config = incomingConfig;
|
|
72
|
+
}
|
|
73
|
+
await writeVibeIQConfig(config);
|
|
74
|
+
}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import {deleteConfigs, readVibeIQConfig, storeConfig} from './config';
|
|
2
|
-
export async function listConfig() {
|
|
3
|
-
console.log(await readVibeIQConfig());
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export async function setConfig(args) {
|
|
7
|
-
const helpConfigLine = `
|
|
8
|
-
Usage:
|
|
9
|
-
contrail config.set key1=value1 key2=value2
|
|
10
|
-
`;
|
|
11
|
-
if (args?.length < 4) {
|
|
12
|
-
console.log(helpConfigLine);
|
|
13
|
-
throw new Error('You need to pass at least one config to set');
|
|
14
|
-
}
|
|
15
|
-
const configsToSet = args.slice(3);
|
|
16
|
-
const config = {};
|
|
17
|
-
for(const conf of configsToSet) {
|
|
18
|
-
if(conf.length < 3 || conf.indexOf('=') <= 0) {
|
|
19
|
-
console.log(helpConfigLine);
|
|
20
|
-
throw new Error(`value ${conf} does not adhere to key1=value1 standard`);
|
|
21
|
-
}
|
|
22
|
-
const [key, value] = conf.split('=');
|
|
23
|
-
console.log('key and value:', key, value);
|
|
24
|
-
console.log(conf.split('='));
|
|
25
|
-
config[key] = value;
|
|
26
|
-
}
|
|
27
|
-
console.log('config is:', config);
|
|
28
|
-
await storeConfig(config);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export async function removeConfig(args) {
|
|
32
|
-
if (args?.length < 4) {
|
|
33
|
-
throw new Error('At least one configuration must be included to be removed.');
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
await deleteConfigs(args.slice(3));
|
|
37
|
-
|
|
1
|
+
import {deleteConfigs, readVibeIQConfig, storeConfig} from './config';
|
|
2
|
+
export async function listConfig() {
|
|
3
|
+
console.log(await readVibeIQConfig());
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export async function setConfig(args) {
|
|
7
|
+
const helpConfigLine = `
|
|
8
|
+
Usage:
|
|
9
|
+
contrail config.set key1=value1 key2=value2
|
|
10
|
+
`;
|
|
11
|
+
if (args?.length < 4) {
|
|
12
|
+
console.log(helpConfigLine);
|
|
13
|
+
throw new Error('You need to pass at least one config to set');
|
|
14
|
+
}
|
|
15
|
+
const configsToSet = args.slice(3);
|
|
16
|
+
const config = {};
|
|
17
|
+
for(const conf of configsToSet) {
|
|
18
|
+
if(conf.length < 3 || conf.indexOf('=') <= 0) {
|
|
19
|
+
console.log(helpConfigLine);
|
|
20
|
+
throw new Error(`value ${conf} does not adhere to key1=value1 standard`);
|
|
21
|
+
}
|
|
22
|
+
const [key, value] = conf.split('=');
|
|
23
|
+
console.log('key and value:', key, value);
|
|
24
|
+
console.log(conf.split('='));
|
|
25
|
+
config[key] = value;
|
|
26
|
+
}
|
|
27
|
+
console.log('config is:', config);
|
|
28
|
+
await storeConfig(config);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export async function removeConfig(args) {
|
|
32
|
+
if (args?.length < 4) {
|
|
33
|
+
throw new Error('At least one configuration must be included to be removed.');
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
await deleteConfigs(args.slice(3));
|
|
37
|
+
|
|
38
38
|
}
|
package/src/interfaces.ts
CHANGED
|
@@ -1,200 +1,200 @@
|
|
|
1
|
-
/** Describes the derivative JSON / object represented
|
|
2
|
-
* in app.yml file.
|
|
3
|
-
*/
|
|
4
|
-
export interface AppDeclaration {
|
|
5
|
-
appIdentifier: string;
|
|
6
|
-
appName: string;
|
|
7
|
-
appDescription?: string;
|
|
8
|
-
visibility: 'private' | 'public';
|
|
9
|
-
publisher: string;
|
|
10
|
-
version: string;
|
|
11
|
-
eventWorkflowTriggerKeyMapping: string;
|
|
12
|
-
thumbnail?: string;
|
|
13
|
-
keywords?: Array<string>;
|
|
14
|
-
actions?: { [key: string]: AppActionDeclaration };
|
|
15
|
-
appConfiguration: ConfigPropertyElements;
|
|
16
|
-
triggers: { [key: string]: AppTriggerDeclaration };
|
|
17
|
-
workflows?: { [key: string]: WorkflowDefinition | WorkflowTemplateDeclaration };
|
|
18
|
-
dockerImageRef?: string;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface ConfigPropertyElements {
|
|
22
|
-
[key: string]: ConfigPropertyElement;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export interface ConfigPropertyElement {
|
|
26
|
-
propertyType: string;
|
|
27
|
-
options?: any[];
|
|
28
|
-
label: string;
|
|
29
|
-
dynamic?: boolean;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface AppActionDeclaration {
|
|
33
|
-
handler: string;
|
|
34
|
-
public?: boolean;
|
|
35
|
-
name: string;
|
|
36
|
-
description?: string;
|
|
37
|
-
actionConfiguration?: ConfigPropertyElements;
|
|
38
|
-
async?: boolean; // defaults to false
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface AppTriggerDeclaration {
|
|
42
|
-
key: string;
|
|
43
|
-
name: string;
|
|
44
|
-
external?: boolean;
|
|
45
|
-
description?: string;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// workflow-template and workflow-template-definition share the same interface
|
|
49
|
-
export interface WorkflowDefinition {
|
|
50
|
-
id?: string;
|
|
51
|
-
identifier: string;
|
|
52
|
-
name: string;
|
|
53
|
-
triggerKey: string;
|
|
54
|
-
workflowDefinition: WorkflowDefinitionPaths;
|
|
55
|
-
ownerKey: string;
|
|
56
|
-
isActive: boolean;
|
|
57
|
-
public: boolean;
|
|
58
|
-
supportingAppId?: string;
|
|
59
|
-
messageGroupId?: string;
|
|
60
|
-
parallelWorkerCount?: number;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export interface WorkflowTemplateDeclaration {
|
|
64
|
-
workflows?: { [key: string]: WorkflowTemplate }
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export interface WorkflowTemplate {
|
|
68
|
-
id?: string;
|
|
69
|
-
identifier?: string;
|
|
70
|
-
name: string;
|
|
71
|
-
triggerKey: string;
|
|
72
|
-
workflowDefinition: WorkflowDefinitionPaths;
|
|
73
|
-
isActive: boolean;
|
|
74
|
-
ownerKey?: string;
|
|
75
|
-
supportingAppId?: string;
|
|
76
|
-
messageGroupId?: string;
|
|
77
|
-
parallelWorkerCount?: number;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export interface WorkflowDefinitionPaths {
|
|
81
|
-
paths: WorkflowConditional[]
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export interface WorkflowConditional {
|
|
85
|
-
conditional: string;
|
|
86
|
-
actionDefinitionConfigs: ActionDefinitionConfig[]
|
|
87
|
-
}
|
|
88
|
-
export interface ActionDefinitionConfig {
|
|
89
|
-
name: string;
|
|
90
|
-
action: string;
|
|
91
|
-
config?: { [key: string]: any };
|
|
92
|
-
id?: string;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export interface App {
|
|
96
|
-
id: string;
|
|
97
|
-
identifier: string;
|
|
98
|
-
name: string;
|
|
99
|
-
public: boolean;
|
|
100
|
-
description?: string;
|
|
101
|
-
publisher: string;
|
|
102
|
-
thumbnail: string; // should be a public link
|
|
103
|
-
eventWorkflowTriggerKeyMapping: string;
|
|
104
|
-
configProperties?: ConfigProperty[];
|
|
105
|
-
triggerKeyDefinitions?: TriggerKeyDefinition[];
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
export interface AppOrg {
|
|
109
|
-
id: string;
|
|
110
|
-
createdOn?: Date;
|
|
111
|
-
updatedOn?: Date;
|
|
112
|
-
createdById?: string;
|
|
113
|
-
updatedById?: string;
|
|
114
|
-
createdBy?: any;
|
|
115
|
-
updatedBy?: any;
|
|
116
|
-
orgId?: string;
|
|
117
|
-
status: AppOrgStatus;
|
|
118
|
-
appId?: string;
|
|
119
|
-
app?: App;
|
|
120
|
-
appVersionId?: string;
|
|
121
|
-
appVersion?: AppVersion;
|
|
122
|
-
apiKey?: AppApiKey;
|
|
123
|
-
appConfig?: any;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
export enum AppOrgStatus {
|
|
127
|
-
INSTALLING = 'INSTALLING',
|
|
128
|
-
FAILED_INSTALLING = 'FAILED_INSTALLING',
|
|
129
|
-
READY = 'READY',
|
|
130
|
-
DELETING = 'DELETING',
|
|
131
|
-
FAILED_DELETING = 'FAILED_DELETING',
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
export enum AppVersionStatus {
|
|
135
|
-
PUBLISHING = 'PUBLISHING',
|
|
136
|
-
FAILED_PUBLISHING = 'FAILED_PUBLISHING',
|
|
137
|
-
PUBLISHED = 'PUBLISHED',
|
|
138
|
-
ARCHIVING = 'ARCHIVING',
|
|
139
|
-
FAILED_ARCHIVING = 'FAILED_ARCHIVING',
|
|
140
|
-
ARCHIVED = 'ARCHIVED',
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
export class AppVersion {
|
|
144
|
-
id: string;
|
|
145
|
-
createdOn?: Date;
|
|
146
|
-
updatedOn?: Date;
|
|
147
|
-
createdById?: string;
|
|
148
|
-
updatedById?: string;
|
|
149
|
-
createdBy?: any;
|
|
150
|
-
updatedBy?: any;
|
|
151
|
-
orgId?: string;
|
|
152
|
-
appId?: string;
|
|
153
|
-
app?: App;
|
|
154
|
-
appOrgs?: AppOrg[];
|
|
155
|
-
versionNumber: number;
|
|
156
|
-
status: AppVersionStatus;
|
|
157
|
-
eventWorkflowTriggerKeyMapping: string;
|
|
158
|
-
configProperties?: ConfigProperty[];
|
|
159
|
-
triggerKeyDefinitions?: TriggerKeyDefinition[];
|
|
160
|
-
dockerImageRef?: string;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
export class AppApiKey {
|
|
164
|
-
id: string;
|
|
165
|
-
createdOn?: Date;
|
|
166
|
-
updatedOn?: Date;
|
|
167
|
-
createdById?: string;
|
|
168
|
-
updatedById?: string;
|
|
169
|
-
createdBy?: any;
|
|
170
|
-
updatedBy?: any;
|
|
171
|
-
orgId?: string;
|
|
172
|
-
appOrgId?: string;
|
|
173
|
-
appOrg?: AppOrg;
|
|
174
|
-
apiKey?: string;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
export class ConfigProperty {
|
|
178
|
-
slug: string;
|
|
179
|
-
propertyType: string;
|
|
180
|
-
options?: any[];
|
|
181
|
-
label: string;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
export interface EventWorkflowActionDefinition {
|
|
185
|
-
id?: string;
|
|
186
|
-
identifier?: string;
|
|
187
|
-
name?: string;
|
|
188
|
-
executeFunctionString?: string;
|
|
189
|
-
ownerKey?: string;
|
|
190
|
-
public?: boolean;
|
|
191
|
-
configProperties?: ConfigProperty[];
|
|
192
|
-
async?: boolean;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
export class TriggerKeyDefinition {
|
|
196
|
-
name: string;
|
|
197
|
-
description?: string;
|
|
198
|
-
triggerKey: string;
|
|
199
|
-
external?: boolean;
|
|
200
|
-
}
|
|
1
|
+
/** Describes the derivative JSON / object represented
|
|
2
|
+
* in app.yml file.
|
|
3
|
+
*/
|
|
4
|
+
export interface AppDeclaration {
|
|
5
|
+
appIdentifier: string;
|
|
6
|
+
appName: string;
|
|
7
|
+
appDescription?: string;
|
|
8
|
+
visibility: 'private' | 'public';
|
|
9
|
+
publisher: string;
|
|
10
|
+
version: string;
|
|
11
|
+
eventWorkflowTriggerKeyMapping: string;
|
|
12
|
+
thumbnail?: string;
|
|
13
|
+
keywords?: Array<string>;
|
|
14
|
+
actions?: { [key: string]: AppActionDeclaration };
|
|
15
|
+
appConfiguration: ConfigPropertyElements;
|
|
16
|
+
triggers: { [key: string]: AppTriggerDeclaration };
|
|
17
|
+
workflows?: { [key: string]: WorkflowDefinition | WorkflowTemplateDeclaration };
|
|
18
|
+
dockerImageRef?: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface ConfigPropertyElements {
|
|
22
|
+
[key: string]: ConfigPropertyElement;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface ConfigPropertyElement {
|
|
26
|
+
propertyType: string;
|
|
27
|
+
options?: any[];
|
|
28
|
+
label: string;
|
|
29
|
+
dynamic?: boolean;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface AppActionDeclaration {
|
|
33
|
+
handler: string;
|
|
34
|
+
public?: boolean;
|
|
35
|
+
name: string;
|
|
36
|
+
description?: string;
|
|
37
|
+
actionConfiguration?: ConfigPropertyElements;
|
|
38
|
+
async?: boolean; // defaults to false
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface AppTriggerDeclaration {
|
|
42
|
+
key: string;
|
|
43
|
+
name: string;
|
|
44
|
+
external?: boolean;
|
|
45
|
+
description?: string;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// workflow-template and workflow-template-definition share the same interface
|
|
49
|
+
export interface WorkflowDefinition {
|
|
50
|
+
id?: string;
|
|
51
|
+
identifier: string;
|
|
52
|
+
name: string;
|
|
53
|
+
triggerKey: string;
|
|
54
|
+
workflowDefinition: WorkflowDefinitionPaths;
|
|
55
|
+
ownerKey: string;
|
|
56
|
+
isActive: boolean;
|
|
57
|
+
public: boolean;
|
|
58
|
+
supportingAppId?: string;
|
|
59
|
+
messageGroupId?: string;
|
|
60
|
+
parallelWorkerCount?: number;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface WorkflowTemplateDeclaration {
|
|
64
|
+
workflows?: { [key: string]: WorkflowTemplate }
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export interface WorkflowTemplate {
|
|
68
|
+
id?: string;
|
|
69
|
+
identifier?: string;
|
|
70
|
+
name: string;
|
|
71
|
+
triggerKey: string;
|
|
72
|
+
workflowDefinition: WorkflowDefinitionPaths;
|
|
73
|
+
isActive: boolean;
|
|
74
|
+
ownerKey?: string;
|
|
75
|
+
supportingAppId?: string;
|
|
76
|
+
messageGroupId?: string;
|
|
77
|
+
parallelWorkerCount?: number;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export interface WorkflowDefinitionPaths {
|
|
81
|
+
paths: WorkflowConditional[]
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export interface WorkflowConditional {
|
|
85
|
+
conditional: string;
|
|
86
|
+
actionDefinitionConfigs: ActionDefinitionConfig[]
|
|
87
|
+
}
|
|
88
|
+
export interface ActionDefinitionConfig {
|
|
89
|
+
name: string;
|
|
90
|
+
action: string;
|
|
91
|
+
config?: { [key: string]: any };
|
|
92
|
+
id?: string;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export interface App {
|
|
96
|
+
id: string;
|
|
97
|
+
identifier: string;
|
|
98
|
+
name: string;
|
|
99
|
+
public: boolean;
|
|
100
|
+
description?: string;
|
|
101
|
+
publisher: string;
|
|
102
|
+
thumbnail: string; // should be a public link
|
|
103
|
+
eventWorkflowTriggerKeyMapping: string;
|
|
104
|
+
configProperties?: ConfigProperty[];
|
|
105
|
+
triggerKeyDefinitions?: TriggerKeyDefinition[];
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export interface AppOrg {
|
|
109
|
+
id: string;
|
|
110
|
+
createdOn?: Date;
|
|
111
|
+
updatedOn?: Date;
|
|
112
|
+
createdById?: string;
|
|
113
|
+
updatedById?: string;
|
|
114
|
+
createdBy?: any;
|
|
115
|
+
updatedBy?: any;
|
|
116
|
+
orgId?: string;
|
|
117
|
+
status: AppOrgStatus;
|
|
118
|
+
appId?: string;
|
|
119
|
+
app?: App;
|
|
120
|
+
appVersionId?: string;
|
|
121
|
+
appVersion?: AppVersion;
|
|
122
|
+
apiKey?: AppApiKey;
|
|
123
|
+
appConfig?: any;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export enum AppOrgStatus {
|
|
127
|
+
INSTALLING = 'INSTALLING',
|
|
128
|
+
FAILED_INSTALLING = 'FAILED_INSTALLING',
|
|
129
|
+
READY = 'READY',
|
|
130
|
+
DELETING = 'DELETING',
|
|
131
|
+
FAILED_DELETING = 'FAILED_DELETING',
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export enum AppVersionStatus {
|
|
135
|
+
PUBLISHING = 'PUBLISHING',
|
|
136
|
+
FAILED_PUBLISHING = 'FAILED_PUBLISHING',
|
|
137
|
+
PUBLISHED = 'PUBLISHED',
|
|
138
|
+
ARCHIVING = 'ARCHIVING',
|
|
139
|
+
FAILED_ARCHIVING = 'FAILED_ARCHIVING',
|
|
140
|
+
ARCHIVED = 'ARCHIVED',
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export class AppVersion {
|
|
144
|
+
id: string;
|
|
145
|
+
createdOn?: Date;
|
|
146
|
+
updatedOn?: Date;
|
|
147
|
+
createdById?: string;
|
|
148
|
+
updatedById?: string;
|
|
149
|
+
createdBy?: any;
|
|
150
|
+
updatedBy?: any;
|
|
151
|
+
orgId?: string;
|
|
152
|
+
appId?: string;
|
|
153
|
+
app?: App;
|
|
154
|
+
appOrgs?: AppOrg[];
|
|
155
|
+
versionNumber: number;
|
|
156
|
+
status: AppVersionStatus;
|
|
157
|
+
eventWorkflowTriggerKeyMapping: string;
|
|
158
|
+
configProperties?: ConfigProperty[];
|
|
159
|
+
triggerKeyDefinitions?: TriggerKeyDefinition[];
|
|
160
|
+
dockerImageRef?: string;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export class AppApiKey {
|
|
164
|
+
id: string;
|
|
165
|
+
createdOn?: Date;
|
|
166
|
+
updatedOn?: Date;
|
|
167
|
+
createdById?: string;
|
|
168
|
+
updatedById?: string;
|
|
169
|
+
createdBy?: any;
|
|
170
|
+
updatedBy?: any;
|
|
171
|
+
orgId?: string;
|
|
172
|
+
appOrgId?: string;
|
|
173
|
+
appOrg?: AppOrg;
|
|
174
|
+
apiKey?: string;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export class ConfigProperty {
|
|
178
|
+
slug: string;
|
|
179
|
+
propertyType: string;
|
|
180
|
+
options?: any[];
|
|
181
|
+
label: string;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export interface EventWorkflowActionDefinition {
|
|
185
|
+
id?: string;
|
|
186
|
+
identifier?: string;
|
|
187
|
+
name?: string;
|
|
188
|
+
executeFunctionString?: string;
|
|
189
|
+
ownerKey?: string;
|
|
190
|
+
public?: boolean;
|
|
191
|
+
configProperties?: ConfigProperty[];
|
|
192
|
+
async?: boolean;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
export class TriggerKeyDefinition {
|
|
196
|
+
name: string;
|
|
197
|
+
description?: string;
|
|
198
|
+
triggerKey: string;
|
|
199
|
+
external?: boolean;
|
|
200
|
+
}
|