Skip to content

Commit

Permalink
Query details of DA engines, bundles, activities.
Browse files Browse the repository at this point in the history
  • Loading branch information
petrbroz committed Jun 3, 2019
1 parent 60629e7 commit 5235226
Showing 1 changed file with 83 additions and 0 deletions.
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 5235226

Please sign in to comment.