appcenter-cli
Version:
Command line tool for Visual Studio App Center
37 lines (33 loc) • 1.56 kB
text/typescript
import { Command, CommandResult, help, success, failure, ErrorCodes, shortName, longName, hasArg, required } from "../../../util/commandline";
import { out } from "../../../util/interaction";
import { AppCenterClient, models, clientRequest } from "../../../util/apis";
const debug = require("debug")("appcenter-cli:commands:orgs:apps:list");
import { inspect } from "util";
("Lists applications of organization")
export default class OrgAppsListCommand extends Command {
("Name of the organization")
("n")
("name")
name: string;
async run(client: AppCenterClient, portalBaseUrl: string): Promise<CommandResult> {
try {
const httpResponse = await out.progress("Loading list of organization apps...", clientRequest<models.AppResponse[]>((cb) => client.apps.listForOrg(this.name, cb)));
if (httpResponse.response.statusCode < 400) {
const table = httpResponse.result.map((app) => [app.displayName, app.name, app.os, app.platform]);
out.table(out.getCommandOutputTableOptions(["Display Name", "Name", "OS", "Platform"]), table);
return success();
} else {
throw httpResponse.response;
}
} catch (error) {
if (error.statusCode === 404) {
return failure(ErrorCodes.InvalidParameter, `organization ${this.name} doesn't exist`);
} else {
debug(`Failed to load apps of organization - ${inspect(error)}`);
return failure(ErrorCodes.Exception, `failed to load apps of organization`);
}
}
}
}