@event-inc/pipelines
Version:
Event Inc is a fully managed event bus lets you send and receive data across mission-critical cloud apps, databases and warehouses.
28 lines (26 loc) • 731 B
text/typescript
import { Client } from '@event-inc/connections';
import {
CreatePipelinePayload,
DestinationActionsList,
SourcePlatformList,
} from '@event-inc/types';
import { matchResultAndHandleHttpError } from '@event-inc/utils';
import { identity } from 'ramda';
import { createPipelineApi } from '../apis';
import { getHeaders } from './getHeaders';
export const createPipeline = async <
S extends SourcePlatformList,
D extends DestinationActionsList
>(
client: Client,
payload: CreatePipelinePayload<S, D>
) => {
const secret = client._clientInfo.secret;
const result = await createPipelineApi(
getHeaders(secret),
client._url,
payload
);
const { data } = matchResultAndHandleHttpError(result, identity);
return data;
};