@veecode-platform/safira-cli
Version:
Generate a microservice project from your spec.
38 lines (37 loc) • 2.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CodegenSpringboot = void 0;
const codegen_1 = require("../../codegen/codegen");
class CodegenSpringboot {
async generate(openapiFile, destinyFolder, { packageName }) {
destinyFolder = destinyFolder.replace(/ /g, "\\ ");
openapiFile = openapiFile.replace(/ /g, "\\ ");
const command = `generate \
--additional-properties useSpringBoot3=true \
--additional-properties apiPackage=${packageName}.api \
--additional-properties basePackage=${packageName} \
--additional-properties groupId=${packageName} \
--additional-properties configPackage=${packageName}.swagger \
--additional-properties invokerPackage=${packageName}.invoker \
--additional-properties modelPackage=${packageName}.dto \
--additional-properties oas3=false \
--additional-properties dateLibrary=java8 \
--additional-properties hideGenerationTimestamp=true \
--additional-properties performBeanValidation=false \
--additional-properties serializableModel=true \
--additional-properties skipDefaultInterface=true \
--additional-properties useOptional=true \
--additional-properties interfaceOnly=true \
--additional-properties useSpringController=true \
--additional-properties documentationProvider=none \
--import-mappings=DateTime=java.time.LocalDateTime \
--type-mappings=DateTime=java.time.LocalDateTime \
-g spring \
-i ${openapiFile} \
-o ${destinyFolder}`.replace(/\s\s+/g, " ");
console.log(`+++++++++++++++++++++++++++++++COMMAND: ${command}`);
await new codegen_1.CodeGenExecute(command).execute();
console.log("+++++++++++++++++++++++++++++++COMMAND: FINISHED");
}
}
exports.CodegenSpringboot = CodegenSpringboot;