@buildable/connections
Version:
Buildable is a fully managed event bus lets you send and receive data across mission-critical cloud apps, databases and warehouses.
23 lines (20 loc) • 874 B
text/typescript
import { matchResultAndHandleHttpError } from '@buildable/utils';
import { subscribeEventsApi } from '../../apis';
import { SourcePlatforms, SubscribeSourceEventPayload } from '@buildable/types';
import { identity } from 'ramda';
import { getHeaders } from '../getHeaders';
import { Client } from '../../client';
import { version1 } from '../../apis/configs.apis';
export const setEvents = async <T extends SourcePlatforms>(
client: Client,
payload: SubscribeSourceEventPayload<T>
) => {
const secret = client._clientInfo.secret;
const url =
payload.type === 'nodejs'
? `${client._url}/${version1}/integrations/add-custom-events`
: `${client._url}/${version1}/integrations/update-subscribed-events`;
const result = await subscribeEventsApi(getHeaders(secret), url, payload);
const { data } = matchResultAndHandleHttpError(result, identity);
return data;
};