feat: board deletion

This commit is contained in:
2025-08-07 10:13:08 +04:00
parent 335fbfe81c
commit 41f8d19d49
6 changed files with 126 additions and 7 deletions

View File

@ -1,8 +1,8 @@
// This file is auto-generated by @hey-api/openapi-ts
import { type Options, getBoards, createBoard, updateBoard, getDeals, updateDeal, getProjects, getStatuses, updateStatus } from '../sdk.gen';
import { type Options, getBoards, createBoard, deleteBoard, updateBoard, getDeals, updateDeal, getProjects, getStatuses, updateStatus } from '../sdk.gen';
import { queryOptions, type UseMutationOptions } from '@tanstack/react-query';
import type { GetBoardsData, CreateBoardData, CreateBoardError, CreateBoardResponse2, UpdateBoardData, UpdateBoardError, UpdateBoardResponse2, GetDealsData, UpdateDealData, UpdateDealError, UpdateDealResponse2, GetProjectsData, GetStatusesData, UpdateStatusData, UpdateStatusError, UpdateStatusResponse2 } from '../types.gen';
import type { GetBoardsData, CreateBoardData, CreateBoardError, CreateBoardResponse2, DeleteBoardData, DeleteBoardError, DeleteBoardResponse2, UpdateBoardData, UpdateBoardError, UpdateBoardResponse2, GetDealsData, UpdateDealData, UpdateDealError, UpdateDealResponse2, GetProjectsData, GetStatusesData, UpdateStatusData, UpdateStatusError, UpdateStatusResponse2 } from '../types.gen';
import type { AxiosError } from 'axios';
import { client as _heyApiClient } from '../client.gen';
@ -94,6 +94,23 @@ export const createBoardMutation = (options?: Partial<Options<CreateBoardData>>)
return mutationOptions;
};
/**
* Delete Board
*/
export const deleteBoardMutation = (options?: Partial<Options<DeleteBoardData>>): UseMutationOptions<DeleteBoardResponse2, AxiosError<DeleteBoardError>, Options<DeleteBoardData>> => {
const mutationOptions: UseMutationOptions<DeleteBoardResponse2, AxiosError<DeleteBoardError>, Options<DeleteBoardData>> = {
mutationFn: async (localOptions) => {
const { data } = await deleteBoard({
...options,
...localOptions,
throwOnError: true
});
return data;
}
};
return mutationOptions;
};
/**
* Update Board
*/

View File

@ -1,8 +1,8 @@
// 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 type { GetBoardsData, GetBoardsResponses, GetBoardsErrors, CreateBoardData, CreateBoardResponses, CreateBoardErrors, DeleteBoardData, DeleteBoardResponses, DeleteBoardErrors, 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, zDeleteBoardData, zDeleteBoardResponse2, 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> & {
@ -57,6 +57,23 @@ export const createBoard = <ThrowOnError extends boolean = false>(options: Optio
});
};
/**
* Delete Board
*/
export const deleteBoard = <ThrowOnError extends boolean = false>(options: Options<DeleteBoardData, ThrowOnError>) => {
return (options.client ?? _heyApiClient).delete<DeleteBoardResponses, DeleteBoardErrors, ThrowOnError>({
requestValidator: async (data) => {
return await zDeleteBoardData.parseAsync(data);
},
responseType: 'json',
responseValidator: async (data) => {
return await zDeleteBoardResponse2.parseAsync(data);
},
url: '/board/{boardId}',
...options
});
};
/**
* Update Board
*/

View File

@ -76,6 +76,16 @@ export type DealSchema = {
statusId: number;
};
/**
* DeleteBoardResponse
*/
export type DeleteBoardResponse = {
/**
* Message
*/
message: string;
};
/**
* GetBoardsResponse
*/
@ -328,6 +338,36 @@ export type CreateBoardResponses = {
export type CreateBoardResponse2 = CreateBoardResponses[keyof CreateBoardResponses];
export type DeleteBoardData = {
body?: never;
path: {
/**
* Boardid
*/
boardId: number;
};
query?: never;
url: '/board/{boardId}';
};
export type DeleteBoardErrors = {
/**
* Validation Error
*/
422: HttpValidationError;
};
export type DeleteBoardError = DeleteBoardErrors[keyof DeleteBoardErrors];
export type DeleteBoardResponses = {
/**
* Successful Response
*/
200: DeleteBoardResponse;
};
export type DeleteBoardResponse2 = DeleteBoardResponses[keyof DeleteBoardResponses];
export type UpdateBoardData = {
body: UpdateBoardRequest;
path: {

View File

@ -45,6 +45,13 @@ export const zDealSchema = z.object({
statusId: z.int()
});
/**
* DeleteBoardResponse
*/
export const zDeleteBoardResponse = z.object({
message: z.string()
});
/**
* GetBoardsResponse
*/
@ -221,6 +228,19 @@ export const zCreateBoardData = z.object({
*/
export const zCreateBoardResponse2 = zCreateBoardResponse;
export const zDeleteBoardData = z.object({
body: z.optional(z.never()),
path: z.object({
boardId: z.int()
}),
query: z.optional(z.never())
});
/**
* Successful Response
*/
export const zDeleteBoardResponse2 = zDeleteBoardResponse;
export const zUpdateBoardData = z.object({
body: zUpdateBoardRequest,
path: z.object({