UNPKG

@veecode-platform/safira-cli

Version:

Generate a microservice project from your spec.

31 lines (30 loc) 2.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ServiceCreator = void 0; const generate_file_1 = require("../../generate-file"); const file_system_utils_1 = require("../../../../utils/file-system-utils"); const safira_settings_1 = require("../../../../safira-project/safira-settings"); const string_utils_1 = require("../../../../utils/string-utils"); class ServiceCreator extends generate_file_1.GenerateFileTemplate { create(projectPath) { const serviceTemplates = file_system_utils_1.FileSystemUtils.buildPath(generate_file_1.GenerateFileTemplate.templatesFolder, "java", "quarkus", "service"); const serviceMustache = file_system_utils_1.FileSystemUtils.buildPath(serviceTemplates, "service.java.mustache"); const apiPackage = safira_settings_1.SafiraSettings.instance(file_system_utils_1.FileSystemUtils.buildPath(projectPath, ".safira")).loadSettingsFile().project.java.package; const packageAsPath = string_utils_1.StringUtils.replaceAll(apiPackage, ".", file_system_utils_1.FileSystemUtils.getFileSeparator()); const apisFolder = file_system_utils_1.FileSystemUtils.buildPath(projectPath, "src", "main", "java", packageAsPath, "api"); const serviceFolder = file_system_utils_1.FileSystemUtils.buildPath(projectPath, "src", "main", "java", packageAsPath, "service"); file_system_utils_1.FileSystemUtils.createFolder(serviceFolder); for (const file of file_system_utils_1.FileSystemUtils.readDir(apisFolder) .filter(file => file.endsWith("Api.java"))) { const className = file.replace("Api.java", ""); const params = { package: `${apiPackage}.service`, className: className, }; const serviceFile = file_system_utils_1.FileSystemUtils.buildPath(serviceFolder, `${className}Service.java`); if (!file_system_utils_1.FileSystemUtils.exists(serviceFile)) super.writeFile(serviceFile, serviceMustache, params); } } } exports.ServiceCreator = ServiceCreator;