UNPKG

firebase-tools

Version:
57 lines (56 loc) 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.command = void 0; const ora = require("ora"); const client_1 = require("../appdistribution/client"); const options_parser_util_1 = require("../appdistribution/options-parser-util"); const command_1 = require("../command"); const error_1 = require("../error"); const logger_1 = require("../logger"); const requireAuth_1 = require("../requireAuth"); const utils = require("../utils"); const Table = require("cli-table3"); exports.command = new command_1.Command("appdistribution:groups:list") .description("list App Distribution groups") .alias("appdistribution:group:list") .before(requireAuth_1.requireAuth) .action(async (options) => { var _a; const projectName = await (0, options_parser_util_1.getProjectName)(options); const appDistroClient = new client_1.AppDistributionClient(); let groupsResponse; const spinner = ora("Preparing the list of your App Distribution Groups").start(); try { groupsResponse = await appDistroClient.listGroups(projectName); } catch (err) { spinner.fail(); throw new error_1.FirebaseError("Failed to list groups.", { exit: 1, original: err, }); } spinner.succeed(); const groups = (_a = groupsResponse.groups) !== null && _a !== void 0 ? _a : []; printGroupsTable(groups); utils.logSuccess(`Groups listed successfully`); return groupsResponse; }); function printGroupsTable(groups) { const tableHead = ["Group", "Display Name", "Tester Count", "Release Count", "Invite Link Count"]; const table = new Table({ head: tableHead, style: { head: ["green"] }, }); for (const group of groups) { const name = group.name.split("/").pop(); table.push([ name, group.displayName, group.testerCount || 0, group.releaseCount || 0, group.inviteLinkCount || 0, ]); } logger_1.logger.info(table.toString()); }