@veecode-platform/safira-cli
Version:
Generate a microservice project from your spec.
68 lines (67 loc) • 2.09 kB
TypeScript
import { PackageManager } from "./java/package-manager-enum";
import { DatabaseEnum } from "../database/database-enum";
export declare class GenerateProjectImpl implements GenerateProject {
newProject(params: GenerateProjectProperties): Promise<void>;
private generateProjectFolder;
}
export interface GenerateProject {
newProject(params: GenerateProjectProperties): Promise<void>;
}
export interface GenerateProjectProperties {
projectName: string;
newProjectRoot: string;
openapiFilePath: string;
projectDescription: string;
language: string;
framework: string;
javaManagement: PackageManager;
javaSpringbootVersion: string;
javaPackage: string;
javaVersion: string;
applicationPort: number;
kongKubernetes: boolean;
useDataBase: boolean;
dataBase: DatabaseEnum;
dataBaseUrl: string;
dataBaseUser: string;
dataBasePassword: string;
quarkusVersion: string;
}
export interface ProjectPathDetails {
projectPath: string;
projectSafiraPath: string;
}
export interface SpecializedProjectGenerator {
newProject(params: SpecializedProjectProperties): void;
}
export interface SpecializedProjectProperties extends GenerateProjectProperties {
projectPathDetails: ProjectPathDetails;
}
export interface SpecializedProjectGenerator {
newProject(params: SpecializedProjectProperties): Promise<void>;
}
export interface SpecializedProjectProperties {
projectName: string;
newProjectRoot: string;
projectDescription: string;
language: string;
framework: string;
javaManagement: PackageManager;
javaSpringbootVersion: string;
javaPackage: string;
javaVersion: string;
applicationPort: number;
kubernetesNamespace: string;
dockerRegistry: string;
projectPathDetails: ProjectPathDetails;
useDataBase: boolean;
dataBase: DatabaseEnum;
dataBaseUrl: string;
dataBaseUser: string;
dataBasePassword: string;
quarkusVersion: string;
}
export interface ProjectPathDetails {
projectPath: string;
projectSafiraPath: string;
}