@mondaycom/apps-cli
Version:
A cli tool to manage apps (and monday-code projects) in monday.com
36 lines (35 loc) • 1.44 kB
JavaScript
import { Flags } from '@oclif/core';
import { AuthenticatedCommand } from '../../commands-base/authenticated-command.js';
import { APP_ID_TO_ENTER } from '../../consts/messages.js';
import { listAppVersionsByAppId } from '../../services/app-versions-service.js';
import { DynamicChoicesService } from '../../services/dynamic-choices-service.js';
import logger from '../../utils/logger.js';
const printAppVersions = (appVersions) => {
logger.table(appVersions);
};
export default class AppVersionList extends AuthenticatedCommand {
DEBUG_TAG = 'app_version_list';
static description = 'List all versions for a specific app.';
static examples = ['<%= config.bin %> <%= command.id %>'];
static flags = AppVersionList.serializeFlags({
appId: Flags.integer({
char: 'i',
aliases: ['a'],
description: APP_ID_TO_ENTER,
}),
});
async run() {
const { flags } = await this.parse(AppVersionList);
let appId = flags.appId;
if (!appId) {
appId = Number(await DynamicChoicesService.chooseApp());
}
this.preparePrintCommand(this, { appId });
const appVersions = await listAppVersionsByAppId(appId);
if (appVersions.length === 0) {
logger.error(`No app versions found for provided app id - "${appId}"`);
return process.exit(0);
}
printAppVersions(appVersions);
}
}