UNPKG

@copado/copado-cli

Version:

Copado Developer CLI

48 lines 2.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RestConnections = void 0; const core_1 = require("@oclif/core"); const core_2 = require("@salesforce/core"); const filesystem_1 = require("../copado_commons/filesystem"); const restServiceNamespace = filesystem_1.COPADO_NAMESPACE ? `/${filesystem_1.COPADO_NAMESPACE.slice(0, -2)}` : ''; /** * Main class for handling rest connections * @export * @class RestConnections */ class RestConnections { static async restServiceCall(mainService, subService, operation, body, username) { const requestBody = { mainService, subService, operation, body: JSON.stringify(body) }; const connection = await core_2.Connection.create({ authInfo: await core_2.AuthInfo.create({ username }) }); const response = await connection.apex.post(`${restServiceNamespace}/clioperations/`, requestBody); const result = JSON.parse(response); if (result.status !== 'OK') { core_1.ux.action.stop(''); throw new core_2.SfError(result.message); } return result; } static async query(queryString) { const username = await filesystem_1.CopadoFiles.getCurrentUser(); const connection = await core_2.Connection.create({ authInfo: await core_2.AuthInfo.create({ username }) }); return connection.query(RestConnections.stripNamespace(queryString)); } static async create(type, record) { const username = await filesystem_1.CopadoFiles.getCurrentUser(); const connection = await core_2.Connection.create({ authInfo: await core_2.AuthInfo.create({ username }) }); type = RestConnections.stripNamespace(type); record = JSON.parse(RestConnections.stripNamespace(JSON.stringify(record))); return connection.sobject(type).create(record); } static async get(path) { const username = await filesystem_1.CopadoFiles.getCurrentUser(); const connection = await core_2.Connection.create({ authInfo: await core_2.AuthInfo.create({ username }) }); return connection.request(path); } static stripNamespace(data) { return filesystem_1.COPADO_NAMESPACE ? data : data.replace(/copado__/g, ''); ; } } exports.RestConnections = RestConnections; //# sourceMappingURL=restConnections.js.map