UNPKG

powerbi-cli

Version:

Power BI command line interface for managing Power BI Embedded workspace collections

58 lines 2.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var powerbi = require("powerbi-api"); var cli_1 = require("./cli"); var config_1 = require("./config"); var program = require("commander"); function CliCreateEmbedToken() { var pkg = require('../package.json'); function list(val) { return val.split(','); } program.version(pkg.version) .option('-c, --collection <collection>', 'The Power BI workspace collection') .option('-k, --accessKey <accessKey>', 'The Power BI workspace collection access key') .option('-w, --workspace <workspaceId>', 'The Power BI workspace id') .option('-r, --report <reportId>', 'The Power BI report id') .option('-d, --dataset <datasetId>', 'The Power BI dataset id') .option('-s, --scopes [scopes]', 'The permission scopes allowed') .option('-u, --username [username]', 'The RLS username') .option('--roles [roles]', 'The RLS roles', list) .option('-e, --expiration <expiration>', 'The token expiration date'); program.on('--help', function () { console.log(' Examples:'); console.log(''); console.log(' $ powerbi create-embed-token -c <collection>, -w <workspace> -r <reportId> -k <accessKey> -u [username] --roles [roles1,roles2,...]'); console.log(' $ powerbi create-embed-token -c <collection>, -w <workspace> -r <reportId> -k <accessKey> -s [scopes]'); console.log(' $ powerbi create-embed-token -c <collection>, -w <workspace> -d <datasetId> -k <accessKey> -s [scopes]'); console.log(' Create report in embedded view needs the following scopes: "Dataset.Read Workspace.Report.Create"'); }); program.parse(process.argv); var settings = config_1.Config.merge(program); if (!(settings.collection && settings.accessKey)) { program.help(); } else { try { var token = null; if (!settings.accessKey) { return cli_1.Cli.error('Access key param is required'); } if (!(settings.collection && settings.workspace)) { return cli_1.Cli.error('collection and workspace params are required'); } if (!(settings.report || settings.dataset)) { return cli_1.Cli.error('Either reportId or datasetId must be set'); } var expiration = settings.expiration ? new Date(settings.expiration) : void 0; token = powerbi.PowerBIToken.createReportEmbedToken(settings.collection, settings.workspace, settings.report, settings.dataset, settings.scopes, settings.username, settings.roles, expiration); var jwt = token.generate(settings.accessKey); cli_1.Cli.success('Embed Token: ', jwt); } catch (err) { cli_1.Cli.error(err); } } } exports.default = CliCreateEmbedToken; //# sourceMappingURL=cli-create-embed-token.js.map