@cuba-platform/front-generator
Version:
CUBA Platform front-end clients generator
46 lines • 2.35 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeSecret = exports.getOpenedCubaProjects = exports.exportProjectModel = exports.ERR_STUDIO_NOT_CONNECTED = void 0;
const node_fetch_1 = require("node-fetch");
const DEFAULT_INTEGRATION_PORT = 48561;
exports.ERR_STUDIO_NOT_CONNECTED = '' +
'Can\'t establish connection to CUBA Studio. Please open CUBA Studio Intellij and tick \'Enable Integration\' checkbox. ' +
'Or provide path to project model json file as cli parameter --model';
function exportProjectModel(projectLocationHash, dest, port = DEFAULT_INTEGRATION_PORT) {
return __awaiter(this, void 0, void 0, function* () {
try {
const params = `exportModelProjectDest=${encodeURIComponent(dest)}&exportModelProjectHash=${projectLocationHash}`;
return yield (0, node_fetch_1.default)(`http://localhost:${port}/?${params}`);
}
catch (_a) {
throw Error(exports.ERR_STUDIO_NOT_CONNECTED);
}
});
}
exports.exportProjectModel = exportProjectModel;
function getOpenedCubaProjects(port = DEFAULT_INTEGRATION_PORT) {
return __awaiter(this, void 0, void 0, function* () {
try {
const resp = yield (0, node_fetch_1.default)(`http://localhost:${port}/?printCubaProjects`);
return resp.json();
}
catch (_a) {
return null;
}
});
}
exports.getOpenedCubaProjects = getOpenedCubaProjects;
function normalizeSecret(restClientSecret) {
return restClientSecret.replace(/{.*}/, '');
}
exports.normalizeSecret = normalizeSecret;
//# sourceMappingURL=studio-integration.js.map