From 75d8ae0e9181424593a9cace0331aeae6093a7c7 Mon Sep 17 00:00:00 2001 From: Petr Broz Date: Tue, 11 Jun 2019 09:31:05 +0200 Subject: [PATCH 1/6] Fixed typo in command shortcut. --- src/forge-da.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/forge-da.js b/src/forge-da.js index 29e60dc..b0fa9a1 100755 --- a/src/forge-da.js +++ b/src/forge-da.js @@ -758,7 +758,7 @@ program program .command('get-workitem ') - .alias('cw') + .alias('gw') .description('Get work item details.') .option('-s, --short', 'Output work item status instead of the entire JSON.') .action(async function(workitemId, command) { From 94a014b9751ee7a1d982e22effb51a33af919922 Mon Sep 17 00:00:00 2001 From: Petr Broz Date: Wed, 12 Jun 2019 14:14:51 +0200 Subject: [PATCH 2/6] Explain which input/output formats are available. --- src/forge-md.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/forge-md.js b/src/forge-md.js index d51c873..79c9890 100755 --- a/src/forge-md.js +++ b/src/forge-md.js @@ -32,13 +32,17 @@ program .description('Command-line tool for accessing Autodesk Forge Model Derivative service.'); program - .command('list-formats') + .command('list-formats [input-type]') .alias('lf') - .description('List supported formats.') - .action(async function() { + .description('List supported output formats for specific input type or for all input types.') + .action(async function(inputType) { try { const formats = await modelDerivative.formats(); - log(formats); + if (inputType) { + log(Object.keys(formats).filter(key => formats[key].includes(inputType))); + } else { + log(formats); + } } catch(err) { error(err); } @@ -48,7 +52,7 @@ program .command('translate ') .alias('t') .description('Start translation job.') - .option('-t, --type ', 'Output type ("svf" by default).', 'svf') + .option('-t, --type ', 'Output type ("svf" by default). See `forge-md list-formats` for all possible output types.', 'svf') .option('-v, --views ', 'Comma-separated list of requested views ("2d,3d" by default)', '2d,3d') .option('-w, --wait', 'Wait for the translation to complete.', false) .action(async function(urn, command) { From d7f6557391d1975340ecd42f92c119f9a2fc0187 Mon Sep 17 00:00:00 2001 From: Petr Broz Date: Tue, 25 Jun 2019 10:04:57 +0200 Subject: [PATCH 3/6] Moved to forge-nodejs-utils 2.1.0. --- package-lock.json | 20 +++++++++++++++++--- package.json | 2 +- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index b2f3453..c695c0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,6 +26,19 @@ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", "dev": true }, + "@types/node": { + "version": "12.0.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.10.tgz", + "integrity": "sha512-LcsGbPomWsad6wmMNv7nBLw7YYYyfdYcz6xryKYQhx89c3XXan+8Q6AJ43G5XDIaklaVkK3mE4fCb0SBvMiPSQ==" + }, + "@types/node-fetch": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.3.7.tgz", + "integrity": "sha512-+bKtuxhj/TYSSP1r4CZhfmyA0vm/aDRQNo7vbAgf6/cZajn0SAniGGST07yvI4Q+q169WTa2/x9gEHfJrkcALw==", + "requires": { + "@types/node": "*" + } + }, "ajv": { "version": "6.10.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", @@ -773,10 +786,11 @@ "dev": true }, "forge-nodejs-utils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/forge-nodejs-utils/-/forge-nodejs-utils-1.5.1.tgz", - "integrity": "sha512-grY1nWp7LEFPfsi0Qe0ZM732aFU5GzXUFoXTrq75egE2HC8Y60cQkvjFSY0tePNygKsv9ojFB2Z5ZwFdIPyK5Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/forge-nodejs-utils/-/forge-nodejs-utils-2.1.0.tgz", + "integrity": "sha512-3eXDLdsBF1hLzgVROxipu6Zob/6AQj6u0fuFYHLmLrHLik1ei7dwRiIwW5xltjEz1ZaqHtoc4BVRYjYihfLGRQ==", "requires": { + "@types/node-fetch": "^2.3.7", "node-fetch": "^2.5.0" } }, diff --git a/package.json b/package.json index 728ebdf..e8a7de2 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ }, "dependencies": { "commander": "^2.20.0", - "forge-nodejs-utils": "^1.5.1", + "forge-nodejs-utils": "^2.1.0", "form-data": "^2.3.3", "inquirer": "^6.3.1" }, From 7c1317551e063e65e733272f8b4904c2e3cfb2fa Mon Sep 17 00:00:00 2001 From: Petr Broz Date: Tue, 25 Jun 2019 10:24:48 +0200 Subject: [PATCH 4/6] Removed unused symbol import. --- src/common.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/common.js b/src/common.js index 5721bef..289560c 100644 --- a/src/common.js +++ b/src/common.js @@ -1,5 +1,3 @@ -const { ForgeError } = require('forge-nodejs-utils/src/common'); - function log(result) { switch (typeof result) { case 'object': From 2e814b6741a8d2981fd9821aaf9dc57d8e45c8d8 Mon Sep 17 00:00:00 2001 From: Petr Broz Date: Tue, 25 Jun 2019 10:25:04 +0200 Subject: [PATCH 5/6] Support for deleting DA resources. --- src/forge-da.js | 114 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) diff --git a/src/forge-da.js b/src/forge-da.js index b0fa9a1..1964eab 100755 --- a/src/forge-da.js +++ b/src/forge-da.js @@ -370,6 +370,57 @@ program } }); +program + .command('delete-appbundle [bundle-short-id]') + .alias('db') + .description('Delete app bundle with all its aliases and versions.') + .action(async function(bundleShortId, command) { + try { + if (!bundleShortId) { + bundleShortId = await promptAppBundle(); + } + await designAutomation.deleteAppBundle(bundleShortId); + } catch(err) { + error(err); + } + }); + +program + .command('delete-appbundle-alias [bundle-short-id] [alias]') + .alias('dba') + .description('Delete app bundle alias.') + .action(async function(bundleShortId, alias, command) { + try { + if (!bundleShortId) { + bundleShortId = await promptAppBundle(); + } + if (!alias) { + alias = await promptAppBundleAlias(bundleShortId); + } + await designAutomation.deleteAppBundleAlias(bundleShortId, alias); + } catch(err) { + error(err); + } + }); + +program + .command('delete-appbundle-version [bundle-short-id] [version]') + .alias('dbv') + .description('Delete app bundle version.') + .action(async function(bundleShortId, version, command) { + try { + if (!bundleShortId) { + bundleShortId = await promptAppBundle(); + } + if (!version) { + version = await promptAppBundleVersion(bundleShortId); + } + await designAutomation.deleteAppBundleVersion(bundleShortId, parseInt(version)); + } catch(err) { + error(err); + } + }); + program .command('list-activities') .alias('la') @@ -667,6 +718,57 @@ program } }); +program + .command('delete-activity [activity-short-id]') + .alias('da') + .description('Delete activity with all its aliases and versions.') + .action(async function(activityShortId, command) { + try { + if (!activityShortId) { + activityShortId = await promptActivity(); + } + await designAutomation.deleteActivity(activityShortId); + } catch(err) { + error(err); + } + }); + +program + .command('delete-activity-alias [activity-short-id] [alias]') + .alias('daa') + .description('Delete activity alias.') + .action(async function(activityShortId, alias, command) { + try { + if (!activityShortId) { + activityShortId = await promptActivity(); + } + if (!alias) { + alias = await promptActivityAlias(activityShortId); + } + await designAutomation.deleteActivityAlias(activityShortId, alias); + } catch(err) { + error(err); + } + }); + +program + .command('delete-activity-version [activity-short-id] [version]') + .alias('dav') + .description('Delete activity version.') + .action(async function(activityShortId, version, command) { + try { + if (!activityShortId) { + activityShortId = await promptActivity(); + } + if (!version) { + version = await promptActivityVersion(activityShortId); + } + await designAutomation.deleteActivityVersion(activityShortId, parseInt(version)); + } catch(err) { + error(err); + } + }); + let _workitemInputs = []; let _workitemOutputs = []; @@ -774,6 +876,18 @@ program } }); +program + .command('delete-workitem ') + .alias('dw') + .description('Delete work item.') + .action(async function(workitemId, command) { + try { + await designAutomation.deleteWorkItem(workitemId); + } catch(err) { + error(err); + } + }); + program.parse(process.argv); if (!program.args.length) { program.help(); From c6046d7364fdef65a4ba2037f69efccd0ec860b0 Mon Sep 17 00:00:00 2001 From: Petr Broz Date: Tue, 25 Jun 2019 10:26:35 +0200 Subject: [PATCH 6/6] Bumped version to 1.1.0. --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c695c0f..9b6a93a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "forge-cli-utils", - "version": "1.0.0", + "version": "1.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index e8a7de2..36d17de 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "forge-cli-utils", - "version": "1.0.0", + "version": "1.1.0", "description": "Command line tools for Autodesk Forge services.", "author": "Petr Broz ", "license": "MIT",