@veecode-platform/safira-cli
Version:
Generate a microservice project from your spec.
42 lines (41 loc) • 2.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UpdateJava = void 0;
const codegen_1 = require("../../generate/codegen/codegen");
const java_controller_creator_1 = require("../../generate/java/java-controller-creator");
const java_framework_enum_1 = require("../../generate/java/java-framework-enum");
const file_system_utils_1 = require("../../utils/file-system-utils");
const file_compare_1 = require("../file-compare");
const quarkus_update_1 = require("./quarkus/quarkus-update");
const springboot_update_1 = require("./springboot/springboot-update");
const sync_java_file_1 = require("./sync-java-file");
class UpdateJava {
constructor() { }
async update(framework, openapiFile, destinyFolder, tmpFolder, packageName) {
const enumFramework = java_framework_enum_1.JavaFrameworksEnum[framework];
await codegen_1.CodeGenUtils.selectCodeGen(framework).generate(openapiFile, tmpFolder, { packageName });
const basePath = this._getLanguageUpdate(enumFramework).getBaseUpdate(destinyFolder, tmpFolder);
await new sync_java_file_1.JavaUpdateSyncFiles().syncFiles(basePath.tmpBasePath, basePath.projectBasePath, false, file_compare_1.FileCompare.instance.compareContent);
const currentPath = file_system_utils_1.FileSystemUtils.getCurrentPath();
await java_controller_creator_1.JavaControllerCreator.switchFrameworkControllerCreator(currentPath, enumFramework);
}
_getLanguageUpdate(framework) {
switch (framework) {
case java_framework_enum_1.JavaFrameworksEnum.springboot:
console.log("Updating Java Spring-boot project");
return springboot_update_1.ProjectSpringbootUpdate.instance;
case java_framework_enum_1.JavaFrameworksEnum.quarkus:
console.log("Updating Java Quarkus project");
return quarkus_update_1.ProjectQuarkusUpdate.instance;
default:
throw new Error(`Framework ${framework} not supported`);
}
}
static get instance() {
if (!this._instance) {
this._instance = new this();
}
return this._instance;
}
}
exports.UpdateJava = UpdateJava;