UNPKG

esa-cli

Version:

A CLI for operating Alibaba Cloud ESA EdgeRoutine (Edge Functions).

75 lines (74 loc) 3.31 kB
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 { getProjectConfig } from '../../utils/fileUtils/index.js'; import { checkDirectory, checkIsLoginSuccess } from '../utils.js'; import { ApiService } from '../../libs/apiService.js'; import logger from '../../libs/logger.js'; import t from '../../i18n/index.js'; import { validRoutine } from '../../utils/checkIsRoutineCreated.js'; const deleteRoute = { command: 'delete <route>', describe: `🗑 ${t('route_delete_describe').d('Delete a related route')}`, builder: (yargs) => { return yargs.positional('route', { describe: t('route_delete_positional_describe').d('The name of the routes to delete'), type: 'string', demandOption: true }); }, handler: (argv) => __awaiter(void 0, void 0, void 0, function* () { handleDeleteRoute(argv); }) }; export default deleteRoute; export function handleDeleteRoute(argv) { return __awaiter(this, void 0, void 0, function* () { var _a, _b; if (!checkDirectory()) { return; } const projectConfig = getProjectConfig(); if (!projectConfig) return logger.notInProject(); const isSuccess = yield checkIsLoginSuccess(); if (!isSuccess) return; yield validRoutine(projectConfig.name); const server = yield ApiService.getInstance(); const req = { Name: projectConfig.name }; const routineDetail = yield server.getRoutine(req); if (!routineDetail) return; const relatedRoutes = (_b = (_a = routineDetail.data) === null || _a === void 0 ? void 0 : _a.RelatedRoutes) !== null && _b !== void 0 ? _b : []; const deleteDomain = argv.route; const matchedSite = relatedRoutes.find((item) => { return String(item.Route) === deleteDomain; }); if (matchedSite === undefined) { logger.error(t('route_not_exist').d('Route not exist!')); return; } const request = { Name: projectConfig.name, SiteId: matchedSite.SiteId, SiteName: matchedSite.SiteName, Route: matchedSite.Route, RouteId: matchedSite.RouteId }; const res = yield server.deleteRoutineRelatedRoute(request); const isDeleteSuccess = (res === null || res === void 0 ? void 0 : res.data.Status) === 'OK'; if (isDeleteSuccess) { logger.success(t('route_delete_success').d('Delete route success!')); } else { logger.error(t('route_delete_fail').d('Delete route fail!')); } }); }