172 lines
6.4 KiB
TypeScript
172 lines
6.4 KiB
TypeScript
// 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<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {
|
|
/**
|
|
* 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<string, unknown>;
|
|
};
|
|
|
|
/**
|
|
* Get Boards
|
|
*/
|
|
export const getBoards = <ThrowOnError extends boolean = false>(options: Options<GetBoardsData, ThrowOnError>) => {
|
|
return (options.client ?? _heyApiClient).get<GetBoardsResponses, GetBoardsErrors, ThrowOnError>({
|
|
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 = <ThrowOnError extends boolean = false>(options: Options<CreateBoardData, ThrowOnError>) => {
|
|
return (options.client ?? _heyApiClient).post<CreateBoardResponses, CreateBoardErrors, ThrowOnError>({
|
|
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 = <ThrowOnError extends boolean = false>(options: Options<UpdateBoardData, ThrowOnError>) => {
|
|
return (options.client ?? _heyApiClient).patch<UpdateBoardResponses, UpdateBoardErrors, ThrowOnError>({
|
|
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 = <ThrowOnError extends boolean = false>(options: Options<GetDealsData, ThrowOnError>) => {
|
|
return (options.client ?? _heyApiClient).get<GetDealsResponses, GetDealsErrors, ThrowOnError>({
|
|
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 = <ThrowOnError extends boolean = false>(options: Options<UpdateDealData, ThrowOnError>) => {
|
|
return (options.client ?? _heyApiClient).patch<UpdateDealResponses, UpdateDealErrors, ThrowOnError>({
|
|
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 = <ThrowOnError extends boolean = false>(options?: Options<GetProjectsData, ThrowOnError>) => {
|
|
return (options?.client ?? _heyApiClient).get<GetProjectsResponses, unknown, ThrowOnError>({
|
|
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 = <ThrowOnError extends boolean = false>(options: Options<GetStatusesData, ThrowOnError>) => {
|
|
return (options.client ?? _heyApiClient).get<GetStatusesResponses, GetStatusesErrors, ThrowOnError>({
|
|
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 = <ThrowOnError extends boolean = false>(options: Options<UpdateStatusData, ThrowOnError>) => {
|
|
return (options.client ?? _heyApiClient).patch<UpdateStatusResponses, UpdateStatusErrors, ThrowOnError>({
|
|
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
|
|
}
|
|
});
|
|
}; |