UNPKG

@eluvio/elv-utils-js

Version:

Utilities for the Eluvio Content Fabric

48 lines (41 loc) 1.22 kB
// Retrieve part list from object const Utility = require('./lib/Utility') const Draft = require('./lib/concerns/libs/Draft') const {NewOpt} = require('./lib/options') class WriteTokenInfo extends Utility { static blueprint() { return { concerns: [Draft], options: [ NewOpt('writeToken', { demand: true, descTemplate: 'Write token to decode', type: 'string' }), NewOpt('nodeUrl', { descTemplate: 'Try to determine URL of node that generated the write token', type: 'boolean' }) ] } } async body() { const {nodeUrl, writeToken} = this.args const result = this.concerns.Draft.decode({writeToken}) if (nodeUrl) try { result.nodeUrl = await this.concerns.Draft.nodeURL({writeToken}) } catch (e) { this.logger.warn(`Could not determine node URL for write token: ${e}`) } this.logger.data('writeTokenInfo', result) this.logger.log(JSON.stringify(result, null, 2)) } header() { return `Print info for write token ${this.args.writeToken}` } } if(require.main === module) { Utility.cmdLineInvoke(WriteTokenInfo) } else { module.exports = WriteTokenInfo }