@veecode-platform/safira-cli
Version:
Generate a microservice project from your spec.
37 lines (36 loc) • 1.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UpdateProject = void 0;
const tslib_1 = require("tslib");
const safira_settings_1 = require("../safira-project/safira-settings");
const file_system_utils_1 = require("../utils/file-system-utils");
const language_support_1 = require("../language-support");
const java_update_1 = require("./java/java-update");
const uuid = tslib_1.__importStar(require("uuid"));
class UpdateProject {
async updateProject(openapi) {
const currentPath = file_system_utils_1.FileSystemUtils.getCurrentPath();
const tmpFolder = file_system_utils_1.FileSystemUtils.buildPath(currentPath, ".safira", "tmp");
const random = uuid.v4();
const tmpKeyFolder = file_system_utils_1.FileSystemUtils.buildPath(tmpFolder, random);
file_system_utils_1.FileSystemUtils.createFolder(tmpKeyFolder);
const settings = safira_settings_1.SafiraSettings.instance(currentPath).loadSettingsFile();
await this._getLanguageUpdate(settings.project.language).update(settings.project.framework, file_system_utils_1.FileSystemUtils.fullPath(openapi), currentPath, tmpKeyFolder, settings.project.java.package);
}
_getLanguageUpdate(language) {
switch (language) {
case language_support_1.LanguageSupportEnum.java:
console.log("Updating Project Java project");
return java_update_1.UpdateJava.instance;
default:
throw new Error(`Language ${language} not supported`);
}
}
static get instance() {
if (!UpdateProject._instance) {
UpdateProject._instance = new this();
}
return UpdateProject._instance;
}
}
exports.UpdateProject = UpdateProject;