UNPKG

@mondaycom/apps-cli

Version:

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

39 lines (38 loc) 1.82 kB
import { AuthenticatedCommand } from '../../commands-base/authenticated-command.js'; import { SchedulerBaseFlags } from '../../consts/scheduler/flags.js'; import { DynamicChoicesService } from '../../services/dynamic-choices-service.js'; import { SchedulerService } from '../../services/scheduler-service.js'; import logger from '../../utils/logger.js'; import { chooseRegionIfNeeded, getRegionFromString } from '../../utils/region.js'; export default class SchedulerDelete extends AuthenticatedCommand { static description = 'Delete a scheduler job for an app'; static examples = ['<%= config.bin %> <%= command.id %> -a APP_ID -n "my-job"']; static flags = SchedulerDelete.serializeFlags(SchedulerBaseFlags); DEBUG_TAG = 'scheduler_delete'; async run() { const { flags } = await this.parse(SchedulerDelete); let { appId, name } = flags; const { region } = flags; const parsedRegion = getRegionFromString(region); try { if (!appId) appId = await DynamicChoicesService.chooseApp(); const selectedRegion = await chooseRegionIfNeeded(parsedRegion, { appId }); if (!name) name = await DynamicChoicesService.chooseSchedulerJob(appId, selectedRegion); logger.debug(`Deleting scheduler job ${name} for appId: ${appId}`, this.DEBUG_TAG); this.preparePrintCommand(this, { appId, name, region: selectedRegion, }); await SchedulerService.deleteJob(appId, name, selectedRegion); logger.info(`Successfully deleted job: ${name}`); } catch (error) { console.log(error); logger.debug(error, this.DEBUG_TAG); process.exit(1); } } }