powerbi-cli
Version:
Power BI command line interface for managing Power BI Embedded workspace collections
51 lines • 2.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var powerbi = require("powerbi-api");
var msrest = require("ms-rest");
var cli_1 = require("./cli");
var config_1 = require("./config");
var program = require("commander");
function CliGetReports() {
var pkg = require('../package.json');
program.version(pkg.version)
.option('-c, --collection <collection>', 'The Power BI workspace collection')
.option('-w, --workspace <workspace>', 'The Power BI workspace')
.option('-k, --accessKey <accessKey>', 'The Power BI workspace collection access key')
.option('-b --baseUri [baseUri]', 'The base uri to connect to');
program.on('--help', function () {
console.log(' Examples:');
console.log('');
console.log(' $ powerbi get-reports -c <collection> -w <workspace> -k <accessKey>');
});
program.parse(process.argv);
var settings = config_1.Config.merge(program);
if (!(settings.collection && settings.accessKey && settings.workspace)) {
program.help();
}
else {
try {
var credentials = new msrest.TokenCredentials(settings.accessKey, 'AppKey');
var client = new powerbi.PowerBIClient(credentials, settings.baseUri, null);
client.reports.getReports(settings.collection, settings.workspace, function (err, result) {
if (err) {
return cli_1.Cli.error(err);
}
var reports = result.value;
if (reports.length === 0) {
return cli_1.Cli.warn('No reports found within workspace: %s', settings.workspace);
}
cli_1.Cli.print('=========================================');
cli_1.Cli.print('Gettings reports for Collection: %s', settings.workspace);
cli_1.Cli.print('=========================================');
reports.forEach(function (report) {
cli_1.Cli.print('ID: %s | Name: %s | EmbedUrl: %s', report.id, report.name, report.embedUrl);
});
});
}
catch (err) {
cli_1.Cli.error(err);
}
}
}
exports.default = CliGetReports;
//# sourceMappingURL=cli-get-reports.js.map