esa-cli
Version:
A CLI for operating Alibaba Cloud ESA Functions and Pages.
63 lines (62 loc) • 2.65 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import { exit } from 'process';
import { log } from '@clack/prompts';
import chalk from 'chalk';
import t from '../i18n/index.js';
import { ApiService } from '../libs/apiService.js';
import logger from '../libs/logger.js';
export function isRoutineExist(name) {
return __awaiter(this, void 0, void 0, function* () {
const server = yield ApiService.getInstance();
const req = { Name: name };
const response = yield server.getRoutine(req, false);
return !!response;
});
}
export function validRoutine(name) {
return __awaiter(this, void 0, void 0, function* () {
const isCreatedRoutine = yield isRoutineExist(name);
if (!isCreatedRoutine) {
logger.warn(`${t('routine_not_exist').d('Project does not exist, please create a new one. Run command:')} ${chalk.greenBright('esa-cli deploy')}`);
exit(1);
}
});
}
/**
* Ensure routine exists, if not, create a new routine
* @param name - Routine name
*/
export function ensureRoutineExists(name) {
return __awaiter(this, void 0, void 0, function* () {
const isExist = yield isRoutineExist(name);
// If routine does not exist, create a new routine
if (!isExist) {
logger.startSubStep(`Creating routine ${chalk.gray(name)}`);
const server = yield ApiService.getInstance();
const createRes = yield server.createRoutine({
name: name,
description: '',
hasAssets: true
});
const isSuccess = (createRes === null || createRes === void 0 ? void 0 : createRes.data.Status) === 'OK';
if (isSuccess) {
logger.endSubStep('Routine created successfully');
}
else {
logger.endSubStep('Routine created failed');
exit();
}
}
else {
log.step('Routine has already exists');
}
});
}