@veecode-platform/safira-cli
Version:
Generate a microservice project from your spec.
42 lines (41 loc) • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SpecHouseUtils = void 0;
const yaml_utils_1 = require("../utils/yaml-utils");
const git_providers_1 = require("../git/git-providers");
class SpecHouseUtils {
constructor() { }
load(appName, description, definitionText) {
return {
apiVersion: "backstage.io/v1alpha1",
kind: "API",
metadata: {
name: appName,
description: description,
},
spec: {
type: "openapi",
lifecycle: "production",
owner: "consumer",
definition: definitionText,
},
};
}
writeFile(writePath, appName, description, definitionText) {
yaml_utils_1.YamlUtils.writeFile(writePath, this.load(appName, description, definitionText));
}
buildSpecHouseUrl(gitProvider, ownerRepo, branch) {
switch (gitProvider) {
case git_providers_1.GitProviderEnum.github:
return `https://github.com/${ownerRepo}/blob/${branch}/catalog-info.yaml`;
default:
throw new Error("Unsupported Git Provider");
}
}
static get instance() {
if (!this._instance)
this._instance = new this();
return this._instance;
}
}
exports.SpecHouseUtils = SpecHouseUtils;