UNPKG

@veecode-platform/safira-cli

Version:

Generate a microservice project from your spec.

30 lines (29 loc) 1.57 kB
"use strict"; 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;