feat: service category deleting
This commit is contained in:
@@ -189,6 +189,8 @@ export type { ServiceCreateCategoryRequest } from './models/ServiceCreateCategor
|
|||||||
export type { ServiceCreateCategoryResponse } from './models/ServiceCreateCategoryResponse';
|
export type { ServiceCreateCategoryResponse } from './models/ServiceCreateCategoryResponse';
|
||||||
export type { ServiceCreateRequest } from './models/ServiceCreateRequest';
|
export type { ServiceCreateRequest } from './models/ServiceCreateRequest';
|
||||||
export type { ServiceCreateResponse } from './models/ServiceCreateResponse';
|
export type { ServiceCreateResponse } from './models/ServiceCreateResponse';
|
||||||
|
export type { ServiceDeleteCategoryRequest } from './models/ServiceDeleteCategoryRequest';
|
||||||
|
export type { ServiceDeleteCategoryResponse } from './models/ServiceDeleteCategoryResponse';
|
||||||
export type { ServiceDeleteRequest } from './models/ServiceDeleteRequest';
|
export type { ServiceDeleteRequest } from './models/ServiceDeleteRequest';
|
||||||
export type { ServiceDeleteResponse } from './models/ServiceDeleteResponse';
|
export type { ServiceDeleteResponse } from './models/ServiceDeleteResponse';
|
||||||
export type { ServiceGetAllCategoriesResponse } from './models/ServiceGetAllCategoriesResponse';
|
export type { ServiceGetAllCategoriesResponse } from './models/ServiceGetAllCategoriesResponse';
|
||||||
|
|||||||
8
src/client/models/ServiceDeleteCategoryRequest.ts
Normal file
8
src/client/models/ServiceDeleteCategoryRequest.ts
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
/* generated using openapi-typescript-codegen -- do not edit */
|
||||||
|
/* istanbul ignore file */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
export type ServiceDeleteCategoryRequest = {
|
||||||
|
categoryId: number;
|
||||||
|
};
|
||||||
|
|
||||||
9
src/client/models/ServiceDeleteCategoryResponse.ts
Normal file
9
src/client/models/ServiceDeleteCategoryResponse.ts
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
/* generated using openapi-typescript-codegen -- do not edit */
|
||||||
|
/* istanbul ignore file */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
export type ServiceDeleteCategoryResponse = {
|
||||||
|
ok: boolean;
|
||||||
|
message: string;
|
||||||
|
};
|
||||||
|
|
||||||
@@ -17,6 +17,8 @@ import type { ServiceCreateCategoryRequest } from '../models/ServiceCreateCatego
|
|||||||
import type { ServiceCreateCategoryResponse } from '../models/ServiceCreateCategoryResponse';
|
import type { ServiceCreateCategoryResponse } from '../models/ServiceCreateCategoryResponse';
|
||||||
import type { ServiceCreateRequest } from '../models/ServiceCreateRequest';
|
import type { ServiceCreateRequest } from '../models/ServiceCreateRequest';
|
||||||
import type { ServiceCreateResponse } from '../models/ServiceCreateResponse';
|
import type { ServiceCreateResponse } from '../models/ServiceCreateResponse';
|
||||||
|
import type { ServiceDeleteCategoryRequest } from '../models/ServiceDeleteCategoryRequest';
|
||||||
|
import type { ServiceDeleteCategoryResponse } from '../models/ServiceDeleteCategoryResponse';
|
||||||
import type { ServiceDeleteRequest } from '../models/ServiceDeleteRequest';
|
import type { ServiceDeleteRequest } from '../models/ServiceDeleteRequest';
|
||||||
import type { ServiceDeleteResponse } from '../models/ServiceDeleteResponse';
|
import type { ServiceDeleteResponse } from '../models/ServiceDeleteResponse';
|
||||||
import type { ServiceGetAllCategoriesResponse } from '../models/ServiceGetAllCategoriesResponse';
|
import type { ServiceGetAllCategoriesResponse } from '../models/ServiceGetAllCategoriesResponse';
|
||||||
@@ -207,6 +209,26 @@ export class ServiceService {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Delete Category
|
||||||
|
* @returns ServiceDeleteCategoryResponse Successful Response
|
||||||
|
* @throws ApiError
|
||||||
|
*/
|
||||||
|
public static deleteServiceCategory({
|
||||||
|
requestBody,
|
||||||
|
}: {
|
||||||
|
requestBody: ServiceDeleteCategoryRequest,
|
||||||
|
}): CancelablePromise<ServiceDeleteCategoryResponse> {
|
||||||
|
return __request(OpenAPI, {
|
||||||
|
method: 'POST',
|
||||||
|
url: '/service/categories/delete',
|
||||||
|
body: requestBody,
|
||||||
|
mediaType: 'application/json',
|
||||||
|
errors: {
|
||||||
|
422: `Validation Error`,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Get All Service Types
|
* Get All Service Types
|
||||||
* @returns BaseEnumListSchema Successful Response
|
* @returns BaseEnumListSchema Successful Response
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { useServicesTableColumns } from "./columns.tsx";
|
|||||||
import { BaseTable } from "../../../../components/BaseTable/BaseTable.tsx";
|
import { BaseTable } from "../../../../components/BaseTable/BaseTable.tsx";
|
||||||
import { MRT_TableOptions } from "mantine-react-table";
|
import { MRT_TableOptions } from "mantine-react-table";
|
||||||
import { CRUDTableProps } from "../../../../types/CRUDTable.tsx";
|
import { CRUDTableProps } from "../../../../types/CRUDTable.tsx";
|
||||||
import { ActionIcon, Flex, Tooltip } from "@mantine/core";
|
import { ActionIcon, Flex, rem, Tooltip } from "@mantine/core";
|
||||||
import { IconArrowDown, IconArrowUp, IconEdit, IconTrash } from "@tabler/icons-react";
|
import { IconArrowDown, IconArrowUp, IconEdit, IconTrash } from "@tabler/icons-react";
|
||||||
import { modals } from "@mantine/modals";
|
import { modals } from "@mantine/modals";
|
||||||
import { notifications } from "../../../../shared/lib/notifications.ts";
|
import { notifications } from "../../../../shared/lib/notifications.ts";
|
||||||
@@ -151,6 +151,7 @@ const ServicesTable: FC<Props> = ({
|
|||||||
},
|
},
|
||||||
"mrt-row-actions": {
|
"mrt-row-actions": {
|
||||||
AggregatedCell: ({ row }) => editMode && (
|
AggregatedCell: ({ row }) => editMode && (
|
||||||
|
<Flex gap={"xs"}>
|
||||||
<Tooltip label={"Редактировать категорию"}>
|
<Tooltip label={"Редактировать категорию"}>
|
||||||
<ActionIcon onClick={() => {
|
<ActionIcon onClick={() => {
|
||||||
modals.openContextModal({
|
modals.openContextModal({
|
||||||
@@ -179,6 +180,34 @@ const ServicesTable: FC<Props> = ({
|
|||||||
<IconEdit />
|
<IconEdit />
|
||||||
</ActionIcon>
|
</ActionIcon>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
<Tooltip label={"Удалить категорию"}>
|
||||||
|
<ActionIcon
|
||||||
|
onClick={() => {
|
||||||
|
modals.openConfirmModal({
|
||||||
|
title: "Удаление категории",
|
||||||
|
children: `Вы уверены, что хотите удалить категорию: ${row.original.category.name}?`,
|
||||||
|
onConfirm: () => {
|
||||||
|
ServiceService.deleteServiceCategory({ requestBody: { categoryId: row.original.category.id } }).then(({
|
||||||
|
ok,
|
||||||
|
message,
|
||||||
|
}) => {
|
||||||
|
notifications.guess(ok, { message });
|
||||||
|
if (!ok) return;
|
||||||
|
queryClient.invalidateQueries({
|
||||||
|
queryKey: ["getAllServices"],
|
||||||
|
}).then(() => {
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
variant={"default"}
|
||||||
|
>
|
||||||
|
<IconTrash />
|
||||||
|
</ActionIcon>
|
||||||
|
</Tooltip>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user