UNPKG

@mondaycom/apps-cli

Version:

A cli tool to manage apps (and monday-code projects) in monday.com

36 lines (35 loc) 1.44 kB
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); } }