Skip to content

Commit

Permalink
Merge branch 'release/0.9.0'.
Browse files Browse the repository at this point in the history
  • Loading branch information
petrbroz committed Jun 3, 2019
2 parents 65105b0 + 39397c0 commit 5722327
Show file tree
Hide file tree
Showing 3 changed files with 89 additions and 6 deletions.
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "forge-cli-utils",
"version": "0.8.1",
"version": "0.9.0",
"description": "Command line tools for Autodesk Forge services.",
"author": "Petr Broz <[email protected]>",
"license": "MIT",
Expand All @@ -26,7 +26,7 @@
},
"dependencies": {
"commander": "^2.20.0",
"forge-nodejs-utils": "^1.0.2",
"forge-nodejs-utils": "^1.1.0",
"form-data": "^2.3.3",
"inquirer": "^6.3.1"
},
Expand Down
83 changes: 83 additions & 0 deletions src/forge-da.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,24 @@ if (!FORGE_CLIENT_ID || !FORGE_CLIENT_SECRET) {

const designAutomation = new DesignAutomationClient({ client_id: FORGE_CLIENT_ID, client_secret: FORGE_CLIENT_SECRET });

function isQualifiedID(qualifiedId) {
return qualifiedId.indexOf('.') !== -1 && qualifiedId.indexOf('+') !== -1;
}

function composeQualifiedID(owner, id, alias) {
return `${owner}.${id}+${alias}`;
}

function decomposeQualifiedID(qualifiedId) {
const dot = qualifiedId.indexOf('.');
const plus = qualifiedId.indexOf('+');
return {
owner: qualifiedId.substr(0, dot),
id: qualifiedId.substr(dot + 1, plus - dot - 1),
alias: qualifiedId.substr(plus + 1)
};
}

async function promptEngine() {
const engines = await designAutomation.listEngines();
const answer = await prompt({ type: 'list', name: 'engine', choices: engines });
Expand Down Expand Up @@ -117,6 +135,23 @@ program
}
});

program
.command('get-engine [engine]')
.alias('ge')
.description('Get engine details.')
.action(async function(engineid, command) {
try {
if (!engineid) {
engineid = await promptEngine();
}

const engine = await designAutomation.getEngine(engineid);
log(engine);
} catch(err) {
error(err);
}
});

program
.command('list-appbundles')
.alias('lb')
Expand All @@ -136,6 +171,30 @@ program
}
});

program
.command('get-appbundle [bundle] [bundlealias]')
.alias('gb')
.description('Get appbundle details.')
.action(async function(bundle, bundlealias, command) {
try {
if (!bundle) {
bundle = await promptAppBundle();
if (isQualifiedID(bundle)) {
bundle = decomposeQualifiedID(bundle).id;
}
}
if (!bundlealias) {
bundlealias = await promptAppBundleAlias(bundle);
}

const bundleId = designAutomation.auth.client_id + '.' + bundle + '+' + bundlealias;
const appbundle = await designAutomation.getAppBundle(bundleId);
log(appbundle);
} catch(err) {
error(err);
}
});

program
.command('create-appbundle <name> <filename> [engine] [description]')
.alias('cb')
Expand Down Expand Up @@ -296,6 +355,30 @@ program
}
});

program
.command('get-activity [activity] [activityalias]')
.alias('ga')
.description('Get activity details.')
.action(async function(activity, activityalias, command) {
try {
if (!activity) {
activity = await promptActivity(false);
if (isQualifiedID(activity)) {
activity = decomposeQualifiedID(activity).id;
}
}
if (!activityalias) {
activityalias = await promptActivityAlias(activity);
}

const activityId = designAutomation.auth.client_id + '.' + activity + '+' + activityalias;
const workitem = await designAutomation.getActivity(activityId);
log(workitem);
} catch(err) {
error(err);
}
});

let _activityInputs = [];
let _activityOutputs = [];

Expand Down

0 comments on commit 5722327

Please sign in to comment.