// This file is auto-generated by @hey-api/openapi-ts import type { Options as ClientOptions, TDataShape, Client } from './client'; import type { GetBoardsData, GetBoardsResponses, GetBoardsErrors, CreateBoardData, CreateBoardResponses, CreateBoardErrors, UpdateBoardData, UpdateBoardResponses, UpdateBoardErrors, GetDealsData, GetDealsResponses, GetDealsErrors, UpdateDealData, UpdateDealResponses, UpdateDealErrors, GetProjectsData, GetProjectsResponses, GetStatusesData, GetStatusesResponses, GetStatusesErrors, UpdateStatusData, UpdateStatusResponses, UpdateStatusErrors } from './types.gen'; import { zGetBoardsData, zGetBoardsResponse2, zCreateBoardData, zCreateBoardResponse2, zUpdateBoardData, zUpdateBoardResponse2, zGetDealsData, zGetDealsResponse2, zUpdateDealData, zUpdateDealResponse2, zGetProjectsData, zGetProjectsResponse2, zGetStatusesData, zGetStatusesResponse2, zUpdateStatusData, zUpdateStatusResponse2 } from './zod.gen'; import { client as _heyApiClient } from './client.gen'; export type Options = ClientOptions & { /** * You can provide a client instance returned by `createClient()` instead of * individual options. This might be also useful if you want to implement a * custom client. */ client?: Client; /** * You can pass arbitrary values through the `meta` object. This can be * used to access values that aren't defined as part of the SDK function. */ meta?: Record; }; /** * Get Boards */ export const getBoards = (options: Options) => { return (options.client ?? _heyApiClient).get({ requestValidator: async (data) => { return await zGetBoardsData.parseAsync(data); }, responseType: 'json', responseValidator: async (data) => { return await zGetBoardsResponse2.parseAsync(data); }, url: '/board/{projectId}', ...options }); }; /** * Create Board */ export const createBoard = (options: Options) => { return (options.client ?? _heyApiClient).post({ requestValidator: async (data) => { return await zCreateBoardData.parseAsync(data); }, responseType: 'json', responseValidator: async (data) => { return await zCreateBoardResponse2.parseAsync(data); }, url: '/board/', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); }; /** * Update Board */ export const updateBoard = (options: Options) => { return (options.client ?? _heyApiClient).patch({ requestValidator: async (data) => { return await zUpdateBoardData.parseAsync(data); }, responseType: 'json', responseValidator: async (data) => { return await zUpdateBoardResponse2.parseAsync(data); }, url: '/board/{boardId}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); }; /** * Get Deals */ export const getDeals = (options: Options) => { return (options.client ?? _heyApiClient).get({ requestValidator: async (data) => { return await zGetDealsData.parseAsync(data); }, responseType: 'json', responseValidator: async (data) => { return await zGetDealsResponse2.parseAsync(data); }, url: '/deal/{boardId}', ...options }); }; /** * Update Deal */ export const updateDeal = (options: Options) => { return (options.client ?? _heyApiClient).patch({ requestValidator: async (data) => { return await zUpdateDealData.parseAsync(data); }, responseType: 'json', responseValidator: async (data) => { return await zUpdateDealResponse2.parseAsync(data); }, url: '/deal/{dealId}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); }; /** * Get Projects */ export const getProjects = (options?: Options) => { return (options?.client ?? _heyApiClient).get({ requestValidator: async (data) => { return await zGetProjectsData.parseAsync(data); }, responseType: 'json', responseValidator: async (data) => { return await zGetProjectsResponse2.parseAsync(data); }, url: '/project/', ...options }); }; /** * Get Statuses */ export const getStatuses = (options: Options) => { return (options.client ?? _heyApiClient).get({ requestValidator: async (data) => { return await zGetStatusesData.parseAsync(data); }, responseType: 'json', responseValidator: async (data) => { return await zGetStatusesResponse2.parseAsync(data); }, url: '/status/{boardId}', ...options }); }; /** * Update Status */ export const updateStatus = (options: Options) => { return (options.client ?? _heyApiClient).patch({ requestValidator: async (data) => { return await zUpdateStatusData.parseAsync(data); }, responseType: 'json', responseValidator: async (data) => { return await zUpdateStatusResponse2.parseAsync(data); }, url: '/status/{statusId}', ...options, headers: { 'Content-Type': 'application/json', ...options.headers } }); };