@veecode-platform/safira-cli
Version:
Generate a microservice project from your spec.
31 lines (30 loc) • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultApplicationProperties = void 0;
const tslib_1 = require("tslib");
const file_system_utils_1 = require("../../utils/file-system-utils");
const YAML = tslib_1.__importStar(require("yaml"));
const application_exception_1 = require("../../exception/application-exception");
const timeout_utils_1 = require("../../utils/timeout-utils");
class DefaultApplicationProperties {
async addProperties(basePath, properties) {
if (properties.length === 0) {
return;
}
const applicationProperties = file_system_utils_1.FileSystemUtils.buildPath(basePath, "application.properties");
await timeout_utils_1.TimeoutUtils.instance.wait(() => !file_system_utils_1.FileSystemUtils.exists(applicationProperties), 1000, 10, new application_exception_1.ApplicationPropertiesNotFound("application.properties file not found while."));
if (!file_system_utils_1.FileSystemUtils.exists(applicationProperties)) {
throw new application_exception_1.ApplicationPropertiesNotFound("application.properties file not found");
}
const propertiesString = properties.map(property => `${property.key}=${property.value}`).join("\n").replace(/ +/g, "");
file_system_utils_1.FileSystemUtils.appendFile(applicationProperties, propertiesString);
}
exportConfigMap(applicationPropertiesFile, configMapFile) {
const properties = file_system_utils_1.FileSystemUtils.loadFile(applicationPropertiesFile);
const configmap = file_system_utils_1.FileSystemUtils.loadFile(configMapFile);
const content = YAML.parse(configmap);
content.data["application.properties"] = properties;
file_system_utils_1.FileSystemUtils.writeFile(configMapFile, YAML.stringify(content));
}
}
exports.DefaultApplicationProperties = DefaultApplicationProperties;