import { CreateOauthConnectionPayload } from '@event-inc/types';
import { Client } from '../../client';
import { getHeaders } from '../getHeaders';
import { createOauthDestinationApi } from '../../apis';
import { matchResultAndHandleHttpError } from '@event-inc/utils';
import { identity } from 'ramda';

export const createOauthDestination = async (
	client: Client,
	payload: CreateOauthConnectionPayload
) => {
	const secret = client._clientInfo.secret;
	const result = await createOauthDestinationApi(
		getHeaders(secret),
		client._url,
		payload
	);

	const { data } = matchResultAndHandleHttpError(result, identity);
	return data;
};

