@mondaycom/apps-cli
Version:
A cli tool to manage apps (and monday-code projects) in monday.com
39 lines (38 loc) • 1.82 kB
JavaScript
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);
}
}
}