@contrail/cli 1.0.71 → 2.0.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/LICENSE +21 -0
- package/README.md +1034 -5
- package/bin/dev +17 -0
- package/bin/dev.cmd +3 -0
- package/bin/run +5 -0
- package/bin/run.cmd +3 -0
- package/{lib → dist}/api/apps.d.ts +13 -13
- package/dist/api/apps.js +96 -0
- package/{lib → dist}/api/event-workflow-action-definition.d.ts +1 -1
- package/dist/api/event-workflow-action-definition.js +11 -0
- package/{lib → dist}/api/event-workflow-template-definition.d.ts +6 -6
- package/dist/api/event-workflow-template-definition.js +26 -0
- package/{lib → dist}/api/event-workflow-templates.d.ts +7 -7
- package/dist/api/event-workflow-templates.js +32 -0
- package/dist/api/types.d.ts +7 -0
- package/dist/api/types.js +52 -0
- package/{lib → dist}/auth/auth.d.ts +9 -9
- package/dist/auth/auth.js +6 -0
- package/{lib → dist}/auth/login.d.ts +2 -2
- package/{lib → dist}/auth/login.js +146 -141
- package/dist/commands/app/create.d.ts +6 -0
- package/dist/commands/app/create.js +15 -0
- package/dist/commands/app/delete.d.ts +7 -0
- package/dist/commands/app/delete.js +38 -0
- package/dist/commands/app/install.d.ts +11 -0
- package/dist/commands/app/install.js +117 -0
- package/dist/commands/app/publish.d.ts +7 -0
- package/dist/commands/app/publish.js +45 -0
- package/dist/commands/app/uninstall.d.ts +10 -0
- package/dist/commands/app/uninstall.js +58 -0
- package/dist/commands/app/upgrade.d.ts +11 -0
- package/dist/commands/app/upgrade.js +79 -0
- package/dist/commands/colors/deleteAll.d.ts +6 -0
- package/dist/commands/colors/deleteAll.js +30 -0
- package/dist/commands/colors/load.d.ts +6 -0
- package/dist/commands/colors/load.js +29 -0
- package/dist/commands/config/list.d.ts +6 -0
- package/dist/commands/config/list.js +15 -0
- package/dist/commands/config/remove.d.ts +14 -0
- package/dist/commands/config/remove.js +26 -0
- package/dist/commands/config/set.d.ts +13 -0
- package/dist/commands/config/set.js +29 -0
- package/dist/commands/loader-process/load.d.ts +9 -0
- package/dist/commands/loader-process/load.js +33 -0
- package/dist/commands/loader-process/upload-and-load.d.ts +10 -0
- package/dist/commands/loader-process/upload-and-load.js +35 -0
- package/dist/commands/projects/export.d.ts +10 -0
- package/dist/commands/projects/export.js +34 -0
- package/dist/commands/projects/list.d.ts +6 -0
- package/dist/commands/projects/list.js +34 -0
- package/dist/commands/projects/load.d.ts +9 -0
- package/{lib/projects/project-uploader.js → dist/commands/projects/load.js} +106 -105
- package/dist/commands/types/exportOptionSetHierarchies.d.ts +7 -0
- package/{lib/types/option-set-hierarchy-exporter.js → dist/commands/types/exportOptionSetHierarchies.js} +130 -113
- package/{lib/types/types-extractor.d.ts → dist/commands/types/getAll.d.ts} +29 -27
- package/{lib/types/types-extractor.js → dist/commands/types/getAll.js} +267 -318
- package/dist/commands/types/loadAll.d.ts +7 -0
- package/dist/commands/types/loadAll.js +41 -0
- package/dist/commands/types/mergeOptionSets.d.ts +9 -0
- package/{lib/types/option-set-merger.js → dist/commands/types/mergeOptionSets.js} +114 -105
- package/dist/commands/types/mergeTypeProperties.d.ts +11 -0
- package/dist/commands/types/mergeTypeProperties.js +89 -0
- package/dist/commands/types/parseOptionSetsHierarchyLocalFile.d.ts +10 -0
- package/dist/commands/types/parseOptionSetsHierarchyLocalFile.js +112 -0
- package/dist/commands/types/parseOptionSetsLocalFiles.d.ts +14 -0
- package/dist/commands/types/parseOptionSetsLocalFiles.js +153 -0
- package/dist/commands/types/parseOptionSetsToFolderStructure.d.ts +10 -0
- package/dist/commands/types/parseOptionSetsToFolderStructure.js +104 -0
- package/dist/commands/types/parseTypesFromFiles.d.ts +10 -0
- package/dist/commands/types/parseTypesFromFiles.js +34 -0
- package/dist/commands/types/parseTypesFromLocalFiles.d.ts +10 -0
- package/dist/commands/types/parseTypesFromLocalFiles.js +34 -0
- package/dist/commands/types/parseTypesFromTemplateAndDataFromLocalFiles.d.ts +11 -0
- package/dist/commands/types/parseTypesFromTemplateAndDataFromLocalFiles.js +36 -0
- package/dist/commands/types/parseTypesFromTemplateFromLocalFiles.d.ts +10 -0
- package/dist/commands/types/parseTypesFromTemplateFromLocalFiles.js +35 -0
- package/dist/commands/types/uploadOptionSetHierarchies.d.ts +7 -0
- package/{lib/types/option-set-hierarchy-uploader.js → dist/commands/types/uploadOptionSetHierarchies.js} +130 -113
- package/dist/commands/types/uploadOptionSets.d.ts +7 -0
- package/{lib/types/option-set-uploader.js → dist/commands/types/uploadOptionSets.js} +115 -98
- package/dist/commands/types/uploadOptionSetsHierarchyLocalFile.d.ts +11 -0
- package/{lib/types/option-set-hierarchy-parser.js → dist/commands/types/uploadOptionSetsHierarchyLocalFile.js} +128 -140
- package/dist/commands/types/uploadRuleSets.d.ts +7 -0
- package/{lib/types/rule-set-uploader.js → dist/commands/types/uploadRuleSets.js} +189 -172
- package/dist/commands/types/uploadTypePropertyPolicies.d.ts +7 -0
- package/{lib/types/type-property-policy-uploader.js → dist/commands/types/uploadTypePropertyPolicies.js} +195 -178
- package/dist/commands/types/uploadUsageInfo.d.ts +7 -0
- package/{lib/types/usage-info-uploader.js → dist/commands/types/uploadUsageInfo.js} +149 -132
- package/dist/commands/users/export.d.ts +9 -0
- package/dist/commands/users/export.js +60 -0
- package/dist/commands/users/upload.d.ts +9 -0
- package/dist/commands/users/upload.js +65 -0
- package/dist/commands/workflow-template-definitions/install.d.ts +6 -0
- package/dist/commands/workflow-template-definitions/install.js +17 -0
- package/dist/commands/workflow-template-definitions/list.d.ts +6 -0
- package/dist/commands/workflow-template-definitions/list.js +17 -0
- package/dist/commands/workflow-templates/delete.d.ts +6 -0
- package/dist/commands/workflow-templates/delete.js +17 -0
- package/dist/commands/workflow-templates/list.d.ts +6 -0
- package/dist/commands/workflow-templates/list.js +17 -0
- package/dist/commands/workflow-templates/load.d.ts +9 -0
- package/dist/commands/workflow-templates/load.js +21 -0
- package/{lib → dist}/common.d.ts +1 -1
- package/dist/common.js +9 -0
- package/{lib/apps/deploy-app → dist/helpers/app}/actions-deployer.d.ts +11 -11
- package/{lib/apps/deploy-app → dist/helpers/app}/actions-deployer.js +122 -114
- package/{lib/apps/deploy-app → dist/helpers/app}/app-deployer.d.ts +8 -8
- package/{lib/apps/deploy-app → dist/helpers/app}/app-deployer.js +98 -93
- package/{lib/apps/deploy-app → dist/helpers/app}/app-template-parsers.d.ts +7 -7
- package/{lib/apps/deploy-app → dist/helpers/app}/app-template-parsers.js +43 -38
- package/dist/helpers/app/load-app-config.d.ts +1 -0
- package/dist/helpers/app/load-app-config.js +18 -0
- package/dist/helpers/app/setup-template.d.ts +1 -0
- package/dist/helpers/app/setup-template.js +38 -0
- package/dist/helpers/colors/helpers.d.ts +4 -0
- package/dist/helpers/colors/helpers.js +74 -0
- package/{lib → dist/helpers}/config/config.d.ts +6 -6
- package/dist/helpers/config/config.js +76 -0
- package/dist/helpers/loader-process/helpers.d.ts +2 -0
- package/{lib/loader-process/loader-process.js → dist/helpers/loader-process/helpers.js} +98 -120
- package/dist/helpers/projects/helpers.d.ts +2 -0
- package/{lib/projects/project-exporter.js → dist/helpers/projects/helpers.js} +165 -187
- package/{lib → dist/helpers}/types/csv-parser.d.ts +1 -1
- package/{lib → dist/helpers}/types/csv-parser.js +56 -51
- package/dist/helpers/types/type-extractor.d.ts +1 -0
- package/dist/helpers/types/type-extractor.js +32 -0
- package/dist/helpers/types/type-parser.d.ts +4 -0
- package/dist/helpers/types/type-parser.js +118 -0
- package/{lib/types/types-uploader.d.ts → dist/helpers/types/type-uploader.d.ts} +1 -1
- package/{lib/types/types-uploader.js → dist/helpers/types/type-uploader.js} +244 -239
- package/{lib → dist/helpers}/workflow-template-definitions/workflow-template-definition-deployer.d.ts +12 -12
- package/{lib → dist/helpers}/workflow-template-definitions/workflow-template-definition-deployer.js +156 -151
- package/{lib/workflow-templates/local-workflow-template-deployer.d.ts → dist/helpers/workflow-templates/helper.d.ts} +17 -11
- package/dist/helpers/workflow-templates/helper.js +166 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +5 -0
- package/{lib → dist}/interfaces.d.ts +323 -191
- package/dist/interfaces.js +63 -0
- package/{templates → dist/templates}/typescript/Dockerfile +15 -15
- package/{templates → dist/templates}/typescript/README.md +10 -10
- package/{templates → dist/templates}/typescript/app.yml +49 -49
- package/{templates → dist/templates}/typescript/docker_deploy.bat +1 -1
- package/{templates → dist/templates}/typescript/package.json +54 -54
- package/{templates → dist/templates}/typescript/src/actions/logItem.ts +25 -25
- package/{templates → dist/templates}/typescript/src/framework/action-dispatcher.ts +89 -89
- package/{templates → dist/templates}/typescript/src/framework/app-config.ts +26 -26
- package/{templates → dist/templates}/typescript/src/framework/handler.ts +11 -11
- package/{templates → dist/templates}/typescript/src/framework/index.ts +2 -2
- package/{templates → dist/templates}/typescript/src/framework/interfaces.ts +32 -32
- package/{templates → dist/templates}/typescript/src/framework/logger.ts +21 -21
- package/{templates → dist/templates}/typescript/src/framework/mock-server.ts +31 -31
- package/{templates → dist/templates}/typescript/tsconfig.json +28 -28
- package/oclif.manifest.json +821 -0
- package/package.json +116 -72
- package/.eslintrc.js +0 -53
- package/.vscode/settings.json +0 -6
- package/bin/init +0 -4
- package/lib/api/apps.js +0 -85
- package/lib/api/event-workflow-action-definition.js +0 -7
- package/lib/api/event-workflow-template-definition.js +0 -20
- package/lib/api/event-workflow-templates.js +0 -25
- package/lib/apps/create-app/create.d.ts +0 -1
- package/lib/apps/create-app/create.js +0 -60
- package/lib/apps/create-app/setup-template.d.ts +0 -1
- package/lib/apps/create-app/setup-template.js +0 -34
- package/lib/apps/deploy-app/deploy.d.ts +0 -2
- package/lib/apps/deploy-app/deploy.js +0 -58
- package/lib/apps/install-app/app-installer.d.ts +0 -2
- package/lib/apps/install-app/app-installer.js +0 -120
- package/lib/apps/upgrade-app/app-upgrader.d.ts +0 -3
- package/lib/apps/upgrade-app/app-upgrader.js +0 -126
- package/lib/auth/auth.js +0 -2
- package/lib/cli.d.ts +0 -5
- package/lib/cli.js +0 -524
- package/lib/colors/color-loader.d.ts +0 -2
- package/lib/colors/color-loader.js +0 -96
- package/lib/common.js +0 -5
- package/lib/config/config.js +0 -70
- package/lib/config/configCommands.d.ts +0 -3
- package/lib/config/configCommands.js +0 -34
- package/lib/interfaces.js +0 -25
- package/lib/loader-process/loader-process.d.ts +0 -2
- package/lib/projects/interfaces.d.ts +0 -77
- package/lib/projects/interfaces.js +0 -23
- package/lib/projects/project-exporter.d.ts +0 -2
- package/lib/projects/project-uploader.d.ts +0 -1
- package/lib/types/allUploader.d.ts +0 -1
- package/lib/types/allUploader.js +0 -24
- package/lib/types/interfaces.d.ts +0 -55
- package/lib/types/interfaces.js +0 -1
- package/lib/types/option-set-hierarchy-exporter.d.ts +0 -1
- package/lib/types/option-set-hierarchy-parser.d.ts +0 -2
- package/lib/types/option-set-hierarchy-uploader.d.ts +0 -1
- package/lib/types/option-set-merger.d.ts +0 -1
- package/lib/types/option-set-parser.d.ts +0 -3
- package/lib/types/option-set-parser.js +0 -140
- package/lib/types/option-set-uploader.d.ts +0 -1
- package/lib/types/parse-types.d.ts +0 -4
- package/lib/types/parse-types.js +0 -189
- package/lib/types/rule-set-uploader.d.ts +0 -1
- package/lib/types/type-property-policy-uploader.d.ts +0 -1
- package/lib/types/types-properties-merger.d.ts +0 -1
- package/lib/types/types-properties-merger.js +0 -75
- package/lib/types/usage-info-uploader.d.ts +0 -1
- package/lib/users/user-exporter.d.ts +0 -1
- package/lib/users/user-exporter.js +0 -41
- package/lib/users/user-uploader.d.ts +0 -1
- package/lib/users/user-uploader.js +0 -45
- package/lib/workflow-template-definitions/workflow-template-definition-commands.d.ts +0 -2
- package/lib/workflow-template-definitions/workflow-template-definition-commands.js +0 -10
- package/lib/workflow-templates/local-workflow-template-deployer.js +0 -102
- package/lib/workflow-templates/workflow-template-commands.d.ts +0 -4
- package/lib/workflow-templates/workflow-template-commands.js +0 -51
- package/lib/workflow-templates/workflow-template-deployer.d.ts +0 -4
- package/lib/workflow-templates/workflow-template-deployer.js +0 -26
- package/publish.bat +0 -5
- package/publish.sh +0 -5
- package/src/api/apps.ts +0 -97
- package/src/api/event-workflow-action-definition.ts +0 -8
- package/src/api/event-workflow-template-definition.ts +0 -23
- package/src/api/event-workflow-templates.ts +0 -29
- package/src/apps/create-app/create.ts +0 -74
- package/src/apps/create-app/setup-template.ts +0 -38
- package/src/apps/deploy-app/actions-deployer.ts +0 -140
- package/src/apps/deploy-app/app-deployer.ts +0 -105
- package/src/apps/deploy-app/app-template-parsers.ts +0 -44
- package/src/apps/deploy-app/deploy.ts +0 -66
- package/src/apps/install-app/app-installer.ts +0 -126
- package/src/apps/upgrade-app/app-upgrader.ts +0 -132
- package/src/auth/auth.ts +0 -10
- package/src/auth/login.ts +0 -155
- package/src/cli.ts +0 -540
- package/src/colors/color-loader.ts +0 -112
- package/src/colors/colors.csv +0 -866
- package/src/common.ts +0 -5
- package/src/config/config.ts +0 -74
- package/src/config/configCommands.ts +0 -38
- package/src/interfaces.ts +0 -200
- package/src/loader-process/loader-process.ts +0 -152
- package/src/projects/interfaces.ts +0 -73
- package/src/projects/project-exporter.ts +0 -225
- package/src/projects/project-uploader.ts +0 -131
- package/src/types/allUploader.ts +0 -28
- package/src/types/csv-parser.ts +0 -59
- package/src/types/interfaces.ts +0 -58
- package/src/types/option-set-hierarchy-exporter.ts +0 -125
- package/src/types/option-set-hierarchy-parser.ts +0 -169
- package/src/types/option-set-hierarchy-uploader.ts +0 -122
- package/src/types/option-set-merger.ts +0 -124
- package/src/types/option-set-parser.ts +0 -166
- package/src/types/option-set-uploader.ts +0 -108
- package/src/types/parse-types.ts +0 -227
- package/src/types/rule-set-uploader.ts +0 -187
- package/src/types/type-property-policy-uploader.ts +0 -192
- package/src/types/types-extractor.ts +0 -369
- package/src/types/types-properties-merger.ts +0 -90
- package/src/types/types-uploader.ts +0 -271
- package/src/types/usage-info-uploader.ts +0 -139
- package/src/users/user-exporter.ts +0 -52
- package/src/users/user-uploader.ts +0 -58
- package/src/workflow-template-definitions/workflow-template-definition-commands.ts +0 -13
- package/src/workflow-template-definitions/workflow-template-definition-deployer.ts +0 -184
- package/src/workflow-templates/local-workflow-template-deployer.ts +0 -126
- package/src/workflow-templates/workflow-template-commands.ts +0 -59
- package/src/workflow-templates/workflow-template-deployer.ts +0 -30
- package/templates/javascript/actions/example/action.js +0 -38
- package/templates/javascript/app.yml +0 -53
- package/templates/javascript/package.json +0 -23
- package/templates/typescript/package-lock.json +0 -14
- package/tsconfig.json +0 -32
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
appIdentifier: "@your-co/app-name" # Change to be your company root domain and the name of the app
|
|
2
|
-
appName: "Your App Name" # Give your app a name
|
|
3
|
-
appDescription: "Your app description." # Give your app a description
|
|
4
|
-
visibility: private # This should be private unless you want to develop an app for all VibeIQ customers to use
|
|
5
|
-
publisher: "Your company name" # Your company name, used for public apps
|
|
6
|
-
version: 1.0
|
|
7
|
-
dockerImageRef: CHANGE_ME # For VibeIQ Deployment... for use by VibeIQ employees only
|
|
8
|
-
|
|
9
|
-
# Properties you can configure when you install the app.
|
|
10
|
-
# These property values will be available to all of your actions when they run
|
|
11
|
-
appConfiguration:
|
|
12
|
-
apiHost:
|
|
13
|
-
label: "API Host"
|
|
14
|
-
propertyType: "string"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
# Action declarations. You define actions here. The 'slug' for the action
|
|
18
|
-
# should match the name of a 'handler' in the /actions folder.
|
|
19
|
-
# See documentation on how to implement actions.
|
|
20
|
-
actions:
|
|
21
|
-
logItem:
|
|
22
|
-
name: "Log Item"
|
|
23
|
-
description: "Fetches an item from the API and returns it to the log."
|
|
24
|
-
async: false
|
|
25
|
-
actionConfiguration:
|
|
26
|
-
message:
|
|
27
|
-
label: "Additional message to log."
|
|
28
|
-
propertyType: "string"
|
|
29
|
-
|
|
30
|
-
workflows:
|
|
31
|
-
logItemUpdate:
|
|
32
|
-
name: "Item Update -> Log"
|
|
33
|
-
triggerKey: item|update
|
|
34
|
-
isActive: true
|
|
35
|
-
public: true
|
|
36
|
-
workflowDefinition:
|
|
37
|
-
paths:
|
|
38
|
-
- conditional: "true"
|
|
39
|
-
actionDefinitionConfigs:
|
|
40
|
-
- action: logItem
|
|
41
|
-
name: Log Item
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
# This is an advanced feature that can 'derive' a trigger key for external events.
|
|
45
|
-
# External events are events sent to the VibeIQ API's /external-events end point from another system
|
|
46
|
-
# Here, you can define a string based on properties from the event payloads (which are custom to your payload)
|
|
47
|
-
# i.e. an event {details: {eventType: 'apparel'}, actionType: 'create'} can be parsed to apparel|create with the following
|
|
48
|
-
# When this is defined, any event coming from your app's credentials will define a trigger key using this logic.
|
|
49
|
-
# You can then define workflows to run based on those external events, based on this triggger key definition.
|
|
1
|
+
appIdentifier: "@your-co/app-name" # Change to be your company root domain and the name of the app
|
|
2
|
+
appName: "Your App Name" # Give your app a name
|
|
3
|
+
appDescription: "Your app description." # Give your app a description
|
|
4
|
+
visibility: private # This should be private unless you want to develop an app for all VibeIQ customers to use
|
|
5
|
+
publisher: "Your company name" # Your company name, used for public apps
|
|
6
|
+
version: 1.0
|
|
7
|
+
dockerImageRef: CHANGE_ME # For VibeIQ Deployment... for use by VibeIQ employees only
|
|
8
|
+
|
|
9
|
+
# Properties you can configure when you install the app.
|
|
10
|
+
# These property values will be available to all of your actions when they run
|
|
11
|
+
appConfiguration:
|
|
12
|
+
apiHost:
|
|
13
|
+
label: "API Host"
|
|
14
|
+
propertyType: "string"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# Action declarations. You define actions here. The 'slug' for the action
|
|
18
|
+
# should match the name of a 'handler' in the /actions folder.
|
|
19
|
+
# See documentation on how to implement actions.
|
|
20
|
+
actions:
|
|
21
|
+
logItem:
|
|
22
|
+
name: "Log Item"
|
|
23
|
+
description: "Fetches an item from the API and returns it to the log."
|
|
24
|
+
async: false
|
|
25
|
+
actionConfiguration:
|
|
26
|
+
message:
|
|
27
|
+
label: "Additional message to log."
|
|
28
|
+
propertyType: "string"
|
|
29
|
+
|
|
30
|
+
workflows:
|
|
31
|
+
logItemUpdate:
|
|
32
|
+
name: "Item Update -> Log"
|
|
33
|
+
triggerKey: item|update
|
|
34
|
+
isActive: true
|
|
35
|
+
public: true
|
|
36
|
+
workflowDefinition:
|
|
37
|
+
paths:
|
|
38
|
+
- conditional: "true"
|
|
39
|
+
actionDefinitionConfigs:
|
|
40
|
+
- action: logItem
|
|
41
|
+
name: Log Item
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
# This is an advanced feature that can 'derive' a trigger key for external events.
|
|
45
|
+
# External events are events sent to the VibeIQ API's /external-events end point from another system
|
|
46
|
+
# Here, you can define a string based on properties from the event payloads (which are custom to your payload)
|
|
47
|
+
# i.e. an event {details: {eventType: 'apparel'}, actionType: 'create'} can be parsed to apparel|create with the following
|
|
48
|
+
# When this is defined, any event coming from your app's credentials will define a trigger key using this logic.
|
|
49
|
+
# You can then define workflows to run based on those external events, based on this triggger key definition.
|
|
50
50
|
eventWorkflowTriggerKeyMapping: "{details.eventType}|{actionType}"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
npm run docker-ecr-login:win && npm version patch && npm run docker-build:win && npm run docker-tag:win && npm run docker-push:win
|
|
1
|
+
npm run docker-ecr-login:win && npm version patch && npm run docker-build:win && npm run docker-tag:win && npm run docker-push:win
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "test-app",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"@contrail/contrail-cli": "bin/init",
|
|
8
|
-
"contrail": "bin/init"
|
|
9
|
-
},
|
|
10
|
-
"config": {
|
|
11
|
-
"wf": "/workflow-actions-prod"
|
|
12
|
-
},
|
|
13
|
-
"publishConfig": {
|
|
14
|
-
"access": "public"
|
|
15
|
-
},
|
|
16
|
-
"scripts": {
|
|
17
|
-
"build": "tsc",
|
|
18
|
-
"start": "nodemon --watch \"src/**/*.ts\" --exec ts-node src/framework/mock-server.ts",
|
|
19
|
-
"debug": "nodemon -r ts-node/register --inspect=127.0.0.1:60002 --watch 'actions/**/*.ts' --exec node src/framework/mock-server.ts",
|
|
20
|
-
"lint": "eslint . --fix",
|
|
21
|
-
"test": "jest",
|
|
22
|
-
"test-watch": "jest --watch",
|
|
23
|
-
"docker-build": "docker build . -t \"${npm_package_name}:${npm_package_version}\"",
|
|
24
|
-
"docker-build:win": "docker build . -t \"%npm_package_name%:%npm_package_version%\"",
|
|
25
|
-
"docker-run-entry": "docker run -it --entrypoint=/bin/bash \"${npm_package_name}:${npm_package_version}\"",
|
|
26
|
-
"docker-run-entry:win": "docker run -it --entrypoint=/bin/bash \"%npm_package_name%:%npm_package_version%\"",
|
|
27
|
-
"docker-run": "docker run --env CONTRAIL_CLI_ENV=DEV -p 9000:8080 \"${npm_package_name}:${npm_package_version}\"",
|
|
28
|
-
"docker-run:win": "docker run --env CONTRAIL_CLI_ENV=DEV -p 9000:8080 \"%npm_package_name%:%npm_package_version%\"",
|
|
29
|
-
"docker-ecr-login": "aws ecr get-login-password | docker login --username AWS --password-stdin ${AWS_REGISTRY}",
|
|
30
|
-
"docker-ecr-login:win": "aws ecr get-login-password | docker login --username AWS --password-stdin %AWS_REGISTRY%",
|
|
31
|
-
"docker-tag": "docker tag ${npm_package_name}:${npm_package_version} \"${AWS_REGISTRY}${npm_package_config_wf}:${npm_package_name}.${npm_package_version}\"",
|
|
32
|
-
"docker-tag:win": "docker tag %npm_package_name%:%npm_package_version% %AWS_REGISTRY%%npm_package_config_wf%:%npm_package_name%.%npm_package_version%",
|
|
33
|
-
"docker-push": "docker push \"${AWS_REGISTRY}${npm_package_config_wf}:${npm_package_name}.${npm_package_version}\"",
|
|
34
|
-
"docker-push:win": "docker push \"%AWS_REGISTRY%%npm_package_config_wf%:%npm_package_name%.%npm_package_version%\""
|
|
35
|
-
},
|
|
36
|
-
"keywords": [],
|
|
37
|
-
"author": "",
|
|
38
|
-
"license": "ISC",
|
|
39
|
-
"dependencies": {
|
|
40
|
-
"@contrail/sdk": "^1.1.54",
|
|
41
|
-
"chalk": "^4.0.0"
|
|
42
|
-
},
|
|
43
|
-
"devDependencies": {
|
|
44
|
-
"@types/node": "^18.14.6",
|
|
45
|
-
"body-parser": "^1.20.2",
|
|
46
|
-
"express": "^4.18.2",
|
|
47
|
-
"jest": "^29.2.2",
|
|
48
|
-
"js-yaml": "^4.1.0",
|
|
49
|
-
"nodemon": "^1.19.4",
|
|
50
|
-
"ts-jest": "^29.0.3",
|
|
51
|
-
"ts-node": "^7.0.1",
|
|
52
|
-
"typescript": "^4.7.4"
|
|
53
|
-
}
|
|
54
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "test-app",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"@contrail/contrail-cli": "bin/init",
|
|
8
|
+
"contrail": "bin/init"
|
|
9
|
+
},
|
|
10
|
+
"config": {
|
|
11
|
+
"wf": "/workflow-actions-prod"
|
|
12
|
+
},
|
|
13
|
+
"publishConfig": {
|
|
14
|
+
"access": "public"
|
|
15
|
+
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"start": "nodemon --watch \"src/**/*.ts\" --exec ts-node src/framework/mock-server.ts",
|
|
19
|
+
"debug": "nodemon -r ts-node/register --inspect=127.0.0.1:60002 --watch 'actions/**/*.ts' --exec node src/framework/mock-server.ts",
|
|
20
|
+
"lint": "eslint . --fix",
|
|
21
|
+
"test": "jest",
|
|
22
|
+
"test-watch": "jest --watch",
|
|
23
|
+
"docker-build": "docker build . -t \"${npm_package_name}:${npm_package_version}\"",
|
|
24
|
+
"docker-build:win": "docker build . -t \"%npm_package_name%:%npm_package_version%\"",
|
|
25
|
+
"docker-run-entry": "docker run -it --entrypoint=/bin/bash \"${npm_package_name}:${npm_package_version}\"",
|
|
26
|
+
"docker-run-entry:win": "docker run -it --entrypoint=/bin/bash \"%npm_package_name%:%npm_package_version%\"",
|
|
27
|
+
"docker-run": "docker run --env CONTRAIL_CLI_ENV=DEV -p 9000:8080 \"${npm_package_name}:${npm_package_version}\"",
|
|
28
|
+
"docker-run:win": "docker run --env CONTRAIL_CLI_ENV=DEV -p 9000:8080 \"%npm_package_name%:%npm_package_version%\"",
|
|
29
|
+
"docker-ecr-login": "aws ecr get-login-password | docker login --username AWS --password-stdin ${AWS_REGISTRY}",
|
|
30
|
+
"docker-ecr-login:win": "aws ecr get-login-password | docker login --username AWS --password-stdin %AWS_REGISTRY%",
|
|
31
|
+
"docker-tag": "docker tag ${npm_package_name}:${npm_package_version} \"${AWS_REGISTRY}${npm_package_config_wf}:${npm_package_name}.${npm_package_version}\"",
|
|
32
|
+
"docker-tag:win": "docker tag %npm_package_name%:%npm_package_version% %AWS_REGISTRY%%npm_package_config_wf%:%npm_package_name%.%npm_package_version%",
|
|
33
|
+
"docker-push": "docker push \"${AWS_REGISTRY}${npm_package_config_wf}:${npm_package_name}.${npm_package_version}\"",
|
|
34
|
+
"docker-push:win": "docker push \"%AWS_REGISTRY%%npm_package_config_wf%:%npm_package_name%.%npm_package_version%\""
|
|
35
|
+
},
|
|
36
|
+
"keywords": [],
|
|
37
|
+
"author": "",
|
|
38
|
+
"license": "ISC",
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@contrail/sdk": "^1.1.54",
|
|
41
|
+
"chalk": "^4.0.0"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@types/node": "^18.14.6",
|
|
45
|
+
"body-parser": "^1.20.2",
|
|
46
|
+
"express": "^4.18.2",
|
|
47
|
+
"jest": "^29.2.2",
|
|
48
|
+
"js-yaml": "^4.1.0",
|
|
49
|
+
"nodemon": "^1.19.4",
|
|
50
|
+
"ts-jest": "^29.0.3",
|
|
51
|
+
"ts-node": "^7.0.1",
|
|
52
|
+
"typescript": "^4.7.4"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { login, Entities, setAppCredentials } from "@contrail/sdk";
|
|
2
|
-
import { AppActionCallBack, AppActionCallbackStatus } from "../framework";
|
|
3
|
-
import { Logger } from "../framework/logger";
|
|
4
|
-
|
|
5
|
-
export async function execute(event, config: any, logger: Logger): Promise<AppActionCallBack> {
|
|
6
|
-
logger.log('Starting Example Action');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
logger.log('Loggin in');
|
|
10
|
-
// Fetch items from the SDK
|
|
11
|
-
await setAppCredentials(config.apiKey, config.orgSlug);
|
|
12
|
-
logger.log('Getting item from SDK');
|
|
13
|
-
|
|
14
|
-
const item = await new Entities().get({
|
|
15
|
-
entityName: 'item',
|
|
16
|
-
id: event.id,
|
|
17
|
-
})
|
|
18
|
-
logger.log('Got item: ', item);
|
|
19
|
-
|
|
20
|
-
return {
|
|
21
|
-
output: {
|
|
22
|
-
item,
|
|
23
|
-
},
|
|
24
|
-
status: AppActionCallbackStatus.SUCCESS
|
|
25
|
-
};
|
|
1
|
+
import { login, Entities, setAppCredentials } from "@contrail/sdk";
|
|
2
|
+
import { AppActionCallBack, AppActionCallbackStatus } from "../framework";
|
|
3
|
+
import { Logger } from "../framework/logger";
|
|
4
|
+
|
|
5
|
+
export async function execute(event, config: any, logger: Logger): Promise<AppActionCallBack> {
|
|
6
|
+
logger.log('Starting Example Action');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
logger.log('Loggin in');
|
|
10
|
+
// Fetch items from the SDK
|
|
11
|
+
await setAppCredentials(config.apiKey, config.orgSlug);
|
|
12
|
+
logger.log('Getting item from SDK');
|
|
13
|
+
|
|
14
|
+
const item = await new Entities().get({
|
|
15
|
+
entityName: 'item',
|
|
16
|
+
id: event.id,
|
|
17
|
+
})
|
|
18
|
+
logger.log('Got item: ', item);
|
|
19
|
+
|
|
20
|
+
return {
|
|
21
|
+
output: {
|
|
22
|
+
item,
|
|
23
|
+
},
|
|
24
|
+
status: AppActionCallbackStatus.SUCCESS
|
|
25
|
+
};
|
|
26
26
|
}
|
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WARNING: Do not modify this file, it is part of the generic runtime handling logic
|
|
3
|
-
* for VibeIQ app actions.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { setAppCredentials } from "@contrail/sdk";
|
|
8
|
-
import { loadAppConfig } from "./app-config";
|
|
9
|
-
import { AppActionCallbackStatus, AppActionRequest, AppActionResponse } from "./interfaces";
|
|
10
|
-
import { Logger } from "./logger";
|
|
11
|
-
|
|
12
|
-
const APP_CONFIG = loadAppConfig();
|
|
13
|
-
const appName = APP_CONFIG.appIdentifier;
|
|
14
|
-
|
|
15
|
-
export class ActionDispatcher {
|
|
16
|
-
|
|
17
|
-
public static async dispatchActionRequest(data: AppActionRequest) : Promise<AppActionResponse> {
|
|
18
|
-
// Sets the auth creds on the SDK
|
|
19
|
-
await setAppCredentials(data.apiKey, data.orgSlug);
|
|
20
|
-
|
|
21
|
-
const logger = new Logger();
|
|
22
|
-
const event = (typeof data.event === 'string')
|
|
23
|
-
? JSON.parse(data.event)
|
|
24
|
-
: data.event;
|
|
25
|
-
|
|
26
|
-
return ActionDispatcher.delegateToHandler(event, data, logger);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
private static async delegateToHandler(event, data: AppActionRequest, logger: Logger) : Promise<AppActionResponse>{
|
|
30
|
-
try {
|
|
31
|
-
const handler = ActionDispatcher.getActionHandler(data);
|
|
32
|
-
let actionResults = await handler(event, data, logger)
|
|
33
|
-
let body: any = {
|
|
34
|
-
logs: logger.allEntries,
|
|
35
|
-
taskId: data.taskId,
|
|
36
|
-
status: AppActionCallbackStatus.SUCCESS,
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
if(typeof actionResults === 'string'){
|
|
40
|
-
body.output = { message: actionResults }
|
|
41
|
-
} else if(typeof actionResults === 'object'){
|
|
42
|
-
if(actionResults.output){
|
|
43
|
-
body.output = actionResults.output;
|
|
44
|
-
}
|
|
45
|
-
if(actionResults.status) {
|
|
46
|
-
body.status = actionResults.status;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
statusCode: 200,
|
|
51
|
-
body
|
|
52
|
-
}
|
|
53
|
-
} catch (error) {
|
|
54
|
-
console.log("Error caught in handling action: ", error)
|
|
55
|
-
return {
|
|
56
|
-
statusCode: 500,
|
|
57
|
-
body: {
|
|
58
|
-
output: {
|
|
59
|
-
errorMessage: error.message,
|
|
60
|
-
},
|
|
61
|
-
taskId: data.taskId,
|
|
62
|
-
logs: logger.allEntries,
|
|
63
|
-
status: AppActionCallbackStatus.FAILURE,
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/** Retrives the handler function for the requested action
|
|
70
|
-
*/
|
|
71
|
-
private static getActionHandler(data: AppActionRequest): (event, data, logger) => any {
|
|
72
|
-
try {
|
|
73
|
-
const actionPath = data.action;
|
|
74
|
-
const actionName = actionPath.substring(appName.length + 1, actionPath.length);
|
|
75
|
-
console.log('action: ', actionPath, actionName);
|
|
76
|
-
const handlerFile = require(`../actions/${actionName}`);
|
|
77
|
-
if(!handlerFile) {
|
|
78
|
-
throw new Error(`Handler file could not be located for action : ${data.action}`);
|
|
79
|
-
}
|
|
80
|
-
const handlerFunction = handlerFile.execute;
|
|
81
|
-
if(!handlerFunction) {
|
|
82
|
-
throw new Error(`Handler function 'execute' could not be located for action : ${data.action}`);
|
|
83
|
-
}
|
|
84
|
-
return handlerFunction;
|
|
85
|
-
} catch (error) {
|
|
86
|
-
console.log("Error caught in getActionHandler: ", error)
|
|
87
|
-
throw new Error(`Could not locate handler function for requested action: ${data.action}`);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* WARNING: Do not modify this file, it is part of the generic runtime handling logic
|
|
3
|
+
* for VibeIQ app actions.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
import { setAppCredentials } from "@contrail/sdk";
|
|
8
|
+
import { loadAppConfig } from "./app-config";
|
|
9
|
+
import { AppActionCallbackStatus, AppActionRequest, AppActionResponse } from "./interfaces";
|
|
10
|
+
import { Logger } from "./logger";
|
|
11
|
+
|
|
12
|
+
const APP_CONFIG = loadAppConfig();
|
|
13
|
+
const appName = APP_CONFIG.appIdentifier;
|
|
14
|
+
|
|
15
|
+
export class ActionDispatcher {
|
|
16
|
+
|
|
17
|
+
public static async dispatchActionRequest(data: AppActionRequest) : Promise<AppActionResponse> {
|
|
18
|
+
// Sets the auth creds on the SDK
|
|
19
|
+
await setAppCredentials(data.apiKey, data.orgSlug);
|
|
20
|
+
|
|
21
|
+
const logger = new Logger();
|
|
22
|
+
const event = (typeof data.event === 'string')
|
|
23
|
+
? JSON.parse(data.event)
|
|
24
|
+
: data.event;
|
|
25
|
+
|
|
26
|
+
return ActionDispatcher.delegateToHandler(event, data, logger);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
private static async delegateToHandler(event, data: AppActionRequest, logger: Logger) : Promise<AppActionResponse>{
|
|
30
|
+
try {
|
|
31
|
+
const handler = ActionDispatcher.getActionHandler(data);
|
|
32
|
+
let actionResults = await handler(event, data, logger)
|
|
33
|
+
let body: any = {
|
|
34
|
+
logs: logger.allEntries,
|
|
35
|
+
taskId: data.taskId,
|
|
36
|
+
status: AppActionCallbackStatus.SUCCESS,
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
if(typeof actionResults === 'string'){
|
|
40
|
+
body.output = { message: actionResults }
|
|
41
|
+
} else if(typeof actionResults === 'object'){
|
|
42
|
+
if(actionResults.output){
|
|
43
|
+
body.output = actionResults.output;
|
|
44
|
+
}
|
|
45
|
+
if(actionResults.status) {
|
|
46
|
+
body.status = actionResults.status;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
statusCode: 200,
|
|
51
|
+
body
|
|
52
|
+
}
|
|
53
|
+
} catch (error) {
|
|
54
|
+
console.log("Error caught in handling action: ", error)
|
|
55
|
+
return {
|
|
56
|
+
statusCode: 500,
|
|
57
|
+
body: {
|
|
58
|
+
output: {
|
|
59
|
+
errorMessage: error.message,
|
|
60
|
+
},
|
|
61
|
+
taskId: data.taskId,
|
|
62
|
+
logs: logger.allEntries,
|
|
63
|
+
status: AppActionCallbackStatus.FAILURE,
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** Retrives the handler function for the requested action
|
|
70
|
+
*/
|
|
71
|
+
private static getActionHandler(data: AppActionRequest): (event, data, logger) => any {
|
|
72
|
+
try {
|
|
73
|
+
const actionPath = data.action;
|
|
74
|
+
const actionName = actionPath.substring(appName.length + 1, actionPath.length);
|
|
75
|
+
console.log('action: ', actionPath, actionName);
|
|
76
|
+
const handlerFile = require(`../actions/${actionName}`);
|
|
77
|
+
if(!handlerFile) {
|
|
78
|
+
throw new Error(`Handler file could not be located for action : ${data.action}`);
|
|
79
|
+
}
|
|
80
|
+
const handlerFunction = handlerFile.execute;
|
|
81
|
+
if(!handlerFunction) {
|
|
82
|
+
throw new Error(`Handler function 'execute' could not be located for action : ${data.action}`);
|
|
83
|
+
}
|
|
84
|
+
return handlerFunction;
|
|
85
|
+
} catch (error) {
|
|
86
|
+
console.log("Error caught in getActionHandler: ", error)
|
|
87
|
+
throw new Error(`Could not locate handler function for requested action: ${data.action}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
90
|
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WARNING: Do not modify this file, it is part of the generic runtime handling logic
|
|
3
|
-
* for VibeIQ app actions.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import fs from 'fs';
|
|
8
|
-
const yaml = require('js-yaml');
|
|
9
|
-
|
|
10
|
-
export function loadAppConfig(){
|
|
11
|
-
const TARGET_DIR = process.cwd();
|
|
12
|
-
console.log("TARGET_DIR: ", TARGET_DIR)
|
|
13
|
-
try {
|
|
14
|
-
const separator = getSeparatorByPlatform();
|
|
15
|
-
const doc = yaml.load(fs.readFileSync(TARGET_DIR + separator + 'app.yml', 'utf8'));
|
|
16
|
-
console.log(doc);
|
|
17
|
-
return doc;
|
|
18
|
-
} catch (e) {
|
|
19
|
-
throw new Error(`ERROR PARSING YAML: ${e}`);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export function getSeparatorByPlatform() {
|
|
24
|
-
const isWin = process.platform === 'win32';
|
|
25
|
-
const separator = isWin ? '\\' : '/';
|
|
26
|
-
return separator;
|
|
1
|
+
/**
|
|
2
|
+
* WARNING: Do not modify this file, it is part of the generic runtime handling logic
|
|
3
|
+
* for VibeIQ app actions.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
import fs from 'fs';
|
|
8
|
+
const yaml = require('js-yaml');
|
|
9
|
+
|
|
10
|
+
export function loadAppConfig(){
|
|
11
|
+
const TARGET_DIR = process.cwd();
|
|
12
|
+
console.log("TARGET_DIR: ", TARGET_DIR)
|
|
13
|
+
try {
|
|
14
|
+
const separator = getSeparatorByPlatform();
|
|
15
|
+
const doc = yaml.load(fs.readFileSync(TARGET_DIR + separator + 'app.yml', 'utf8'));
|
|
16
|
+
console.log(doc);
|
|
17
|
+
return doc;
|
|
18
|
+
} catch (e) {
|
|
19
|
+
throw new Error(`ERROR PARSING YAML: ${e}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function getSeparatorByPlatform() {
|
|
24
|
+
const isWin = process.platform === 'win32';
|
|
25
|
+
const separator = isWin ? '\\' : '/';
|
|
26
|
+
return separator;
|
|
27
27
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WARNING: Do not modify this file, it is part of the generic runtime handling logic
|
|
3
|
-
* for VibeIQ app actions.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { AppActionRequest, AppActionResponse, ActionDispatcher } from '.';
|
|
8
|
-
|
|
9
|
-
export async function execute(data: AppActionRequest): Promise<AppActionResponse> {
|
|
10
|
-
return ActionDispatcher.dispatchActionRequest(data);
|
|
11
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* WARNING: Do not modify this file, it is part of the generic runtime handling logic
|
|
3
|
+
* for VibeIQ app actions.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
import { AppActionRequest, AppActionResponse, ActionDispatcher } from '.';
|
|
8
|
+
|
|
9
|
+
export async function execute(data: AppActionRequest): Promise<AppActionResponse> {
|
|
10
|
+
return ActionDispatcher.dispatchActionRequest(data);
|
|
11
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './interfaces';
|
|
2
|
-
export * from './action-dispatcher';
|
|
1
|
+
export * from './interfaces';
|
|
2
|
+
export * from './action-dispatcher';
|
|
3
3
|
export * from './logger';
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WARNING: Do not modify this file, it is part of the generic runtime handling logic
|
|
3
|
-
* for VibeIQ app actions.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export interface AppActionRequest {
|
|
7
|
-
action: string;
|
|
8
|
-
apiKey: string;
|
|
9
|
-
orgSlug: string;
|
|
10
|
-
taskId: string;
|
|
11
|
-
event: any;
|
|
12
|
-
[key:string] : any;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export interface AppActionResponse {
|
|
17
|
-
statusCode: number;
|
|
18
|
-
body: AppActionCallBack;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface AppActionCallBack {
|
|
22
|
-
output?: any;
|
|
23
|
-
status?: AppActionCallbackStatus;
|
|
24
|
-
logs?: Array<string>;
|
|
25
|
-
taskId?: string;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export enum AppActionCallbackStatus {
|
|
30
|
-
FAILURE = 'FAILURE',
|
|
31
|
-
SUCCESS = 'SUCCESS'
|
|
32
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* WARNING: Do not modify this file, it is part of the generic runtime handling logic
|
|
3
|
+
* for VibeIQ app actions.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export interface AppActionRequest {
|
|
7
|
+
action: string;
|
|
8
|
+
apiKey: string;
|
|
9
|
+
orgSlug: string;
|
|
10
|
+
taskId: string;
|
|
11
|
+
event: any;
|
|
12
|
+
[key:string] : any;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
export interface AppActionResponse {
|
|
17
|
+
statusCode: number;
|
|
18
|
+
body: AppActionCallBack;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface AppActionCallBack {
|
|
22
|
+
output?: any;
|
|
23
|
+
status?: AppActionCallbackStatus;
|
|
24
|
+
logs?: Array<string>;
|
|
25
|
+
taskId?: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
export enum AppActionCallbackStatus {
|
|
30
|
+
FAILURE = 'FAILURE',
|
|
31
|
+
SUCCESS = 'SUCCESS'
|
|
32
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WARNING: Do not modify this file, it is part of the generic runtime handling logic
|
|
3
|
-
* for VibeIQ app actions.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export class Logger {
|
|
8
|
-
allEntries : Array<string> = [];
|
|
9
|
-
public log(...args){
|
|
10
|
-
console.log(...args);
|
|
11
|
-
this.allEntries.push(new Date().toISOString() + ': ' + args.join(''));
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
public getEntries(){
|
|
15
|
-
return this.allEntries.join('\n');
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
public clearEntries(){
|
|
19
|
-
this.allEntries = [];
|
|
20
|
-
}
|
|
21
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* WARNING: Do not modify this file, it is part of the generic runtime handling logic
|
|
3
|
+
* for VibeIQ app actions.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export class Logger {
|
|
8
|
+
allEntries : Array<string> = [];
|
|
9
|
+
public log(...args){
|
|
10
|
+
console.log(...args);
|
|
11
|
+
this.allEntries.push(new Date().toISOString() + ': ' + args.join(''));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
public getEntries(){
|
|
15
|
+
return this.allEntries.join('\n');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
public clearEntries(){
|
|
19
|
+
this.allEntries = [];
|
|
20
|
+
}
|
|
21
|
+
}
|