@veecode-platform/safira-cli
Version:
Generate a microservice project from your spec.
30 lines (29 loc) • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MockserverManager = void 0;
const openapi_utils_1 = require("../openapi/openapi-utils");
const mockserver_service_1 = require("./mockserver-service");
const safira_utils_1 = require("../safira-project/safira-utils");
const file_system_utils_1 = require("../utils/file-system-utils");
class MockserverManager {
constructor() { }
async publishMock(projectPath, mockserver, specFilePath, apiContext, apiKey) {
const apiMocked = this.prepareSpec(projectPath, specFilePath, apiContext);
await mockserver_service_1.MockserverService.instance.deployOpenapi(mockserver, apiKey, apiMocked);
file_system_utils_1.FileSystemUtils.deleteFile(apiMocked);
}
prepareSpec(projectPath, specFilePath, apiContext) {
const safiraHome = safira_utils_1.SafiraUtils.getSafiraProjectFolder(projectPath, true);
const safiraMockserverFolder = file_system_utils_1.FileSystemUtils.buildPath(safiraHome, "mockserver");
file_system_utils_1.FileSystemUtils.createFolder(safiraMockserverFolder);
const openApiMocked = file_system_utils_1.FileSystemUtils.buildPath(safiraMockserverFolder, `mockserver-${apiContext}.json`);
openapi_utils_1.OpenapiUtils.prependPathsWithContext(specFilePath, apiContext, openApiMocked);
return openApiMocked;
}
static get instance() {
if (!this._instance)
this._instance = new this();
return this._instance;
}
}
exports.MockserverManager = MockserverManager;