test-this-package-today
Version:
Event Inc is a fully managed event bus lets you send and receive data across mission-critical cloud apps, databases and warehouses.
58 lines • 2.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.listDestinationsApi = exports.deleteDestinationConnectionApi = exports.createDestinationConnectionApi = void 0;
const utils_1 = require("@event-inc/utils");
const utils_2 = require("@event-inc/utils");
const configs_apis_1 = require("./configs.apis");
const createDestinationConnectionApi = (headers, url, payload) => {
const integrationDefinitionId = (0, utils_2.getIntegrationDefinitionId)(payload.type, 'destination');
const authData = Object.assign({ name: payload.label }, payload.config);
const finalPayload = {
integrationDefinitionId,
authFormData: authData,
type: payload.type,
group: payload.group,
name: payload.label,
key: payload.key,
};
if (payload.type === 'webhook') {
const webhookAuthFormData = finalPayload === null || finalPayload === void 0 ? void 0 : finalPayload.authFormData;
const webhookHeaders = (webhookAuthFormData === null || webhookAuthFormData === void 0 ? void 0 : webhookAuthFormData.WEBHOOK_HEADERS) || {
'Content-Type': 'application/json',
};
finalPayload.authFormData = Object.assign(Object.assign({}, finalPayload.authFormData), { WEBHOOK_HEADERS: JSON.stringify(webhookHeaders) });
}
return (0, utils_1.makeHttpNetworkCall)({
method: 'POST',
url: `${url}/${configs_apis_1.version1}/integrations/create`,
data: finalPayload,
headers,
});
};
exports.createDestinationConnectionApi = createDestinationConnectionApi;
const deleteDestinationConnectionApi = (headers, url, payload) => {
const { id, key } = payload;
(0, utils_1.checkIfKeyOrIdExists)(id, key, 'Must provide either id or key to delete a destination');
return (0, utils_1.makeHttpNetworkCall)({
method: 'POST',
url: `${url}/${configs_apis_1.version1}/integrations/delete`,
data: {
integrationId: id,
key,
},
headers,
});
};
exports.deleteDestinationConnectionApi = deleteDestinationConnectionApi;
const listDestinationsApi = (headers, url, payload) => {
return (0, utils_1.makeHttpNetworkCall)({
method: 'POST',
url: `${url}/${configs_apis_1.version1}/integrations/list`,
data: Object.assign(Object.assign({}, payload), { query: Object.assign(Object.assign({}, payload === null || payload === void 0 ? void 0 : payload.query), { _id: {
$regex: 'conn_dst',
} }) }),
headers,
});
};
exports.listDestinationsApi = listDestinationsApi;
//# sourceMappingURL=destination.api.js.map