@buildable/connections
Version:
Buildable is a fully managed event bus lets you send and receive data across mission-critical cloud apps, databases and warehouses.
76 lines • 2.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.listSourcesApi = exports.subscribeEventsApi = exports.deleteSourceConnectionApi = exports.createSourceConnectionApi = void 0;
const tslib_1 = require("tslib");
const utils_1 = require("@buildable/utils");
const createSourceConnectionApi = (headers, url, payload) => {
const authFormData = payload.type === 'webhook' || payload.type === 'nodejs'
? {
name: payload.label,
}
: Object.assign(Object.assign({}, payload.config), { name: payload.label });
const integrationDefinitionId = (0, utils_1.getIntegrationDefinitionId)(payload.type, 'source');
const finalPayload = {
integrationDefinitionId,
authFormData,
type: payload.type,
group: payload.group,
name: payload.label,
key: payload.key,
};
return (0, utils_1.makeHttpNetworkCall)({
method: 'POST',
url,
data: finalPayload,
headers,
});
};
exports.createSourceConnectionApi = createSourceConnectionApi;
const deleteSourceConnectionApi = (headers, url, payload) => {
return (0, utils_1.makeHttpNetworkCall)({
method: 'POST',
url,
data: payload,
headers,
});
};
exports.deleteSourceConnectionApi = deleteSourceConnectionApi;
const subscribeEventsApi = (headers, url, payload) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const { events, type, key } = payload;
if (type === 'nodejs') {
const eventList = events.join(',');
return (0, utils_1.makeHttpNetworkCall)({
method: 'POST',
url,
data: {
key,
events: eventList,
},
headers,
});
}
const result = (0, utils_1.makeHttpNetworkCall)({
method: 'POST',
url,
data: {
events,
key,
},
headers,
});
yield new Promise((resolve) => setTimeout(resolve, 5000));
return result;
});
exports.subscribeEventsApi = subscribeEventsApi;
const listSourcesApi = (headers, url, payload) => {
return (0, utils_1.makeHttpNetworkCall)({
method: 'POST',
url,
data: Object.assign(Object.assign({}, payload), { query: Object.assign(Object.assign({}, payload === null || payload === void 0 ? void 0 : payload.query), { _id: {
$regex: 'conn_src',
} }) }),
headers,
});
};
exports.listSourcesApi = listSourcesApi;
//# sourceMappingURL=source.api.js.map