@copado/copado-cli
Version:
Copado Developer CLI
48 lines • 2.34 kB
JavaScript
;
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