@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,258 +1,258 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.uploadOptionSetHierarchies = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const sdk_1 = require("@contrail/sdk");
|
|
6
|
-
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
7
|
-
const path = tslib_1.__importStar(require("path"));
|
|
8
|
-
const login_1 = require("../../auth/login");
|
|
9
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
10
|
-
const core_1 = require("@oclif/core");
|
|
11
|
-
const type_extractor_1 = require("../../helpers/types/type-extractor");
|
|
12
|
-
const basecommand_1 = require("../../basecommand");
|
|
13
|
-
const logger_1 = tslib_1.__importDefault(require("../../logger"));
|
|
14
|
-
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
15
|
-
class UploadOptionSetHierarchies extends basecommand_1.BaseCommand {
|
|
16
|
-
static description = 'Upload Option Set Hierarchies for your Org. Option set hierarchies are loaded from .yml files in the option-set-hierarchies directory.';
|
|
17
|
-
static examples = [
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uploadOptionSetHierarchies = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const sdk_1 = require("@contrail/sdk");
|
|
6
|
+
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
7
|
+
const path = tslib_1.__importStar(require("path"));
|
|
8
|
+
const login_1 = require("../../auth/login");
|
|
9
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
10
|
+
const core_1 = require("@oclif/core");
|
|
11
|
+
const type_extractor_1 = require("../../helpers/types/type-extractor");
|
|
12
|
+
const basecommand_1 = require("../../basecommand");
|
|
13
|
+
const logger_1 = tslib_1.__importDefault(require("../../logger"));
|
|
14
|
+
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
15
|
+
class UploadOptionSetHierarchies extends basecommand_1.BaseCommand {
|
|
16
|
+
static description = 'Upload Option Set Hierarchies for your Org. Option set hierarchies are loaded from .yml files in the option-set-hierarchies directory.';
|
|
17
|
+
static examples = [
|
|
18
18
|
`$ contrail types uploadOptionSetHierarchies
|
|
19
|
-
`,
|
|
20
|
-
];
|
|
21
|
-
static flags = {
|
|
22
|
-
...basecommand_1.BaseCommand.baseFlags,
|
|
23
|
-
dir: core_1.Flags.string({
|
|
24
|
-
char: 'd',
|
|
25
|
-
description: 'The directory from which to export the option set hierarchies data. Defaults to the current directory. The option set data will be loaded from $dir/option-set-hierarchies',
|
|
26
|
-
required: false,
|
|
27
|
-
default: '.',
|
|
28
|
-
}),
|
|
29
|
-
};
|
|
30
|
-
async run() {
|
|
31
|
-
return await uploadOptionSetHierarchies(this.flags.dir);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.default = UploadOptionSetHierarchies;
|
|
35
|
-
async function uploadOptionSetHierarchies(dir) {
|
|
36
|
-
try {
|
|
37
|
-
await (0, login_1.authUser)();
|
|
38
|
-
logger_1.default.info(`${chalk_1.default.yellow.bold('OPTION SET HIERARCHIES')} Uploading`);
|
|
39
|
-
const optionSetHierarchies = await loadOptionSetHierarchies(dir);
|
|
40
|
-
await uploadOSH(optionSetHierarchies);
|
|
41
|
-
const optionSetHierarchyLinks = await loadOptionSetHierarchyLinks(dir);
|
|
42
|
-
await uploadOSHLinks(optionSetHierarchyLinks);
|
|
43
|
-
logger_1.default.info(`${chalk_1.default.yellow.bold('OPTION SET HIERARCHIES')} Uploaded`);
|
|
44
|
-
}
|
|
45
|
-
catch (e) {
|
|
46
|
-
logger_1.default.info(`${chalk_1.default.red.bold('FAIL')} Option set hierarchy Upload Failed. ${e}`);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
logger_1.default.info(`${chalk_1.default.green.bold('COMPLETE')} Option set hierarchy Upload Complete.`);
|
|
50
|
-
}
|
|
51
|
-
exports.uploadOptionSetHierarchies = uploadOptionSetHierarchies;
|
|
52
|
-
function loadOptionSetHierarchies(fromDir) {
|
|
53
|
-
try {
|
|
54
|
-
const dir = path.resolve(path.join(fromDir, 'option-set-hierarchies'));
|
|
55
|
-
const files = fs_1.default.readdirSync(dir);
|
|
56
|
-
const OSHs = [];
|
|
57
|
-
for (const file of files) {
|
|
58
|
-
OSHs.push(js_yaml_1.default.load(fs_1.default.readFileSync(path.join(dir, file), 'utf8')));
|
|
59
|
-
}
|
|
60
|
-
return OSHs;
|
|
61
|
-
}
|
|
62
|
-
catch (e) {
|
|
63
|
-
throw new Error(`ERROR PARSING YAML: ${e}`);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
function loadOptionSetHierarchyLinks(fromDir) {
|
|
67
|
-
try {
|
|
68
|
-
return js_yaml_1.default.load(fs_1.default.readFileSync(path.join(fromDir, 'type-option-set-hierarchy-links.yml'), 'utf8'));
|
|
69
|
-
}
|
|
70
|
-
catch (e) {
|
|
71
|
-
throw new Error(`ERROR PARSING YAML: ${e}`);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
async function uploadOSH(loadedOSHs) {
|
|
75
|
-
const optionSets = await new sdk_1.Entities().get({
|
|
76
|
-
entityName: 'type-property-option-set',
|
|
77
|
-
});
|
|
78
|
-
const currentOSHs = await new sdk_1.Entities().get({
|
|
79
|
-
entityName: 'option-set-hierarchy',
|
|
80
|
-
});
|
|
81
|
-
const optionSetsByIdentifier = {};
|
|
82
|
-
for (const optionSet of optionSets) {
|
|
83
|
-
optionSetsByIdentifier[optionSet.identifier] = optionSet;
|
|
84
|
-
}
|
|
85
|
-
const currentOSHByIdentifier = {};
|
|
86
|
-
for (const currentOSH of currentOSHs) {
|
|
87
|
-
currentOSHByIdentifier[currentOSH.identifier] = currentOSH;
|
|
88
|
-
}
|
|
89
|
-
const loadedOSHByIdentifier = {};
|
|
90
|
-
for (const loadedOSH of loadedOSHs) {
|
|
91
|
-
loadedOSHByIdentifier[loadedOSH.identifier] = loadedOSH;
|
|
92
|
-
}
|
|
93
|
-
logger_1.default.debug(`current OSH: ${currentOSHs}`);
|
|
94
|
-
logger_1.default.debug(`loaded OSH: ${loadedOSHs}`);
|
|
95
|
-
for (const osh of loadedOSHs) {
|
|
96
|
-
try {
|
|
97
|
-
const found = currentOSHByIdentifier[osh.identifier];
|
|
98
|
-
if (!found) {
|
|
99
|
-
if (!transformOSHNameToID(osh.hierarchy, optionSets)) {
|
|
100
|
-
continue;
|
|
101
|
-
}
|
|
102
|
-
logger_1.default.debug(`Creating: ${JSON.stringify(osh, null, 2)}`);
|
|
103
|
-
await new sdk_1.Entities().create({
|
|
104
|
-
entityName: 'option-set-hierarchy',
|
|
105
|
-
object: osh,
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
if (!transformOSHNameToID(osh.hierarchy, optionSets)) {
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
logger_1.default.debug(`Updating: ${JSON.stringify(osh)}`);
|
|
113
|
-
await new sdk_1.Entities().update({
|
|
114
|
-
entityName: 'option-set-hierarchy',
|
|
115
|
-
id: found.id,
|
|
116
|
-
object: osh,
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
catch (err) {
|
|
121
|
-
logger_1.default.error(`Error Uploading option set hierarchy: ${err}`);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
for (const currentOSH of currentOSHs) {
|
|
125
|
-
try {
|
|
126
|
-
const found = loadedOSHByIdentifier[currentOSH.name];
|
|
127
|
-
if (!found) {
|
|
128
|
-
logger_1.default.info(`Deleting: ${currentOSH.name}`);
|
|
129
|
-
await new sdk_1.Entities().delete({
|
|
130
|
-
entityName: 'option-set-hierarchy',
|
|
131
|
-
id: currentOSH.id,
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
catch (err) {
|
|
136
|
-
logger_1.default.error(`Error Deleting Option set hierarchy: ${err}`);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
// transforms the passed hierarchy from names to ids, and returns true if operation succeeded.
|
|
141
|
-
function transformOSHNameToID(hierarchy, optionSets) {
|
|
142
|
-
logger_1.default.info(`passed hierarchy: ${hierarchy}`);
|
|
143
|
-
for (let i = 0; i < hierarchy.length; i++) {
|
|
144
|
-
const os = optionSets.find((os) => os.slug === hierarchy[i]);
|
|
145
|
-
if (!os) {
|
|
146
|
-
logger_1.default.error(`could not find option set with name ${hierarchy[i]} at position ${i}. skipping...`);
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
149
|
-
hierarchy[i] = os.id;
|
|
150
|
-
}
|
|
151
|
-
return true;
|
|
152
|
-
}
|
|
153
|
-
async function uploadOSHLinks(reducedOSHLinks) {
|
|
154
|
-
const typesWithProperties = await (0, type_extractor_1.getTypes)();
|
|
155
|
-
const typeProperties = [];
|
|
156
|
-
typesWithProperties.forEach((type) => {
|
|
157
|
-
if (type.typeProperties) {
|
|
158
|
-
for (const tp of type.typeProperties) {
|
|
159
|
-
tp.typeId = type.id;
|
|
160
|
-
tp.typeSlug = type.slug;
|
|
161
|
-
typeProperties.push(tp);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
const currentOSHs = await new sdk_1.Entities().get({
|
|
166
|
-
entityName: 'option-set-hierarchy',
|
|
167
|
-
});
|
|
168
|
-
const currentOSHLinks = await new sdk_1.Entities().get({
|
|
169
|
-
entityName: 'type-option-set-hierarchy-link',
|
|
170
|
-
});
|
|
171
|
-
const currentOSHLinkHashes = {};
|
|
172
|
-
for (const currentLink of currentOSHLinks) {
|
|
173
|
-
const foundType = typesWithProperties.find((x) => x.id === currentLink.typeId);
|
|
174
|
-
const foundOSH = currentOSHs.find((osh) => osh.id === currentLink.optionSetHierarchyId);
|
|
175
|
-
const foundTPSlugs = typeProperties
|
|
176
|
-
.filter((x) => currentLink?.hierarchyTypePropertyIds?.includes(x.id))
|
|
177
|
-
.map((x) => x.slug);
|
|
178
|
-
if (!foundType ||
|
|
179
|
-
!foundOSH ||
|
|
180
|
-
foundTPSlugs.length !== currentLink.hierarchyTypePropertyIds.length) {
|
|
181
|
-
logger_1.default.info(`skipping unhashable, invalid type option set hierarchy link: ${JSON.stringify(currentLink, null, 2)}`);
|
|
182
|
-
}
|
|
183
|
-
// don't mutate original array
|
|
184
|
-
const sortedFoundTPSlugs = [...foundTPSlugs].sort();
|
|
185
|
-
const hash = `${foundType.slug}|${foundOSH.name}|${sortedFoundTPSlugs.join('|')}`;
|
|
186
|
-
currentOSHLinkHashes[hash] = currentLink;
|
|
187
|
-
}
|
|
188
|
-
const reducedLinksByHashes = {};
|
|
189
|
-
for (const loadedLink of reducedOSHLinks) {
|
|
190
|
-
// don't mutate original array
|
|
191
|
-
const sortedTPSlugs = [...loadedLink.typePropertySlugs].sort();
|
|
192
|
-
const hash = `${loadedLink.typeSlug}|${loadedLink.optionSetHierarchyIdentifier}|${sortedTPSlugs.join('|')}}`;
|
|
193
|
-
reducedLinksByHashes[hash] = loadedLink;
|
|
194
|
-
}
|
|
195
|
-
for (const loadedLink of reducedOSHLinks) {
|
|
196
|
-
try {
|
|
197
|
-
// don't mutate original array
|
|
198
|
-
const sortedTPSlugs = [...loadedLink.typePropertySlugs].sort();
|
|
199
|
-
const found = currentOSHLinkHashes[`${loadedLink.typeSlug}|${loadedLink.optionSetHierarchyIdentifier}|${sortedTPSlugs.join('|')}`];
|
|
200
|
-
if (!found) {
|
|
201
|
-
if (!transformReducedLink(loadedLink, typesWithProperties, currentOSHs)) {
|
|
202
|
-
continue;
|
|
203
|
-
}
|
|
204
|
-
logger_1.default.debug(`Creating: ${JSON.stringify(loadedLink, null, 2)}`);
|
|
205
|
-
await new sdk_1.Entities().create({
|
|
206
|
-
entityName: 'type-option-set-hierarchy-link',
|
|
207
|
-
object: {
|
|
208
|
-
hierarchyTypePropertyIds: loadedLink.hierarchyTypePropertyIds,
|
|
209
|
-
optionSetHierarchyId: loadedLink.optionSetHierarchyId,
|
|
210
|
-
typeId: loadedLink.typeId,
|
|
211
|
-
},
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
catch (err) {
|
|
216
|
-
logger_1.default.error(`Error uploading type option set hierarchy links: ${err}`);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
for (const [currentLinkHash, currentLink] of Object.entries(currentOSHLinkHashes)) {
|
|
220
|
-
try {
|
|
221
|
-
const found = reducedLinksByHashes[currentLinkHash];
|
|
222
|
-
if (!found) {
|
|
223
|
-
logger_1.default.debug(`Deleting: ${JSON.stringify(currentLinkHash)}`);
|
|
224
|
-
await new sdk_1.Entities().delete({
|
|
225
|
-
entityName: 'type-option-set-hierarchy-link',
|
|
226
|
-
id: currentLink['id'],
|
|
227
|
-
});
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
catch (err) {
|
|
231
|
-
logger_1.default.error(`Error Deleting rule set link: ${err}`);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
function transformReducedLink(OSHLink, typesWithProperties, OSHs) {
|
|
236
|
-
logger_1.default.debug(`OSHLink before transform: ${JSON.stringify(OSHLink, null, 2)}`);
|
|
237
|
-
const foundType = typesWithProperties.find((x) => x.slug === OSHLink.typeSlug);
|
|
238
|
-
if (!foundType) {
|
|
239
|
-
logger_1.default.error(`OSH Links: Could not find type with slug ${OSHLink.typeSlug}`);
|
|
240
|
-
return false;
|
|
241
|
-
}
|
|
242
|
-
OSHLink.typeId = foundType.id;
|
|
243
|
-
const foundTPs = foundType?.typeProperties?.filter((x) => OSHLink.typePropertySlugs.includes(x.slug)) ?? [];
|
|
244
|
-
if (foundTPs.length !== OSHLink.typePropertySlugs.length) {
|
|
245
|
-
logger_1.default.error(`OSH Links: Could not find all type properties with slugs ${OSHLink.typePropertySlugs}`);
|
|
246
|
-
return false;
|
|
247
|
-
}
|
|
248
|
-
logger_1.default.debug(`foundTPs: ${JSON.stringify(foundTPs)}`);
|
|
249
|
-
OSHLink.hierarchyTypePropertyIds = foundTPs.map((x) => x.id);
|
|
250
|
-
const foundOSH = OSHs.find((x) => x.identifier === OSHLink.optionSetHierarchyIdentifier);
|
|
251
|
-
if (!foundOSH) {
|
|
252
|
-
logger_1.default.error(`OSH Links: Could not find option set hierarchy with identifier ${OSHLink.optionSetHierarchyIdentifier}`);
|
|
253
|
-
return false;
|
|
254
|
-
}
|
|
255
|
-
OSHLink.optionSetHierarchyId = foundOSH.id;
|
|
256
|
-
logger_1.default.debug(`OSHLink after transform: ${JSON.stringify(OSHLink, null, 2)}`);
|
|
257
|
-
return true;
|
|
258
|
-
}
|
|
19
|
+
`,
|
|
20
|
+
];
|
|
21
|
+
static flags = {
|
|
22
|
+
...basecommand_1.BaseCommand.baseFlags,
|
|
23
|
+
dir: core_1.Flags.string({
|
|
24
|
+
char: 'd',
|
|
25
|
+
description: 'The directory from which to export the option set hierarchies data. Defaults to the current directory. The option set data will be loaded from $dir/option-set-hierarchies',
|
|
26
|
+
required: false,
|
|
27
|
+
default: '.',
|
|
28
|
+
}),
|
|
29
|
+
};
|
|
30
|
+
async run() {
|
|
31
|
+
return await uploadOptionSetHierarchies(this.flags.dir);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.default = UploadOptionSetHierarchies;
|
|
35
|
+
async function uploadOptionSetHierarchies(dir) {
|
|
36
|
+
try {
|
|
37
|
+
await (0, login_1.authUser)();
|
|
38
|
+
logger_1.default.info(`${chalk_1.default.yellow.bold('OPTION SET HIERARCHIES')} Uploading`);
|
|
39
|
+
const optionSetHierarchies = await loadOptionSetHierarchies(dir);
|
|
40
|
+
await uploadOSH(optionSetHierarchies);
|
|
41
|
+
const optionSetHierarchyLinks = await loadOptionSetHierarchyLinks(dir);
|
|
42
|
+
await uploadOSHLinks(optionSetHierarchyLinks);
|
|
43
|
+
logger_1.default.info(`${chalk_1.default.yellow.bold('OPTION SET HIERARCHIES')} Uploaded`);
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
logger_1.default.info(`${chalk_1.default.red.bold('FAIL')} Option set hierarchy Upload Failed. ${e}`);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
logger_1.default.info(`${chalk_1.default.green.bold('COMPLETE')} Option set hierarchy Upload Complete.`);
|
|
50
|
+
}
|
|
51
|
+
exports.uploadOptionSetHierarchies = uploadOptionSetHierarchies;
|
|
52
|
+
function loadOptionSetHierarchies(fromDir) {
|
|
53
|
+
try {
|
|
54
|
+
const dir = path.resolve(path.join(fromDir, 'option-set-hierarchies'));
|
|
55
|
+
const files = fs_1.default.readdirSync(dir);
|
|
56
|
+
const OSHs = [];
|
|
57
|
+
for (const file of files) {
|
|
58
|
+
OSHs.push(js_yaml_1.default.load(fs_1.default.readFileSync(path.join(dir, file), 'utf8')));
|
|
59
|
+
}
|
|
60
|
+
return OSHs;
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
throw new Error(`ERROR PARSING YAML: ${e}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function loadOptionSetHierarchyLinks(fromDir) {
|
|
67
|
+
try {
|
|
68
|
+
return js_yaml_1.default.load(fs_1.default.readFileSync(path.join(fromDir, 'type-option-set-hierarchy-links.yml'), 'utf8'));
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
throw new Error(`ERROR PARSING YAML: ${e}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
async function uploadOSH(loadedOSHs) {
|
|
75
|
+
const optionSets = await new sdk_1.Entities().get({
|
|
76
|
+
entityName: 'type-property-option-set',
|
|
77
|
+
});
|
|
78
|
+
const currentOSHs = await new sdk_1.Entities().get({
|
|
79
|
+
entityName: 'option-set-hierarchy',
|
|
80
|
+
});
|
|
81
|
+
const optionSetsByIdentifier = {};
|
|
82
|
+
for (const optionSet of optionSets) {
|
|
83
|
+
optionSetsByIdentifier[optionSet.identifier] = optionSet;
|
|
84
|
+
}
|
|
85
|
+
const currentOSHByIdentifier = {};
|
|
86
|
+
for (const currentOSH of currentOSHs) {
|
|
87
|
+
currentOSHByIdentifier[currentOSH.identifier] = currentOSH;
|
|
88
|
+
}
|
|
89
|
+
const loadedOSHByIdentifier = {};
|
|
90
|
+
for (const loadedOSH of loadedOSHs) {
|
|
91
|
+
loadedOSHByIdentifier[loadedOSH.identifier] = loadedOSH;
|
|
92
|
+
}
|
|
93
|
+
logger_1.default.debug(`current OSH: ${currentOSHs}`);
|
|
94
|
+
logger_1.default.debug(`loaded OSH: ${loadedOSHs}`);
|
|
95
|
+
for (const osh of loadedOSHs) {
|
|
96
|
+
try {
|
|
97
|
+
const found = currentOSHByIdentifier[osh.identifier];
|
|
98
|
+
if (!found) {
|
|
99
|
+
if (!transformOSHNameToID(osh.hierarchy, optionSets)) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
logger_1.default.debug(`Creating: ${JSON.stringify(osh, null, 2)}`);
|
|
103
|
+
await new sdk_1.Entities().create({
|
|
104
|
+
entityName: 'option-set-hierarchy',
|
|
105
|
+
object: osh,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
if (!transformOSHNameToID(osh.hierarchy, optionSets)) {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
logger_1.default.debug(`Updating: ${JSON.stringify(osh)}`);
|
|
113
|
+
await new sdk_1.Entities().update({
|
|
114
|
+
entityName: 'option-set-hierarchy',
|
|
115
|
+
id: found.id,
|
|
116
|
+
object: osh,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
logger_1.default.error(`Error Uploading option set hierarchy: ${err}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
for (const currentOSH of currentOSHs) {
|
|
125
|
+
try {
|
|
126
|
+
const found = loadedOSHByIdentifier[currentOSH.name];
|
|
127
|
+
if (!found) {
|
|
128
|
+
logger_1.default.info(`Deleting: ${currentOSH.name}`);
|
|
129
|
+
await new sdk_1.Entities().delete({
|
|
130
|
+
entityName: 'option-set-hierarchy',
|
|
131
|
+
id: currentOSH.id,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch (err) {
|
|
136
|
+
logger_1.default.error(`Error Deleting Option set hierarchy: ${err}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// transforms the passed hierarchy from names to ids, and returns true if operation succeeded.
|
|
141
|
+
function transformOSHNameToID(hierarchy, optionSets) {
|
|
142
|
+
logger_1.default.info(`passed hierarchy: ${hierarchy}`);
|
|
143
|
+
for (let i = 0; i < hierarchy.length; i++) {
|
|
144
|
+
const os = optionSets.find((os) => os.slug === hierarchy[i]);
|
|
145
|
+
if (!os) {
|
|
146
|
+
logger_1.default.error(`could not find option set with name ${hierarchy[i]} at position ${i}. skipping...`);
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
hierarchy[i] = os.id;
|
|
150
|
+
}
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
async function uploadOSHLinks(reducedOSHLinks) {
|
|
154
|
+
const typesWithProperties = await (0, type_extractor_1.getTypes)();
|
|
155
|
+
const typeProperties = [];
|
|
156
|
+
typesWithProperties.forEach((type) => {
|
|
157
|
+
if (type.typeProperties) {
|
|
158
|
+
for (const tp of type.typeProperties) {
|
|
159
|
+
tp.typeId = type.id;
|
|
160
|
+
tp.typeSlug = type.slug;
|
|
161
|
+
typeProperties.push(tp);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
const currentOSHs = await new sdk_1.Entities().get({
|
|
166
|
+
entityName: 'option-set-hierarchy',
|
|
167
|
+
});
|
|
168
|
+
const currentOSHLinks = await new sdk_1.Entities().get({
|
|
169
|
+
entityName: 'type-option-set-hierarchy-link',
|
|
170
|
+
});
|
|
171
|
+
const currentOSHLinkHashes = {};
|
|
172
|
+
for (const currentLink of currentOSHLinks) {
|
|
173
|
+
const foundType = typesWithProperties.find((x) => x.id === currentLink.typeId);
|
|
174
|
+
const foundOSH = currentOSHs.find((osh) => osh.id === currentLink.optionSetHierarchyId);
|
|
175
|
+
const foundTPSlugs = typeProperties
|
|
176
|
+
.filter((x) => currentLink?.hierarchyTypePropertyIds?.includes(x.id))
|
|
177
|
+
.map((x) => x.slug);
|
|
178
|
+
if (!foundType ||
|
|
179
|
+
!foundOSH ||
|
|
180
|
+
foundTPSlugs.length !== currentLink.hierarchyTypePropertyIds.length) {
|
|
181
|
+
logger_1.default.info(`skipping unhashable, invalid type option set hierarchy link: ${JSON.stringify(currentLink, null, 2)}`);
|
|
182
|
+
}
|
|
183
|
+
// don't mutate original array
|
|
184
|
+
const sortedFoundTPSlugs = [...foundTPSlugs].sort();
|
|
185
|
+
const hash = `${foundType.slug}|${foundOSH.name}|${sortedFoundTPSlugs.join('|')}`;
|
|
186
|
+
currentOSHLinkHashes[hash] = currentLink;
|
|
187
|
+
}
|
|
188
|
+
const reducedLinksByHashes = {};
|
|
189
|
+
for (const loadedLink of reducedOSHLinks) {
|
|
190
|
+
// don't mutate original array
|
|
191
|
+
const sortedTPSlugs = [...loadedLink.typePropertySlugs].sort();
|
|
192
|
+
const hash = `${loadedLink.typeSlug}|${loadedLink.optionSetHierarchyIdentifier}|${sortedTPSlugs.join('|')}}`;
|
|
193
|
+
reducedLinksByHashes[hash] = loadedLink;
|
|
194
|
+
}
|
|
195
|
+
for (const loadedLink of reducedOSHLinks) {
|
|
196
|
+
try {
|
|
197
|
+
// don't mutate original array
|
|
198
|
+
const sortedTPSlugs = [...loadedLink.typePropertySlugs].sort();
|
|
199
|
+
const found = currentOSHLinkHashes[`${loadedLink.typeSlug}|${loadedLink.optionSetHierarchyIdentifier}|${sortedTPSlugs.join('|')}`];
|
|
200
|
+
if (!found) {
|
|
201
|
+
if (!transformReducedLink(loadedLink, typesWithProperties, currentOSHs)) {
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
logger_1.default.debug(`Creating: ${JSON.stringify(loadedLink, null, 2)}`);
|
|
205
|
+
await new sdk_1.Entities().create({
|
|
206
|
+
entityName: 'type-option-set-hierarchy-link',
|
|
207
|
+
object: {
|
|
208
|
+
hierarchyTypePropertyIds: loadedLink.hierarchyTypePropertyIds,
|
|
209
|
+
optionSetHierarchyId: loadedLink.optionSetHierarchyId,
|
|
210
|
+
typeId: loadedLink.typeId,
|
|
211
|
+
},
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
catch (err) {
|
|
216
|
+
logger_1.default.error(`Error uploading type option set hierarchy links: ${err}`);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
for (const [currentLinkHash, currentLink] of Object.entries(currentOSHLinkHashes)) {
|
|
220
|
+
try {
|
|
221
|
+
const found = reducedLinksByHashes[currentLinkHash];
|
|
222
|
+
if (!found) {
|
|
223
|
+
logger_1.default.debug(`Deleting: ${JSON.stringify(currentLinkHash)}`);
|
|
224
|
+
await new sdk_1.Entities().delete({
|
|
225
|
+
entityName: 'type-option-set-hierarchy-link',
|
|
226
|
+
id: currentLink['id'],
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
catch (err) {
|
|
231
|
+
logger_1.default.error(`Error Deleting rule set link: ${err}`);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
function transformReducedLink(OSHLink, typesWithProperties, OSHs) {
|
|
236
|
+
logger_1.default.debug(`OSHLink before transform: ${JSON.stringify(OSHLink, null, 2)}`);
|
|
237
|
+
const foundType = typesWithProperties.find((x) => x.slug === OSHLink.typeSlug);
|
|
238
|
+
if (!foundType) {
|
|
239
|
+
logger_1.default.error(`OSH Links: Could not find type with slug ${OSHLink.typeSlug}`);
|
|
240
|
+
return false;
|
|
241
|
+
}
|
|
242
|
+
OSHLink.typeId = foundType.id;
|
|
243
|
+
const foundTPs = foundType?.typeProperties?.filter((x) => OSHLink.typePropertySlugs.includes(x.slug)) ?? [];
|
|
244
|
+
if (foundTPs.length !== OSHLink.typePropertySlugs.length) {
|
|
245
|
+
logger_1.default.error(`OSH Links: Could not find all type properties with slugs ${OSHLink.typePropertySlugs}`);
|
|
246
|
+
return false;
|
|
247
|
+
}
|
|
248
|
+
logger_1.default.debug(`foundTPs: ${JSON.stringify(foundTPs)}`);
|
|
249
|
+
OSHLink.hierarchyTypePropertyIds = foundTPs.map((x) => x.id);
|
|
250
|
+
const foundOSH = OSHs.find((x) => x.identifier === OSHLink.optionSetHierarchyIdentifier);
|
|
251
|
+
if (!foundOSH) {
|
|
252
|
+
logger_1.default.error(`OSH Links: Could not find option set hierarchy with identifier ${OSHLink.optionSetHierarchyIdentifier}`);
|
|
253
|
+
return false;
|
|
254
|
+
}
|
|
255
|
+
OSHLink.optionSetHierarchyId = foundOSH.id;
|
|
256
|
+
logger_1.default.debug(`OSHLink after transform: ${JSON.stringify(OSHLink, null, 2)}`);
|
|
257
|
+
return true;
|
|
258
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { BaseCommand } from '../../basecommand';
|
|
2
|
-
export default class UploadOptionSets extends BaseCommand {
|
|
3
|
-
static description: string;
|
|
4
|
-
static examples: string[];
|
|
5
|
-
static flags: {
|
|
6
|
-
dir: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
7
|
-
alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
8
|
-
logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
9
|
-
};
|
|
10
|
-
run(): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
export declare function uploadOptionSets(dir: string): Promise<void>;
|
|
13
|
-
export declare function parseOptionSetValuesToString(optionSet: any): any;
|
|
1
|
+
import { BaseCommand } from '../../basecommand';
|
|
2
|
+
export default class UploadOptionSets extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
dir: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
7
|
+
alwaysConfirmEnv: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
8
|
+
logLevel: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export declare function uploadOptionSets(dir: string): Promise<void>;
|
|
13
|
+
export declare function parseOptionSetValuesToString(optionSet: any): any;
|