@slsplus/migrate
Version:
Serverless Plus Migrate Tool
79 lines (78 loc) • 2.99 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.migrateApigw = void 0;
var utils_1 = require("../utils");
/**
* migrae apigateway config
* @param oldConfigs inputs in yaml file
* @param oldApigwConfigs apigw config in yaml file
*/
function migrateApigw(oldConfigs, oldApigwConfigs) {
var apigwConfig = utils_1.deepClone(oldApigwConfigs || oldConfigs || {});
if (apigwConfig.serviceId || oldConfigs.serviceId) {
utils_1.addProperty(apigwConfig, 'id', apigwConfig.serviceId || oldConfigs.serviceId);
delete apigwConfig.serviceId;
}
if (apigwConfig.serviceName || oldConfigs.serviceName) {
utils_1.addProperty(apigwConfig, 'name', apigwConfig.serviceName || oldConfigs.serviceName);
delete apigwConfig.serviceName;
}
if (apigwConfig.serviceDesc || oldConfigs.serviceDesc) {
utils_1.addProperty(apigwConfig, 'description', apigwConfig.serviceDesc || oldConfigs.serviceDesc);
delete apigwConfig.serviceDesc;
}
if (apigwConfig.serviceTimeout) {
utils_1.addProperty(apigwConfig, 'timeout', apigwConfig.serviceTimeout);
delete apigwConfig.serviceTimeout;
}
if (!utils_1.isUndefined(apigwConfig.enableCORS)) {
utils_1.addProperty(apigwConfig, 'cors', apigwConfig.enableCORS);
delete apigwConfig.enableCORS;
}
if (apigwConfig.customDomains) {
var domains = utils_1.deepClone(apigwConfig.customDomains);
apigwConfig.customDomains = domains.map(function (item) {
if (item.certificateId) {
// old config, directly return
return {
domain: item.domain,
certId: item.certificateId,
customMap: !item.isDefaultMapping,
pathMap: item.pathMappingSet,
protocols: item.protocols,
};
}
return item;
});
}
if (apigwConfig.endpoints && apigwConfig.endpoints.length > 0) {
var apis = utils_1.deepClone(apigwConfig.endpoints);
apis = apis.map(function (item) {
if (item.apiId) {
item.id = item.apiId;
delete item.apiId;
}
if (item.apiName) {
item.name = item.apiName;
delete item.apiName;
}
if (item.apiDesc) {
item.description = item.apiDesc;
delete item.apiDesc;
}
if (item.serviceTimeout) {
item.timeout = item.serviceTimeout;
delete item.serviceTimeout;
}
if (!utils_1.isUndefined(item.enableCORS)) {
item.cors = item.enableCORS;
delete item.enableCORS;
}
return item;
});
apigwConfig.apis = apis;
delete apigwConfig.endpoints;
}
return apigwConfig;
}
exports.migrateApigw = migrateApigw;