feat: barcode templates page
This commit is contained in:
@ -27,7 +27,7 @@
|
|||||||
"@tabler/icons-react": "^3.34.0",
|
"@tabler/icons-react": "^3.34.0",
|
||||||
"@tailwindcss/postcss": "^4.1.11",
|
"@tailwindcss/postcss": "^4.1.11",
|
||||||
"@tanstack/react-query": "^5.83.0",
|
"@tanstack/react-query": "^5.83.0",
|
||||||
"axios": "^1.11.0",
|
"axios": "1.12.0",
|
||||||
"classnames": "^2.5.1",
|
"classnames": "^2.5.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
|
|||||||
@ -0,0 +1,19 @@
|
|||||||
|
import { FC } from "react";
|
||||||
|
import { Group } from "@mantine/core";
|
||||||
|
import InlineButton from "@/components/ui/InlineButton/InlineButton";
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
onCreateClick: () => void;
|
||||||
|
};
|
||||||
|
|
||||||
|
const BarcodeTemplatesDesktopHeader: FC<Props> = ({ onCreateClick }) => {
|
||||||
|
return (
|
||||||
|
<Group>
|
||||||
|
<InlineButton onClick={onCreateClick}>
|
||||||
|
Создать шаблон
|
||||||
|
</InlineButton>
|
||||||
|
</Group>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default BarcodeTemplatesDesktopHeader;
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
import { FC } from "react";
|
||||||
|
import { Box } from "@mantine/core";
|
||||||
|
import InlineButton from "@/components/ui/InlineButton/InlineButton";
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
onCreateClick: () => void;
|
||||||
|
};
|
||||||
|
|
||||||
|
const BarcodeTemplatesMobileHeader: FC<Props> = ({ onCreateClick }) => {
|
||||||
|
return (
|
||||||
|
<Box
|
||||||
|
px={"xs"}
|
||||||
|
pt={"xs"}>
|
||||||
|
<InlineButton
|
||||||
|
onClick={onCreateClick}
|
||||||
|
w={"100%"}>
|
||||||
|
Создать шаблон
|
||||||
|
</InlineButton>
|
||||||
|
</Box>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default BarcodeTemplatesMobileHeader;
|
||||||
@ -0,0 +1,26 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { FC } from "react";
|
||||||
|
import useBarcodeTemplateAttributesList from "@/app/barcode-templates/hooks/useBarcodeTemplateAttributesList";
|
||||||
|
import ObjectMultiSelect, {
|
||||||
|
ObjectMultiSelectProps,
|
||||||
|
} from "@/components/selects/ObjectMultiSelect/ObjectMultiSelect";
|
||||||
|
import { BarcodeTemplateAttributeSchema } from "@/lib/client";
|
||||||
|
|
||||||
|
type Props = Omit<
|
||||||
|
ObjectMultiSelectProps<BarcodeTemplateAttributeSchema>,
|
||||||
|
"data" | "getLabelFn" | "getValueFn"
|
||||||
|
>;
|
||||||
|
|
||||||
|
const BarcodeTemplateAttributeMultiselect: FC<Props> = (props: Props) => {
|
||||||
|
const { barcodeTemplateAttributes } = useBarcodeTemplateAttributesList();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<ObjectMultiSelect
|
||||||
|
data={barcodeTemplateAttributes}
|
||||||
|
{...props}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default BarcodeTemplateAttributeMultiselect;
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import useBarcodeTemplateSizesList from "@/app/barcode-templates/hooks/useBarcodeTemplateSizesList";
|
||||||
|
import ObjectSelect, {
|
||||||
|
ObjectSelectProps,
|
||||||
|
} from "@/components/selects/ObjectSelect/ObjectSelect";
|
||||||
|
import { BarcodeTemplateSizeSchema } from "@/lib/client";
|
||||||
|
|
||||||
|
type Props = Omit<ObjectSelectProps<BarcodeTemplateSizeSchema>, "data">;
|
||||||
|
|
||||||
|
const BarcodeTemplateSizeSelect = (props: Props) => {
|
||||||
|
const { barcodeTemplateSizes } = useBarcodeTemplateSizesList();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<ObjectSelect
|
||||||
|
data={barcodeTemplateSizes}
|
||||||
|
getLabelFn={size => `${size.name} (${size.width}x${size.height})`}
|
||||||
|
{...props}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
export default BarcodeTemplateSizeSelect;
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
import { FC } from "react";
|
||||||
|
import { useBarcodeTemplatesTableColumns } from "@/app/barcode-templates/components/shared/BarcodeTemplatesTable/columns";
|
||||||
|
import BaseTable from "@/components/ui/BaseTable/BaseTable";
|
||||||
|
import useIsMobile from "@/hooks/utils/useIsMobile";
|
||||||
|
import { BarcodeTemplateSchema } from "@/lib/client";
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
items: BarcodeTemplateSchema[];
|
||||||
|
onDelete: (template: BarcodeTemplateSchema) => void;
|
||||||
|
onChange: (template: BarcodeTemplateSchema) => void;
|
||||||
|
};
|
||||||
|
|
||||||
|
const BarcodeTemplatesTable: FC<Props> = ({ items, ...props }) => {
|
||||||
|
const isMobile = useIsMobile();
|
||||||
|
const columns = useBarcodeTemplatesTableColumns(props);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<BaseTable
|
||||||
|
striped
|
||||||
|
withTableBorder
|
||||||
|
records={items}
|
||||||
|
columns={columns}
|
||||||
|
groups={undefined}
|
||||||
|
verticalSpacing={"md"}
|
||||||
|
mx={isMobile ? "xs" : ""}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default BarcodeTemplatesTable;
|
||||||
@ -0,0 +1,60 @@
|
|||||||
|
import { useMemo } from "react";
|
||||||
|
import { IconCheck, IconX } from "@tabler/icons-react";
|
||||||
|
import { DataTableColumn } from "mantine-datatable";
|
||||||
|
import { Center } from "@mantine/core";
|
||||||
|
import UpdateDeleteTableActions from "@/components/ui/BaseTable/components/UpdateDeleteTableActions";
|
||||||
|
import { BarcodeTemplateSchema } from "@/lib/client";
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
onDelete: (template: BarcodeTemplateSchema) => void;
|
||||||
|
onChange: (template: BarcodeTemplateSchema) => void;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const useBarcodeTemplatesTableColumns = ({
|
||||||
|
onDelete,
|
||||||
|
onChange,
|
||||||
|
}: Props) => {
|
||||||
|
return useMemo(
|
||||||
|
() =>
|
||||||
|
[
|
||||||
|
{
|
||||||
|
accessor: "actions",
|
||||||
|
title: <Center>Действия</Center>,
|
||||||
|
width: "0%",
|
||||||
|
render: template => (
|
||||||
|
<UpdateDeleteTableActions
|
||||||
|
onDelete={() => onDelete(template)}
|
||||||
|
onChange={() => onChange(template)}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
accessor: "name",
|
||||||
|
title: "Название",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
accessor: "attributes",
|
||||||
|
title: "Атрибуты",
|
||||||
|
render: template => (
|
||||||
|
<>
|
||||||
|
{template.attributes
|
||||||
|
.map(attr => attr.name)
|
||||||
|
.join(", ")}
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
accessor: "size.name",
|
||||||
|
title: "Размер",
|
||||||
|
render: template => `${template.size.name} (${template.size.width}x${template.size.height})`
|
||||||
|
},
|
||||||
|
{
|
||||||
|
accessor: "isDefault",
|
||||||
|
title: "По умолчанию",
|
||||||
|
render: template =>
|
||||||
|
template.isDefault ? <IconCheck /> : <IconX />,
|
||||||
|
},
|
||||||
|
] as DataTableColumn<BarcodeTemplateSchema>[],
|
||||||
|
[]
|
||||||
|
);
|
||||||
|
};
|
||||||
@ -0,0 +1,51 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { Stack } from "@mantine/core";
|
||||||
|
import BarcodeTemplatesDesktopHeader from "@/app/barcode-templates/components/desktop/BarcodeTemplatesDesktopHeader/BarcodeTemplatesDesktopHeader";
|
||||||
|
import BarcodeTemplatesMobileHeader from "@/app/barcode-templates/components/mobile/BarcodeTemplatesMobileHeader/BarcodeTemplatesMobileHeader";
|
||||||
|
import BarcodeTemplatesTable from "@/app/barcode-templates/components/shared/BarcodeTemplatesTable/BarcodeTemplatesTable";
|
||||||
|
import useBarcodeTemplateActions from "@/app/barcode-templates/hooks/useBarcodeTemplateActions";
|
||||||
|
import { useBarcodeTemplatesCrud } from "@/app/barcode-templates/hooks/useBarcodeTemplatesCrud";
|
||||||
|
import useBarcodeTemplatesList from "@/app/barcode-templates/hooks/useBarcodeTemplatesList";
|
||||||
|
import PageBlock from "@/components/layout/PageBlock/PageBlock";
|
||||||
|
import useIsMobile from "@/hooks/utils/useIsMobile";
|
||||||
|
|
||||||
|
const PageBody = () => {
|
||||||
|
const isMobile = useIsMobile();
|
||||||
|
const { barcodeTemplates, queryKey } = useBarcodeTemplatesList();
|
||||||
|
const barcodeTemplatesCrud = useBarcodeTemplatesCrud({ queryKey });
|
||||||
|
|
||||||
|
const { onCreate, onChange } = useBarcodeTemplateActions();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Stack h={"100%"}>
|
||||||
|
{!isMobile && (
|
||||||
|
<PageBlock>
|
||||||
|
<BarcodeTemplatesDesktopHeader onCreateClick={onCreate} />
|
||||||
|
</PageBlock>
|
||||||
|
)}
|
||||||
|
<PageBlock
|
||||||
|
style={{ flex: 1, minHeight: 0 }}
|
||||||
|
fullScreenMobile>
|
||||||
|
<Stack
|
||||||
|
gap={"xs"}
|
||||||
|
h={"100%"}>
|
||||||
|
{isMobile && (
|
||||||
|
<BarcodeTemplatesMobileHeader
|
||||||
|
onCreateClick={onCreate}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
<div style={{ flex: 1, overflow: "auto" }}>
|
||||||
|
<BarcodeTemplatesTable
|
||||||
|
items={barcodeTemplates}
|
||||||
|
onChange={onChange}
|
||||||
|
onDelete={barcodeTemplatesCrud.onDelete}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Stack>
|
||||||
|
</PageBlock>
|
||||||
|
</Stack>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default PageBody;
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
import { modals } from "@mantine/modals";
|
||||||
|
import { useBarcodeTemplatesCrud } from "@/app/barcode-templates/hooks/useBarcodeTemplatesCrud";
|
||||||
|
import useBarcodeTemplatesList from "@/app/barcode-templates/hooks/useBarcodeTemplatesList";
|
||||||
|
import { BarcodeTemplateSchema } from "@/lib/client";
|
||||||
|
|
||||||
|
const useBarcodeTemplateActions = () => {
|
||||||
|
const { queryKey } = useBarcodeTemplatesList();
|
||||||
|
const barcodeTemplatesCrud = useBarcodeTemplatesCrud({ queryKey });
|
||||||
|
|
||||||
|
const onChange = (template: BarcodeTemplateSchema) => {
|
||||||
|
modals.openContextModal({
|
||||||
|
modal: "barcodeTemplateEditorModal",
|
||||||
|
title: "Редактирование шаблона",
|
||||||
|
withCloseButton: false,
|
||||||
|
innerProps: {
|
||||||
|
onChange: updated =>
|
||||||
|
barcodeTemplatesCrud.onUpdate(template.id, updated),
|
||||||
|
entity: template,
|
||||||
|
isEditing: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const onCreate = () => {
|
||||||
|
modals.openContextModal({
|
||||||
|
modal: "barcodeTemplateEditorModal",
|
||||||
|
title: "Создание шаблона",
|
||||||
|
withCloseButton: false,
|
||||||
|
innerProps: {
|
||||||
|
onCreate: barcodeTemplatesCrud.onCreate,
|
||||||
|
isEditing: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
return {
|
||||||
|
onChange,
|
||||||
|
onCreate,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export default useBarcodeTemplateActions;
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
import { useQuery } from "@tanstack/react-query";
|
||||||
|
import { getBarcodeTemplateAttributesOptions } from "@/lib/client/@tanstack/react-query.gen";
|
||||||
|
|
||||||
|
const useBarcodeTemplateAttributesList = () => {
|
||||||
|
const { isLoading, data, refetch } = useQuery(
|
||||||
|
getBarcodeTemplateAttributesOptions()
|
||||||
|
);
|
||||||
|
|
||||||
|
return { barcodeTemplateAttributes: data?.items ?? [], refetch, isLoading };
|
||||||
|
};
|
||||||
|
export default useBarcodeTemplateAttributesList;
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
import { useQuery } from "@tanstack/react-query";
|
||||||
|
import { getBarcodeTemplateSizesOptions } from "@/lib/client/@tanstack/react-query.gen";
|
||||||
|
|
||||||
|
const useBarcodeTemplateSizesList = () => {
|
||||||
|
const { isLoading, data, refetch } = useQuery(
|
||||||
|
getBarcodeTemplateSizesOptions()
|
||||||
|
);
|
||||||
|
|
||||||
|
return { barcodeTemplateSizes: data?.items ?? [], refetch, isLoading };
|
||||||
|
};
|
||||||
|
|
||||||
|
export default useBarcodeTemplateSizesList;
|
||||||
50
src/app/barcode-templates/hooks/useBarcodeTemplatesCrud.tsx
Normal file
50
src/app/barcode-templates/hooks/useBarcodeTemplatesCrud.tsx
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
import { useCrudOperations } from "@/hooks/cruds/baseCrud";
|
||||||
|
import {
|
||||||
|
BarcodeTemplateSchema,
|
||||||
|
CreateBarcodeTemplateSchema,
|
||||||
|
UpdateBarcodeTemplateSchema,
|
||||||
|
} from "@/lib/client";
|
||||||
|
import {
|
||||||
|
createBarcodeTemplateMutation,
|
||||||
|
deleteBarcodeTemplateMutation,
|
||||||
|
updateBarcodeTemplateMutation,
|
||||||
|
} from "@/lib/client/@tanstack/react-query.gen";
|
||||||
|
|
||||||
|
type UseBarcodeTemplateOperationsProps = {
|
||||||
|
queryKey: any[];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type BarcodeTemplateCrud = {
|
||||||
|
onCreate: (template: CreateBarcodeTemplateSchema) => void;
|
||||||
|
onUpdate: (
|
||||||
|
templateId: number,
|
||||||
|
template: UpdateBarcodeTemplateSchema
|
||||||
|
) => void;
|
||||||
|
onDelete: (template: BarcodeTemplateSchema) => void;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const useBarcodeTemplatesCrud = ({
|
||||||
|
queryKey,
|
||||||
|
}: UseBarcodeTemplateOperationsProps): BarcodeTemplateCrud => {
|
||||||
|
return useCrudOperations<
|
||||||
|
BarcodeTemplateSchema,
|
||||||
|
UpdateBarcodeTemplateSchema,
|
||||||
|
CreateBarcodeTemplateSchema
|
||||||
|
>({
|
||||||
|
key: "getBarcodeTemplates",
|
||||||
|
queryKey,
|
||||||
|
mutations: {
|
||||||
|
create: createBarcodeTemplateMutation(),
|
||||||
|
update: updateBarcodeTemplateMutation(),
|
||||||
|
delete: deleteBarcodeTemplateMutation(),
|
||||||
|
},
|
||||||
|
getUpdateEntity: (old, update) => ({
|
||||||
|
...old,
|
||||||
|
name: update.name ?? old.name,
|
||||||
|
attributes: update.attributes ?? old.attributes,
|
||||||
|
size: update.size ?? old.size,
|
||||||
|
isDefault: update.isDefault ?? old.isDefault,
|
||||||
|
}),
|
||||||
|
getDeleteConfirmTitle: () => "Удаление шаблона штрихкода",
|
||||||
|
});
|
||||||
|
};
|
||||||
15
src/app/barcode-templates/hooks/useBarcodeTemplatesList.tsx
Normal file
15
src/app/barcode-templates/hooks/useBarcodeTemplatesList.tsx
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { useQuery } from "@tanstack/react-query";
|
||||||
|
import {
|
||||||
|
getBarcodeTemplatesOptions,
|
||||||
|
getBarcodeTemplatesQueryKey,
|
||||||
|
} from "@/lib/client/@tanstack/react-query.gen";
|
||||||
|
|
||||||
|
const useBarcodeTemplatesList = () => {
|
||||||
|
const { isLoading, data, refetch } = useQuery(getBarcodeTemplatesOptions());
|
||||||
|
|
||||||
|
const queryKey = getBarcodeTemplatesQueryKey();
|
||||||
|
|
||||||
|
return { barcodeTemplates: data?.items ?? [], queryKey, refetch, isLoading };
|
||||||
|
};
|
||||||
|
|
||||||
|
export default useBarcodeTemplatesList;
|
||||||
@ -0,0 +1,87 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { Checkbox, Flex, TextInput } from "@mantine/core";
|
||||||
|
import { useForm } from "@mantine/form";
|
||||||
|
import { ContextModalProps } from "@mantine/modals";
|
||||||
|
import BarcodeTemplateAttributeMultiselect from "@/app/barcode-templates/components/shared/BarcodeTemplateAttributeMultiselect/BarcodeTemplateAttributeMultiselect";
|
||||||
|
import BarcodeTemplateSizeSelect from "@/app/barcode-templates/components/shared/BarcodeTemplateSizeSelect/BarcodeTemplateSizeSelect";
|
||||||
|
import {
|
||||||
|
BarcodeTemplateSchema,
|
||||||
|
CreateBarcodeTemplateSchema,
|
||||||
|
UpdateBarcodeTemplateSchema,
|
||||||
|
} from "@/lib/client";
|
||||||
|
import BaseFormModal, {
|
||||||
|
CreateEditFormProps,
|
||||||
|
} from "@/modals/base/BaseFormModal/BaseFormModal";
|
||||||
|
|
||||||
|
type Props = CreateEditFormProps<
|
||||||
|
BarcodeTemplateSchema,
|
||||||
|
CreateBarcodeTemplateSchema,
|
||||||
|
UpdateBarcodeTemplateSchema
|
||||||
|
>;
|
||||||
|
|
||||||
|
const BarcodeTemplateEditorModal = ({
|
||||||
|
context,
|
||||||
|
id,
|
||||||
|
innerProps,
|
||||||
|
}: ContextModalProps<Props>) => {
|
||||||
|
const initialValues = innerProps.isEditing
|
||||||
|
? innerProps.entity
|
||||||
|
: ({
|
||||||
|
name: "",
|
||||||
|
isDefault: false,
|
||||||
|
attributes: [],
|
||||||
|
} as Partial<CreateBarcodeTemplateSchema>);
|
||||||
|
|
||||||
|
const form = useForm({
|
||||||
|
initialValues,
|
||||||
|
validate: {
|
||||||
|
attributes: attributes =>
|
||||||
|
!attributes && "Необходимо добавить хотя бы один атрибут",
|
||||||
|
name: name =>
|
||||||
|
!name ||
|
||||||
|
(name.trim() === "" && "Необходимо ввести название шаблона"),
|
||||||
|
size: size => !size && "Необходимо выбрать размер шаблона",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<BaseFormModal
|
||||||
|
{...innerProps}
|
||||||
|
closeOnSubmit
|
||||||
|
form={form}
|
||||||
|
onClose={() => context.closeContextModal(id)}>
|
||||||
|
<Flex
|
||||||
|
direction={"column"}
|
||||||
|
gap={"md"}>
|
||||||
|
<TextInput
|
||||||
|
label={"Название"}
|
||||||
|
placeholder={"Введите название шаблона"}
|
||||||
|
{...form.getInputProps("name")}
|
||||||
|
/>
|
||||||
|
<BarcodeTemplateSizeSelect
|
||||||
|
label={"Размер"}
|
||||||
|
placeholder={"Выберите размер шаблона"}
|
||||||
|
{...form.getInputProps("size")}
|
||||||
|
/>
|
||||||
|
<BarcodeTemplateAttributeMultiselect
|
||||||
|
label={"Стандартные атрибуты"}
|
||||||
|
placeholder={
|
||||||
|
!form.values.attributes?.length
|
||||||
|
? "Выберите атрибуты"
|
||||||
|
: undefined
|
||||||
|
}
|
||||||
|
{...form.getInputProps("attributes")}
|
||||||
|
/>
|
||||||
|
<Checkbox
|
||||||
|
label={"Использовать по умолчанию"}
|
||||||
|
{...form.getInputProps("isDefault", {
|
||||||
|
type: "checkbox",
|
||||||
|
})}
|
||||||
|
/>
|
||||||
|
</Flex>
|
||||||
|
</BaseFormModal>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default BarcodeTemplateEditorModal;
|
||||||
19
src/app/barcode-templates/page.tsx
Normal file
19
src/app/barcode-templates/page.tsx
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { Suspense } from "react";
|
||||||
|
import { Center, Loader } from "@mantine/core";
|
||||||
|
import PageBody from "@/app/barcode-templates/components/shared/PageBody/PageBody";
|
||||||
|
import PageContainer from "@/components/layout/PageContainer/PageContainer";
|
||||||
|
|
||||||
|
export default async function BarcodeTemplatesPage() {
|
||||||
|
return (
|
||||||
|
<Suspense
|
||||||
|
fallback={
|
||||||
|
<Center h="50vh">
|
||||||
|
<Loader size="lg" />
|
||||||
|
</Center>
|
||||||
|
}>
|
||||||
|
<PageContainer>
|
||||||
|
<PageBody />
|
||||||
|
</PageContainer>
|
||||||
|
</Suspense>
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -1,4 +1,8 @@
|
|||||||
import { IconColumns, IconLayoutKanban } from "@tabler/icons-react";
|
import {
|
||||||
|
IconColumns,
|
||||||
|
IconFileBarcode,
|
||||||
|
IconLayoutKanban,
|
||||||
|
} from "@tabler/icons-react";
|
||||||
import { Box, Flex } from "@mantine/core";
|
import { Box, Flex } from "@mantine/core";
|
||||||
import PageBlock from "@/components/layout/PageBlock/PageBlock";
|
import PageBlock from "@/components/layout/PageBlock/PageBlock";
|
||||||
import { ColorSchemeToggle } from "@/components/ui/ColorSchemeToggle/ColorSchemeToggle";
|
import { ColorSchemeToggle } from "@/components/ui/ColorSchemeToggle/ColorSchemeToggle";
|
||||||
@ -17,6 +21,11 @@ const linksData = [
|
|||||||
label: "Услуги",
|
label: "Услуги",
|
||||||
href: "/services",
|
href: "/services",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
icon: IconFileBarcode,
|
||||||
|
label: "Шаблоны штрихкодов",
|
||||||
|
href: "/barcode-templates",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const Navbar = () => {
|
const Navbar = () => {
|
||||||
|
|||||||
@ -17,8 +17,8 @@ type ControlledValueProps<T> = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
type CustomLabelAndKeyProps<T> = {
|
type CustomLabelAndKeyProps<T> = {
|
||||||
getLabelFn: (item: MultiselectObjectType<T>) => string;
|
getLabelFn?: (item: MultiselectObjectType<T>) => string;
|
||||||
getValueFn: (item: MultiselectObjectType<T>) => string;
|
getValueFn?: (item: MultiselectObjectType<T>) => string;
|
||||||
};
|
};
|
||||||
type RestProps<T> = {
|
type RestProps<T> = {
|
||||||
defaultValue?: MultiselectObjectType<T>[];
|
defaultValue?: MultiselectObjectType<T>[];
|
||||||
|
|||||||
@ -16,8 +16,8 @@ type ControlledValueProps<T> = {
|
|||||||
onChange: (value: SelectObjectType<T>) => void;
|
onChange: (value: SelectObjectType<T>) => void;
|
||||||
};
|
};
|
||||||
type CustomLabelAndKeyProps<T> = {
|
type CustomLabelAndKeyProps<T> = {
|
||||||
getLabelFn: (item: SelectObjectType<T>) => string;
|
getLabelFn?: (item: SelectObjectType<T>) => string;
|
||||||
getValueFn: (item: SelectObjectType<T>) => string;
|
getValueFn?: (item: SelectObjectType<T>) => string;
|
||||||
};
|
};
|
||||||
|
|
||||||
type RestProps<T> = {
|
type RestProps<T> = {
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import { client as _heyApiClient } from "../client.gen";
|
|||||||
import {
|
import {
|
||||||
addKitToDeal,
|
addKitToDeal,
|
||||||
addKitToDealProduct,
|
addKitToDealProduct,
|
||||||
|
createBarcodeTemplate,
|
||||||
createBoard,
|
createBoard,
|
||||||
createDeal,
|
createDeal,
|
||||||
createDealProduct,
|
createDealProduct,
|
||||||
@ -22,6 +23,7 @@ import {
|
|||||||
createServiceCategory,
|
createServiceCategory,
|
||||||
createServicesKit,
|
createServicesKit,
|
||||||
createStatus,
|
createStatus,
|
||||||
|
deleteBarcodeTemplate,
|
||||||
deleteBoard,
|
deleteBoard,
|
||||||
deleteDeal,
|
deleteDeal,
|
||||||
deleteDealProduct,
|
deleteDealProduct,
|
||||||
@ -34,6 +36,9 @@ import {
|
|||||||
deleteServicesKit,
|
deleteServicesKit,
|
||||||
deleteStatus,
|
deleteStatus,
|
||||||
duplicateProductServices,
|
duplicateProductServices,
|
||||||
|
getBarcodeTemplateAttributes,
|
||||||
|
getBarcodeTemplates,
|
||||||
|
getBarcodeTemplateSizes,
|
||||||
getBoards,
|
getBoards,
|
||||||
getBuiltInModules,
|
getBuiltInModules,
|
||||||
getDealProducts,
|
getDealProducts,
|
||||||
@ -46,6 +51,7 @@ import {
|
|||||||
getServicesKits,
|
getServicesKits,
|
||||||
getStatuses,
|
getStatuses,
|
||||||
getStatusHistory,
|
getStatusHistory,
|
||||||
|
updateBarcodeTemplate,
|
||||||
updateBoard,
|
updateBoard,
|
||||||
updateDeal,
|
updateDeal,
|
||||||
updateDealProduct,
|
updateDealProduct,
|
||||||
@ -66,6 +72,9 @@ import type {
|
|||||||
AddKitToDealProductError,
|
AddKitToDealProductError,
|
||||||
AddKitToDealProductResponse,
|
AddKitToDealProductResponse,
|
||||||
AddKitToDealResponse,
|
AddKitToDealResponse,
|
||||||
|
CreateBarcodeTemplateData,
|
||||||
|
CreateBarcodeTemplateError,
|
||||||
|
CreateBarcodeTemplateResponse2,
|
||||||
CreateBoardData,
|
CreateBoardData,
|
||||||
CreateBoardError,
|
CreateBoardError,
|
||||||
CreateBoardResponse2,
|
CreateBoardResponse2,
|
||||||
@ -99,6 +108,9 @@ import type {
|
|||||||
CreateStatusData,
|
CreateStatusData,
|
||||||
CreateStatusError,
|
CreateStatusError,
|
||||||
CreateStatusResponse2,
|
CreateStatusResponse2,
|
||||||
|
DeleteBarcodeTemplateData,
|
||||||
|
DeleteBarcodeTemplateError,
|
||||||
|
DeleteBarcodeTemplateResponse2,
|
||||||
DeleteBoardData,
|
DeleteBoardData,
|
||||||
DeleteBoardError,
|
DeleteBoardError,
|
||||||
DeleteBoardResponse2,
|
DeleteBoardResponse2,
|
||||||
@ -135,6 +147,9 @@ import type {
|
|||||||
DuplicateProductServicesData,
|
DuplicateProductServicesData,
|
||||||
DuplicateProductServicesError,
|
DuplicateProductServicesError,
|
||||||
DuplicateProductServicesResponse,
|
DuplicateProductServicesResponse,
|
||||||
|
GetBarcodeTemplateAttributesData,
|
||||||
|
GetBarcodeTemplatesData,
|
||||||
|
GetBarcodeTemplateSizesData,
|
||||||
GetBoardsData,
|
GetBoardsData,
|
||||||
GetBuiltInModulesData,
|
GetBuiltInModulesData,
|
||||||
GetDealProductsData,
|
GetDealProductsData,
|
||||||
@ -151,6 +166,9 @@ import type {
|
|||||||
GetServicesKitsData,
|
GetServicesKitsData,
|
||||||
GetStatusesData,
|
GetStatusesData,
|
||||||
GetStatusHistoryData,
|
GetStatusHistoryData,
|
||||||
|
UpdateBarcodeTemplateData,
|
||||||
|
UpdateBarcodeTemplateError,
|
||||||
|
UpdateBarcodeTemplateResponse2,
|
||||||
UpdateBoardData,
|
UpdateBoardData,
|
||||||
UpdateBoardError,
|
UpdateBoardError,
|
||||||
UpdateBoardResponse2,
|
UpdateBoardResponse2,
|
||||||
@ -847,6 +865,183 @@ export const getStatusHistoryOptions = (
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const getBarcodeTemplatesQueryKey = (
|
||||||
|
options?: Options<GetBarcodeTemplatesData>
|
||||||
|
) => createQueryKey("getBarcodeTemplates", options);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Barcode Templates
|
||||||
|
*/
|
||||||
|
export const getBarcodeTemplatesOptions = (
|
||||||
|
options?: Options<GetBarcodeTemplatesData>
|
||||||
|
) => {
|
||||||
|
return queryOptions({
|
||||||
|
queryFn: async ({ queryKey, signal }) => {
|
||||||
|
const { data } = await getBarcodeTemplates({
|
||||||
|
...options,
|
||||||
|
...queryKey[0],
|
||||||
|
signal,
|
||||||
|
throwOnError: true,
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
},
|
||||||
|
queryKey: getBarcodeTemplatesQueryKey(options),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export const createBarcodeTemplateQueryKey = (
|
||||||
|
options: Options<CreateBarcodeTemplateData>
|
||||||
|
) => createQueryKey("createBarcodeTemplate", options);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Barcode Template
|
||||||
|
*/
|
||||||
|
export const createBarcodeTemplateOptions = (
|
||||||
|
options: Options<CreateBarcodeTemplateData>
|
||||||
|
) => {
|
||||||
|
return queryOptions({
|
||||||
|
queryFn: async ({ queryKey, signal }) => {
|
||||||
|
const { data } = await createBarcodeTemplate({
|
||||||
|
...options,
|
||||||
|
...queryKey[0],
|
||||||
|
signal,
|
||||||
|
throwOnError: true,
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
},
|
||||||
|
queryKey: createBarcodeTemplateQueryKey(options),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Barcode Template
|
||||||
|
*/
|
||||||
|
export const createBarcodeTemplateMutation = (
|
||||||
|
options?: Partial<Options<CreateBarcodeTemplateData>>
|
||||||
|
): UseMutationOptions<
|
||||||
|
CreateBarcodeTemplateResponse2,
|
||||||
|
AxiosError<CreateBarcodeTemplateError>,
|
||||||
|
Options<CreateBarcodeTemplateData>
|
||||||
|
> => {
|
||||||
|
const mutationOptions: UseMutationOptions<
|
||||||
|
CreateBarcodeTemplateResponse2,
|
||||||
|
AxiosError<CreateBarcodeTemplateError>,
|
||||||
|
Options<CreateBarcodeTemplateData>
|
||||||
|
> = {
|
||||||
|
mutationFn: async localOptions => {
|
||||||
|
const { data } = await createBarcodeTemplate({
|
||||||
|
...options,
|
||||||
|
...localOptions,
|
||||||
|
throwOnError: true,
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
return mutationOptions;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete Barcode Template
|
||||||
|
*/
|
||||||
|
export const deleteBarcodeTemplateMutation = (
|
||||||
|
options?: Partial<Options<DeleteBarcodeTemplateData>>
|
||||||
|
): UseMutationOptions<
|
||||||
|
DeleteBarcodeTemplateResponse2,
|
||||||
|
AxiosError<DeleteBarcodeTemplateError>,
|
||||||
|
Options<DeleteBarcodeTemplateData>
|
||||||
|
> => {
|
||||||
|
const mutationOptions: UseMutationOptions<
|
||||||
|
DeleteBarcodeTemplateResponse2,
|
||||||
|
AxiosError<DeleteBarcodeTemplateError>,
|
||||||
|
Options<DeleteBarcodeTemplateData>
|
||||||
|
> = {
|
||||||
|
mutationFn: async localOptions => {
|
||||||
|
const { data } = await deleteBarcodeTemplate({
|
||||||
|
...options,
|
||||||
|
...localOptions,
|
||||||
|
throwOnError: true,
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
return mutationOptions;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update Barcode Template
|
||||||
|
*/
|
||||||
|
export const updateBarcodeTemplateMutation = (
|
||||||
|
options?: Partial<Options<UpdateBarcodeTemplateData>>
|
||||||
|
): UseMutationOptions<
|
||||||
|
UpdateBarcodeTemplateResponse2,
|
||||||
|
AxiosError<UpdateBarcodeTemplateError>,
|
||||||
|
Options<UpdateBarcodeTemplateData>
|
||||||
|
> => {
|
||||||
|
const mutationOptions: UseMutationOptions<
|
||||||
|
UpdateBarcodeTemplateResponse2,
|
||||||
|
AxiosError<UpdateBarcodeTemplateError>,
|
||||||
|
Options<UpdateBarcodeTemplateData>
|
||||||
|
> = {
|
||||||
|
mutationFn: async localOptions => {
|
||||||
|
const { data } = await updateBarcodeTemplate({
|
||||||
|
...options,
|
||||||
|
...localOptions,
|
||||||
|
throwOnError: true,
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
return mutationOptions;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const getBarcodeTemplateAttributesQueryKey = (
|
||||||
|
options?: Options<GetBarcodeTemplateAttributesData>
|
||||||
|
) => createQueryKey("getBarcodeTemplateAttributes", options);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Barcode Template Attributes
|
||||||
|
*/
|
||||||
|
export const getBarcodeTemplateAttributesOptions = (
|
||||||
|
options?: Options<GetBarcodeTemplateAttributesData>
|
||||||
|
) => {
|
||||||
|
return queryOptions({
|
||||||
|
queryFn: async ({ queryKey, signal }) => {
|
||||||
|
const { data } = await getBarcodeTemplateAttributes({
|
||||||
|
...options,
|
||||||
|
...queryKey[0],
|
||||||
|
signal,
|
||||||
|
throwOnError: true,
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
},
|
||||||
|
queryKey: getBarcodeTemplateAttributesQueryKey(options),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export const getBarcodeTemplateSizesQueryKey = (
|
||||||
|
options?: Options<GetBarcodeTemplateSizesData>
|
||||||
|
) => createQueryKey("getBarcodeTemplateSizes", options);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Barcode Template Sizes
|
||||||
|
*/
|
||||||
|
export const getBarcodeTemplateSizesOptions = (
|
||||||
|
options?: Options<GetBarcodeTemplateSizesData>
|
||||||
|
) => {
|
||||||
|
return queryOptions({
|
||||||
|
queryFn: async ({ queryKey, signal }) => {
|
||||||
|
const { data } = await getBarcodeTemplateSizes({
|
||||||
|
...options,
|
||||||
|
...queryKey[0],
|
||||||
|
signal,
|
||||||
|
throwOnError: true,
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
},
|
||||||
|
queryKey: getBarcodeTemplateSizesQueryKey(options),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
export const getDealProductsQueryKey = (
|
export const getDealProductsQueryKey = (
|
||||||
options: Options<GetDealProductsData>
|
options: Options<GetDealProductsData>
|
||||||
) => createQueryKey("getDealProducts", options);
|
) => createQueryKey("getDealProducts", options);
|
||||||
|
|||||||
@ -9,6 +9,9 @@ import type {
|
|||||||
AddKitToDealProductErrors,
|
AddKitToDealProductErrors,
|
||||||
AddKitToDealProductResponses,
|
AddKitToDealProductResponses,
|
||||||
AddKitToDealResponses,
|
AddKitToDealResponses,
|
||||||
|
CreateBarcodeTemplateData,
|
||||||
|
CreateBarcodeTemplateErrors,
|
||||||
|
CreateBarcodeTemplateResponses,
|
||||||
CreateBoardData,
|
CreateBoardData,
|
||||||
CreateBoardErrors,
|
CreateBoardErrors,
|
||||||
CreateBoardResponses,
|
CreateBoardResponses,
|
||||||
@ -42,6 +45,9 @@ import type {
|
|||||||
CreateStatusData,
|
CreateStatusData,
|
||||||
CreateStatusErrors,
|
CreateStatusErrors,
|
||||||
CreateStatusResponses,
|
CreateStatusResponses,
|
||||||
|
DeleteBarcodeTemplateData,
|
||||||
|
DeleteBarcodeTemplateErrors,
|
||||||
|
DeleteBarcodeTemplateResponses,
|
||||||
DeleteBoardData,
|
DeleteBoardData,
|
||||||
DeleteBoardErrors,
|
DeleteBoardErrors,
|
||||||
DeleteBoardResponses,
|
DeleteBoardResponses,
|
||||||
@ -78,6 +84,12 @@ import type {
|
|||||||
DuplicateProductServicesData,
|
DuplicateProductServicesData,
|
||||||
DuplicateProductServicesErrors,
|
DuplicateProductServicesErrors,
|
||||||
DuplicateProductServicesResponses,
|
DuplicateProductServicesResponses,
|
||||||
|
GetBarcodeTemplateAttributesData,
|
||||||
|
GetBarcodeTemplateAttributesResponses,
|
||||||
|
GetBarcodeTemplatesData,
|
||||||
|
GetBarcodeTemplateSizesData,
|
||||||
|
GetBarcodeTemplateSizesResponses,
|
||||||
|
GetBarcodeTemplatesResponses,
|
||||||
GetBoardsData,
|
GetBoardsData,
|
||||||
GetBoardsErrors,
|
GetBoardsErrors,
|
||||||
GetBoardsResponses,
|
GetBoardsResponses,
|
||||||
@ -109,6 +121,9 @@ import type {
|
|||||||
GetStatusHistoryData,
|
GetStatusHistoryData,
|
||||||
GetStatusHistoryErrors,
|
GetStatusHistoryErrors,
|
||||||
GetStatusHistoryResponses,
|
GetStatusHistoryResponses,
|
||||||
|
UpdateBarcodeTemplateData,
|
||||||
|
UpdateBarcodeTemplateErrors,
|
||||||
|
UpdateBarcodeTemplateResponses,
|
||||||
UpdateBoardData,
|
UpdateBoardData,
|
||||||
UpdateBoardErrors,
|
UpdateBoardErrors,
|
||||||
UpdateBoardResponses,
|
UpdateBoardResponses,
|
||||||
@ -148,6 +163,8 @@ import {
|
|||||||
zAddKitToDealProductData,
|
zAddKitToDealProductData,
|
||||||
zAddKitToDealProductResponse,
|
zAddKitToDealProductResponse,
|
||||||
zAddKitToDealResponse,
|
zAddKitToDealResponse,
|
||||||
|
zCreateBarcodeTemplateData,
|
||||||
|
zCreateBarcodeTemplateResponse2,
|
||||||
zCreateBoardData,
|
zCreateBoardData,
|
||||||
zCreateBoardResponse2,
|
zCreateBoardResponse2,
|
||||||
zCreateDealData,
|
zCreateDealData,
|
||||||
@ -170,6 +187,8 @@ import {
|
|||||||
zCreateServicesKitResponse2,
|
zCreateServicesKitResponse2,
|
||||||
zCreateStatusData,
|
zCreateStatusData,
|
||||||
zCreateStatusResponse2,
|
zCreateStatusResponse2,
|
||||||
|
zDeleteBarcodeTemplateData,
|
||||||
|
zDeleteBarcodeTemplateResponse2,
|
||||||
zDeleteBoardData,
|
zDeleteBoardData,
|
||||||
zDeleteBoardResponse2,
|
zDeleteBoardResponse2,
|
||||||
zDeleteDealData,
|
zDeleteDealData,
|
||||||
@ -194,6 +213,12 @@ import {
|
|||||||
zDeleteStatusResponse2,
|
zDeleteStatusResponse2,
|
||||||
zDuplicateProductServicesData,
|
zDuplicateProductServicesData,
|
||||||
zDuplicateProductServicesResponse,
|
zDuplicateProductServicesResponse,
|
||||||
|
zGetBarcodeTemplateAttributesData,
|
||||||
|
zGetBarcodeTemplateAttributesResponse,
|
||||||
|
zGetBarcodeTemplatesData,
|
||||||
|
zGetBarcodeTemplateSizesData,
|
||||||
|
zGetBarcodeTemplateSizesResponse2,
|
||||||
|
zGetBarcodeTemplatesResponse2,
|
||||||
zGetBoardsData,
|
zGetBoardsData,
|
||||||
zGetBoardsResponse2,
|
zGetBoardsResponse2,
|
||||||
zGetBuiltInModulesData,
|
zGetBuiltInModulesData,
|
||||||
@ -218,6 +243,8 @@ import {
|
|||||||
zGetStatusesResponse2,
|
zGetStatusesResponse2,
|
||||||
zGetStatusHistoryData,
|
zGetStatusHistoryData,
|
||||||
zGetStatusHistoryResponse2,
|
zGetStatusHistoryResponse2,
|
||||||
|
zUpdateBarcodeTemplateData,
|
||||||
|
zUpdateBarcodeTemplateResponse2,
|
||||||
zUpdateBoardData,
|
zUpdateBoardData,
|
||||||
zUpdateBoardResponse2,
|
zUpdateBoardResponse2,
|
||||||
zUpdateDealData,
|
zUpdateDealData,
|
||||||
@ -705,6 +732,154 @@ export const getStatusHistory = <ThrowOnError extends boolean = false>(
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Barcode Templates
|
||||||
|
*/
|
||||||
|
export const getBarcodeTemplates = <ThrowOnError extends boolean = false>(
|
||||||
|
options?: Options<GetBarcodeTemplatesData, ThrowOnError>
|
||||||
|
) => {
|
||||||
|
return (options?.client ?? _heyApiClient).get<
|
||||||
|
GetBarcodeTemplatesResponses,
|
||||||
|
unknown,
|
||||||
|
ThrowOnError
|
||||||
|
>({
|
||||||
|
requestValidator: async data => {
|
||||||
|
return await zGetBarcodeTemplatesData.parseAsync(data);
|
||||||
|
},
|
||||||
|
responseType: "json",
|
||||||
|
responseValidator: async data => {
|
||||||
|
return await zGetBarcodeTemplatesResponse2.parseAsync(data);
|
||||||
|
},
|
||||||
|
url: "/modules/fulfillment-base/barcode-template/",
|
||||||
|
...options,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Barcode Template
|
||||||
|
*/
|
||||||
|
export const createBarcodeTemplate = <ThrowOnError extends boolean = false>(
|
||||||
|
options: Options<CreateBarcodeTemplateData, ThrowOnError>
|
||||||
|
) => {
|
||||||
|
return (options.client ?? _heyApiClient).post<
|
||||||
|
CreateBarcodeTemplateResponses,
|
||||||
|
CreateBarcodeTemplateErrors,
|
||||||
|
ThrowOnError
|
||||||
|
>({
|
||||||
|
requestValidator: async data => {
|
||||||
|
return await zCreateBarcodeTemplateData.parseAsync(data);
|
||||||
|
},
|
||||||
|
responseType: "json",
|
||||||
|
responseValidator: async data => {
|
||||||
|
return await zCreateBarcodeTemplateResponse2.parseAsync(data);
|
||||||
|
},
|
||||||
|
url: "/modules/fulfillment-base/barcode-template/",
|
||||||
|
...options,
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
...options.headers,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete Barcode Template
|
||||||
|
*/
|
||||||
|
export const deleteBarcodeTemplate = <ThrowOnError extends boolean = false>(
|
||||||
|
options: Options<DeleteBarcodeTemplateData, ThrowOnError>
|
||||||
|
) => {
|
||||||
|
return (options.client ?? _heyApiClient).delete<
|
||||||
|
DeleteBarcodeTemplateResponses,
|
||||||
|
DeleteBarcodeTemplateErrors,
|
||||||
|
ThrowOnError
|
||||||
|
>({
|
||||||
|
requestValidator: async data => {
|
||||||
|
return await zDeleteBarcodeTemplateData.parseAsync(data);
|
||||||
|
},
|
||||||
|
responseType: "json",
|
||||||
|
responseValidator: async data => {
|
||||||
|
return await zDeleteBarcodeTemplateResponse2.parseAsync(data);
|
||||||
|
},
|
||||||
|
url: "/modules/fulfillment-base/barcode-template/{pk}",
|
||||||
|
...options,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update Barcode Template
|
||||||
|
*/
|
||||||
|
export const updateBarcodeTemplate = <ThrowOnError extends boolean = false>(
|
||||||
|
options: Options<UpdateBarcodeTemplateData, ThrowOnError>
|
||||||
|
) => {
|
||||||
|
return (options.client ?? _heyApiClient).patch<
|
||||||
|
UpdateBarcodeTemplateResponses,
|
||||||
|
UpdateBarcodeTemplateErrors,
|
||||||
|
ThrowOnError
|
||||||
|
>({
|
||||||
|
requestValidator: async data => {
|
||||||
|
return await zUpdateBarcodeTemplateData.parseAsync(data);
|
||||||
|
},
|
||||||
|
responseType: "json",
|
||||||
|
responseValidator: async data => {
|
||||||
|
return await zUpdateBarcodeTemplateResponse2.parseAsync(data);
|
||||||
|
},
|
||||||
|
url: "/modules/fulfillment-base/barcode-template/{pk}",
|
||||||
|
...options,
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
...options.headers,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Barcode Template Attributes
|
||||||
|
*/
|
||||||
|
export const getBarcodeTemplateAttributes = <
|
||||||
|
ThrowOnError extends boolean = false,
|
||||||
|
>(
|
||||||
|
options?: Options<GetBarcodeTemplateAttributesData, ThrowOnError>
|
||||||
|
) => {
|
||||||
|
return (options?.client ?? _heyApiClient).get<
|
||||||
|
GetBarcodeTemplateAttributesResponses,
|
||||||
|
unknown,
|
||||||
|
ThrowOnError
|
||||||
|
>({
|
||||||
|
requestValidator: async data => {
|
||||||
|
return await zGetBarcodeTemplateAttributesData.parseAsync(data);
|
||||||
|
},
|
||||||
|
responseType: "json",
|
||||||
|
responseValidator: async data => {
|
||||||
|
return await zGetBarcodeTemplateAttributesResponse.parseAsync(data);
|
||||||
|
},
|
||||||
|
url: "/modules/fulfillment-base/barcode-template/attributes",
|
||||||
|
...options,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Barcode Template Sizes
|
||||||
|
*/
|
||||||
|
export const getBarcodeTemplateSizes = <ThrowOnError extends boolean = false>(
|
||||||
|
options?: Options<GetBarcodeTemplateSizesData, ThrowOnError>
|
||||||
|
) => {
|
||||||
|
return (options?.client ?? _heyApiClient).get<
|
||||||
|
GetBarcodeTemplateSizesResponses,
|
||||||
|
unknown,
|
||||||
|
ThrowOnError
|
||||||
|
>({
|
||||||
|
requestValidator: async data => {
|
||||||
|
return await zGetBarcodeTemplateSizesData.parseAsync(data);
|
||||||
|
},
|
||||||
|
responseType: "json",
|
||||||
|
responseValidator: async data => {
|
||||||
|
return await zGetBarcodeTemplateSizesResponse2.parseAsync(data);
|
||||||
|
},
|
||||||
|
url: "/modules/fulfillment-base/barcode-template/sizes",
|
||||||
|
...options,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Deal Products
|
* Get Deal Products
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -1,5 +1,68 @@
|
|||||||
// This file is auto-generated by @hey-api/openapi-ts
|
// This file is auto-generated by @hey-api/openapi-ts
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BarcodeTemplateAttributeSchema
|
||||||
|
*/
|
||||||
|
export type BarcodeTemplateAttributeSchema = {
|
||||||
|
/**
|
||||||
|
* Id
|
||||||
|
*/
|
||||||
|
id: number;
|
||||||
|
/**
|
||||||
|
* Key
|
||||||
|
*/
|
||||||
|
key: string;
|
||||||
|
/**
|
||||||
|
* Name
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BarcodeTemplateSchema
|
||||||
|
*/
|
||||||
|
export type BarcodeTemplateSchema = {
|
||||||
|
/**
|
||||||
|
* Name
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
/**
|
||||||
|
* Attributes
|
||||||
|
*/
|
||||||
|
attributes: Array<BarcodeTemplateAttributeSchema>;
|
||||||
|
/**
|
||||||
|
* Isdefault
|
||||||
|
*/
|
||||||
|
isDefault: boolean;
|
||||||
|
size: BarcodeTemplateSizeSchema;
|
||||||
|
/**
|
||||||
|
* Id
|
||||||
|
*/
|
||||||
|
id: number;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BarcodeTemplateSizeSchema
|
||||||
|
*/
|
||||||
|
export type BarcodeTemplateSizeSchema = {
|
||||||
|
/**
|
||||||
|
* Id
|
||||||
|
*/
|
||||||
|
id: number;
|
||||||
|
/**
|
||||||
|
* Name
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
/**
|
||||||
|
* Width
|
||||||
|
*/
|
||||||
|
width: number;
|
||||||
|
/**
|
||||||
|
* Height
|
||||||
|
*/
|
||||||
|
height: number;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BoardSchema
|
* BoardSchema
|
||||||
*/
|
*/
|
||||||
@ -108,6 +171,43 @@ export type BuiltInModuleTabSchema = {
|
|||||||
device: string;
|
device: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CreateBarcodeTemplateRequest
|
||||||
|
*/
|
||||||
|
export type CreateBarcodeTemplateRequest = {
|
||||||
|
entity: CreateBarcodeTemplateSchema;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CreateBarcodeTemplateResponse
|
||||||
|
*/
|
||||||
|
export type CreateBarcodeTemplateResponse = {
|
||||||
|
/**
|
||||||
|
* Message
|
||||||
|
*/
|
||||||
|
message: string;
|
||||||
|
entity: BarcodeTemplateSchema;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CreateBarcodeTemplateSchema
|
||||||
|
*/
|
||||||
|
export type CreateBarcodeTemplateSchema = {
|
||||||
|
/**
|
||||||
|
* Name
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
/**
|
||||||
|
* Attributes
|
||||||
|
*/
|
||||||
|
attributes: Array<BarcodeTemplateAttributeSchema>;
|
||||||
|
/**
|
||||||
|
* Isdefault
|
||||||
|
*/
|
||||||
|
isDefault: boolean;
|
||||||
|
size: BarcodeTemplateSizeSchema;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CreateBoardRequest
|
* CreateBoardRequest
|
||||||
*/
|
*/
|
||||||
@ -679,6 +779,16 @@ export type DealServiceSchema = {
|
|||||||
isFixedPrice: boolean;
|
isFixedPrice: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DeleteBarcodeTemplateResponse
|
||||||
|
*/
|
||||||
|
export type DeleteBarcodeTemplateResponse = {
|
||||||
|
/**
|
||||||
|
* Message
|
||||||
|
*/
|
||||||
|
message: string;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DeleteBoardResponse
|
* DeleteBoardResponse
|
||||||
*/
|
*/
|
||||||
@ -799,6 +909,36 @@ export type GetAllBuiltInModulesResponse = {
|
|||||||
items: Array<BuiltInModuleSchemaOutput>;
|
items: Array<BuiltInModuleSchemaOutput>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GetBarcodeAttributesResponse
|
||||||
|
*/
|
||||||
|
export type GetBarcodeAttributesResponse = {
|
||||||
|
/**
|
||||||
|
* Items
|
||||||
|
*/
|
||||||
|
items: Array<BarcodeTemplateAttributeSchema>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GetBarcodeTemplateSizesResponse
|
||||||
|
*/
|
||||||
|
export type GetBarcodeTemplateSizesResponse = {
|
||||||
|
/**
|
||||||
|
* Items
|
||||||
|
*/
|
||||||
|
items: Array<BarcodeTemplateSizeSchema>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GetBarcodeTemplatesResponse
|
||||||
|
*/
|
||||||
|
export type GetBarcodeTemplatesResponse = {
|
||||||
|
/**
|
||||||
|
* Items
|
||||||
|
*/
|
||||||
|
items: Array<BarcodeTemplateSchema>;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GetBoardsResponse
|
* GetBoardsResponse
|
||||||
*/
|
*/
|
||||||
@ -1212,6 +1352,42 @@ export type StatusSchema = {
|
|||||||
lexorank: string;
|
lexorank: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UpdateBarcodeTemplateRequest
|
||||||
|
*/
|
||||||
|
export type UpdateBarcodeTemplateRequest = {
|
||||||
|
entity: UpdateBarcodeTemplateSchema;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UpdateBarcodeTemplateResponse
|
||||||
|
*/
|
||||||
|
export type UpdateBarcodeTemplateResponse = {
|
||||||
|
/**
|
||||||
|
* Message
|
||||||
|
*/
|
||||||
|
message: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UpdateBarcodeTemplateSchema
|
||||||
|
*/
|
||||||
|
export type UpdateBarcodeTemplateSchema = {
|
||||||
|
/**
|
||||||
|
* Name
|
||||||
|
*/
|
||||||
|
name?: string | null;
|
||||||
|
/**
|
||||||
|
* Attributes
|
||||||
|
*/
|
||||||
|
attributes?: Array<BarcodeTemplateAttributeSchema> | null;
|
||||||
|
/**
|
||||||
|
* Isdefault
|
||||||
|
*/
|
||||||
|
isDefault?: boolean | null;
|
||||||
|
size?: BarcodeTemplateSizeSchema | null;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* UpdateBoardRequest
|
* UpdateBoardRequest
|
||||||
*/
|
*/
|
||||||
@ -2181,6 +2357,148 @@ export type GetStatusHistoryResponses = {
|
|||||||
export type GetStatusHistoryResponse2 =
|
export type GetStatusHistoryResponse2 =
|
||||||
GetStatusHistoryResponses[keyof GetStatusHistoryResponses];
|
GetStatusHistoryResponses[keyof GetStatusHistoryResponses];
|
||||||
|
|
||||||
|
export type GetBarcodeTemplatesData = {
|
||||||
|
body?: never;
|
||||||
|
path?: never;
|
||||||
|
query?: never;
|
||||||
|
url: "/modules/fulfillment-base/barcode-template/";
|
||||||
|
};
|
||||||
|
|
||||||
|
export type GetBarcodeTemplatesResponses = {
|
||||||
|
/**
|
||||||
|
* Successful Response
|
||||||
|
*/
|
||||||
|
200: GetBarcodeTemplatesResponse;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type GetBarcodeTemplatesResponse2 =
|
||||||
|
GetBarcodeTemplatesResponses[keyof GetBarcodeTemplatesResponses];
|
||||||
|
|
||||||
|
export type CreateBarcodeTemplateData = {
|
||||||
|
body: CreateBarcodeTemplateRequest;
|
||||||
|
path?: never;
|
||||||
|
query?: never;
|
||||||
|
url: "/modules/fulfillment-base/barcode-template/";
|
||||||
|
};
|
||||||
|
|
||||||
|
export type CreateBarcodeTemplateErrors = {
|
||||||
|
/**
|
||||||
|
* Validation Error
|
||||||
|
*/
|
||||||
|
422: HttpValidationError;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type CreateBarcodeTemplateError =
|
||||||
|
CreateBarcodeTemplateErrors[keyof CreateBarcodeTemplateErrors];
|
||||||
|
|
||||||
|
export type CreateBarcodeTemplateResponses = {
|
||||||
|
/**
|
||||||
|
* Successful Response
|
||||||
|
*/
|
||||||
|
200: CreateBarcodeTemplateResponse;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type CreateBarcodeTemplateResponse2 =
|
||||||
|
CreateBarcodeTemplateResponses[keyof CreateBarcodeTemplateResponses];
|
||||||
|
|
||||||
|
export type DeleteBarcodeTemplateData = {
|
||||||
|
body?: never;
|
||||||
|
path: {
|
||||||
|
/**
|
||||||
|
* Pk
|
||||||
|
*/
|
||||||
|
pk: number;
|
||||||
|
};
|
||||||
|
query?: never;
|
||||||
|
url: "/modules/fulfillment-base/barcode-template/{pk}";
|
||||||
|
};
|
||||||
|
|
||||||
|
export type DeleteBarcodeTemplateErrors = {
|
||||||
|
/**
|
||||||
|
* Validation Error
|
||||||
|
*/
|
||||||
|
422: HttpValidationError;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type DeleteBarcodeTemplateError =
|
||||||
|
DeleteBarcodeTemplateErrors[keyof DeleteBarcodeTemplateErrors];
|
||||||
|
|
||||||
|
export type DeleteBarcodeTemplateResponses = {
|
||||||
|
/**
|
||||||
|
* Successful Response
|
||||||
|
*/
|
||||||
|
200: DeleteBarcodeTemplateResponse;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type DeleteBarcodeTemplateResponse2 =
|
||||||
|
DeleteBarcodeTemplateResponses[keyof DeleteBarcodeTemplateResponses];
|
||||||
|
|
||||||
|
export type UpdateBarcodeTemplateData = {
|
||||||
|
body: UpdateBarcodeTemplateRequest;
|
||||||
|
path: {
|
||||||
|
/**
|
||||||
|
* Pk
|
||||||
|
*/
|
||||||
|
pk: number;
|
||||||
|
};
|
||||||
|
query?: never;
|
||||||
|
url: "/modules/fulfillment-base/barcode-template/{pk}";
|
||||||
|
};
|
||||||
|
|
||||||
|
export type UpdateBarcodeTemplateErrors = {
|
||||||
|
/**
|
||||||
|
* Validation Error
|
||||||
|
*/
|
||||||
|
422: HttpValidationError;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type UpdateBarcodeTemplateError =
|
||||||
|
UpdateBarcodeTemplateErrors[keyof UpdateBarcodeTemplateErrors];
|
||||||
|
|
||||||
|
export type UpdateBarcodeTemplateResponses = {
|
||||||
|
/**
|
||||||
|
* Successful Response
|
||||||
|
*/
|
||||||
|
200: UpdateBarcodeTemplateResponse;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type UpdateBarcodeTemplateResponse2 =
|
||||||
|
UpdateBarcodeTemplateResponses[keyof UpdateBarcodeTemplateResponses];
|
||||||
|
|
||||||
|
export type GetBarcodeTemplateAttributesData = {
|
||||||
|
body?: never;
|
||||||
|
path?: never;
|
||||||
|
query?: never;
|
||||||
|
url: "/modules/fulfillment-base/barcode-template/attributes";
|
||||||
|
};
|
||||||
|
|
||||||
|
export type GetBarcodeTemplateAttributesResponses = {
|
||||||
|
/**
|
||||||
|
* Successful Response
|
||||||
|
*/
|
||||||
|
200: GetBarcodeAttributesResponse;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type GetBarcodeTemplateAttributesResponse =
|
||||||
|
GetBarcodeTemplateAttributesResponses[keyof GetBarcodeTemplateAttributesResponses];
|
||||||
|
|
||||||
|
export type GetBarcodeTemplateSizesData = {
|
||||||
|
body?: never;
|
||||||
|
path?: never;
|
||||||
|
query?: never;
|
||||||
|
url: "/modules/fulfillment-base/barcode-template/sizes";
|
||||||
|
};
|
||||||
|
|
||||||
|
export type GetBarcodeTemplateSizesResponses = {
|
||||||
|
/**
|
||||||
|
* Successful Response
|
||||||
|
*/
|
||||||
|
200: GetBarcodeTemplateSizesResponse;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type GetBarcodeTemplateSizesResponse2 =
|
||||||
|
GetBarcodeTemplateSizesResponses[keyof GetBarcodeTemplateSizesResponses];
|
||||||
|
|
||||||
export type GetDealProductsData = {
|
export type GetDealProductsData = {
|
||||||
body?: never;
|
body?: never;
|
||||||
path: {
|
path: {
|
||||||
|
|||||||
@ -2,6 +2,36 @@
|
|||||||
|
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BarcodeTemplateAttributeSchema
|
||||||
|
*/
|
||||||
|
export const zBarcodeTemplateAttributeSchema = z.object({
|
||||||
|
id: z.int(),
|
||||||
|
key: z.string(),
|
||||||
|
name: z.string(),
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BarcodeTemplateSizeSchema
|
||||||
|
*/
|
||||||
|
export const zBarcodeTemplateSizeSchema = z.object({
|
||||||
|
id: z.int(),
|
||||||
|
name: z.string(),
|
||||||
|
width: z.int(),
|
||||||
|
height: z.int(),
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BarcodeTemplateSchema
|
||||||
|
*/
|
||||||
|
export const zBarcodeTemplateSchema = z.object({
|
||||||
|
name: z.string(),
|
||||||
|
attributes: z.array(zBarcodeTemplateAttributeSchema),
|
||||||
|
isDefault: z.boolean(),
|
||||||
|
size: zBarcodeTemplateSizeSchema,
|
||||||
|
id: z.int(),
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BoardSchema
|
* BoardSchema
|
||||||
*/
|
*/
|
||||||
@ -59,6 +89,31 @@ export const zBuiltInModuleSchemaOutput = z.object({
|
|||||||
tabs: z.array(zBuiltInModuleTabSchema),
|
tabs: z.array(zBuiltInModuleTabSchema),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CreateBarcodeTemplateSchema
|
||||||
|
*/
|
||||||
|
export const zCreateBarcodeTemplateSchema = z.object({
|
||||||
|
name: z.string(),
|
||||||
|
attributes: z.array(zBarcodeTemplateAttributeSchema),
|
||||||
|
isDefault: z.boolean(),
|
||||||
|
size: zBarcodeTemplateSizeSchema,
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CreateBarcodeTemplateRequest
|
||||||
|
*/
|
||||||
|
export const zCreateBarcodeTemplateRequest = z.object({
|
||||||
|
entity: zCreateBarcodeTemplateSchema,
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CreateBarcodeTemplateResponse
|
||||||
|
*/
|
||||||
|
export const zCreateBarcodeTemplateResponse = z.object({
|
||||||
|
message: z.string(),
|
||||||
|
entity: zBarcodeTemplateSchema,
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CreateBoardSchema
|
* CreateBoardSchema
|
||||||
*/
|
*/
|
||||||
@ -494,6 +549,13 @@ export const zDealProductAddKitResponse = z.object({
|
|||||||
message: z.string(),
|
message: z.string(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DeleteBarcodeTemplateResponse
|
||||||
|
*/
|
||||||
|
export const zDeleteBarcodeTemplateResponse = z.object({
|
||||||
|
message: z.string(),
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DeleteBoardResponse
|
* DeleteBoardResponse
|
||||||
*/
|
*/
|
||||||
@ -578,6 +640,27 @@ export const zGetAllBuiltInModulesResponse = z.object({
|
|||||||
items: z.array(zBuiltInModuleSchemaOutput),
|
items: z.array(zBuiltInModuleSchemaOutput),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GetBarcodeAttributesResponse
|
||||||
|
*/
|
||||||
|
export const zGetBarcodeAttributesResponse = z.object({
|
||||||
|
items: z.array(zBarcodeTemplateAttributeSchema),
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GetBarcodeTemplateSizesResponse
|
||||||
|
*/
|
||||||
|
export const zGetBarcodeTemplateSizesResponse = z.object({
|
||||||
|
items: z.array(zBarcodeTemplateSizeSchema),
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GetBarcodeTemplatesResponse
|
||||||
|
*/
|
||||||
|
export const zGetBarcodeTemplatesResponse = z.object({
|
||||||
|
items: z.array(zBarcodeTemplateSchema),
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GetBoardsResponse
|
* GetBoardsResponse
|
||||||
*/
|
*/
|
||||||
@ -720,6 +803,32 @@ export const zProductServicesDuplicateResponse = z.object({
|
|||||||
|
|
||||||
export const zSortDir = z.enum(["asc", "desc"]);
|
export const zSortDir = z.enum(["asc", "desc"]);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UpdateBarcodeTemplateSchema
|
||||||
|
*/
|
||||||
|
export const zUpdateBarcodeTemplateSchema = z.object({
|
||||||
|
name: z.optional(z.union([z.string(), z.null()])),
|
||||||
|
attributes: z.optional(
|
||||||
|
z.union([z.array(zBarcodeTemplateAttributeSchema), z.null()])
|
||||||
|
),
|
||||||
|
isDefault: z.optional(z.union([z.boolean(), z.null()])),
|
||||||
|
size: z.optional(z.union([zBarcodeTemplateSizeSchema, z.null()])),
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UpdateBarcodeTemplateRequest
|
||||||
|
*/
|
||||||
|
export const zUpdateBarcodeTemplateRequest = z.object({
|
||||||
|
entity: zUpdateBarcodeTemplateSchema,
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UpdateBarcodeTemplateResponse
|
||||||
|
*/
|
||||||
|
export const zUpdateBarcodeTemplateResponse = z.object({
|
||||||
|
message: z.string(),
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* UpdateBoardSchema
|
* UpdateBoardSchema
|
||||||
*/
|
*/
|
||||||
@ -1214,6 +1323,78 @@ export const zGetStatusHistoryData = z.object({
|
|||||||
*/
|
*/
|
||||||
export const zGetStatusHistoryResponse2 = zGetStatusHistoryResponse;
|
export const zGetStatusHistoryResponse2 = zGetStatusHistoryResponse;
|
||||||
|
|
||||||
|
export const zGetBarcodeTemplatesData = z.object({
|
||||||
|
body: z.optional(z.never()),
|
||||||
|
path: z.optional(z.never()),
|
||||||
|
query: z.optional(z.never()),
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Successful Response
|
||||||
|
*/
|
||||||
|
export const zGetBarcodeTemplatesResponse2 = zGetBarcodeTemplatesResponse;
|
||||||
|
|
||||||
|
export const zCreateBarcodeTemplateData = z.object({
|
||||||
|
body: zCreateBarcodeTemplateRequest,
|
||||||
|
path: z.optional(z.never()),
|
||||||
|
query: z.optional(z.never()),
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Successful Response
|
||||||
|
*/
|
||||||
|
export const zCreateBarcodeTemplateResponse2 = zCreateBarcodeTemplateResponse;
|
||||||
|
|
||||||
|
export const zDeleteBarcodeTemplateData = z.object({
|
||||||
|
body: z.optional(z.never()),
|
||||||
|
path: z.object({
|
||||||
|
pk: z.int(),
|
||||||
|
}),
|
||||||
|
query: z.optional(z.never()),
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Successful Response
|
||||||
|
*/
|
||||||
|
export const zDeleteBarcodeTemplateResponse2 = zDeleteBarcodeTemplateResponse;
|
||||||
|
|
||||||
|
export const zUpdateBarcodeTemplateData = z.object({
|
||||||
|
body: zUpdateBarcodeTemplateRequest,
|
||||||
|
path: z.object({
|
||||||
|
pk: z.int(),
|
||||||
|
}),
|
||||||
|
query: z.optional(z.never()),
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Successful Response
|
||||||
|
*/
|
||||||
|
export const zUpdateBarcodeTemplateResponse2 = zUpdateBarcodeTemplateResponse;
|
||||||
|
|
||||||
|
export const zGetBarcodeTemplateAttributesData = z.object({
|
||||||
|
body: z.optional(z.never()),
|
||||||
|
path: z.optional(z.never()),
|
||||||
|
query: z.optional(z.never()),
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Successful Response
|
||||||
|
*/
|
||||||
|
export const zGetBarcodeTemplateAttributesResponse =
|
||||||
|
zGetBarcodeAttributesResponse;
|
||||||
|
|
||||||
|
export const zGetBarcodeTemplateSizesData = z.object({
|
||||||
|
body: z.optional(z.never()),
|
||||||
|
path: z.optional(z.never()),
|
||||||
|
query: z.optional(z.never()),
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Successful Response
|
||||||
|
*/
|
||||||
|
export const zGetBarcodeTemplateSizesResponse2 =
|
||||||
|
zGetBarcodeTemplateSizesResponse;
|
||||||
|
|
||||||
export const zGetDealProductsData = z.object({
|
export const zGetDealProductsData = z.object({
|
||||||
body: z.optional(z.never()),
|
body: z.optional(z.never()),
|
||||||
path: z.object({
|
path: z.object({
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import {
|
|||||||
ProductServiceEditorModal,
|
ProductServiceEditorModal,
|
||||||
ServicesKitSelectModal,
|
ServicesKitSelectModal,
|
||||||
} from "@/modules/dealModularEditorTabs/FulfillmentBase/shared/modals";
|
} from "@/modules/dealModularEditorTabs/FulfillmentBase/shared/modals";
|
||||||
|
import BarcodeTemplateEditorModal from "@/app/barcode-templates/modals/BarcodeTemplateFormModal/BarcodeTemplateEditorModal";
|
||||||
|
|
||||||
export const modals = {
|
export const modals = {
|
||||||
enterNameModal: EnterNameModal,
|
enterNameModal: EnterNameModal,
|
||||||
@ -26,4 +27,5 @@ export const modals = {
|
|||||||
servicesKitEditorModal: ServicesKitEditorModal,
|
servicesKitEditorModal: ServicesKitEditorModal,
|
||||||
serviceCategoryEditorModal: ServiceCategoryEditorModal,
|
serviceCategoryEditorModal: ServiceCategoryEditorModal,
|
||||||
serviceEditorModal: ServiceEditorModal,
|
serviceEditorModal: ServiceEditorModal,
|
||||||
|
barcodeTemplateEditorModal: BarcodeTemplateEditorModal,
|
||||||
};
|
};
|
||||||
|
|||||||
10
yarn.lock
10
yarn.lock
@ -5128,14 +5128,14 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"axios@npm:^1.11.0":
|
"axios@npm:1.12.0":
|
||||||
version: 1.11.0
|
version: 1.12.0
|
||||||
resolution: "axios@npm:1.11.0"
|
resolution: "axios@npm:1.12.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
follow-redirects: "npm:^1.15.6"
|
follow-redirects: "npm:^1.15.6"
|
||||||
form-data: "npm:^4.0.4"
|
form-data: "npm:^4.0.4"
|
||||||
proxy-from-env: "npm:^1.1.0"
|
proxy-from-env: "npm:^1.1.0"
|
||||||
checksum: 10c0/5de273d33d43058610e4d252f0963cc4f10714da0bfe872e8ef2cbc23c2c999acc300fd357b6bce0fc84a2ca9bd45740fa6bb28199ce2c1266c8b1a393f2b36e
|
checksum: 10c0/44a1e4cfb69a2d59aa12bbc441a336e5c18e87c02b904c509fd33607d94e8cb8cc221c17e9d53f67841a4efe13abf1aa1497c85df390cdb8681ee723998d11b0
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -6179,7 +6179,7 @@ __metadata:
|
|||||||
"@types/redux-persist": "npm:^4.3.1"
|
"@types/redux-persist": "npm:^4.3.1"
|
||||||
"@types/slick-carousel": "npm:^1"
|
"@types/slick-carousel": "npm:^1"
|
||||||
autoprefixer: "npm:^10.4.21"
|
autoprefixer: "npm:^10.4.21"
|
||||||
axios: "npm:^1.11.0"
|
axios: "npm:1.12.0"
|
||||||
babel-loader: "npm:^10.0.0"
|
babel-loader: "npm:^10.0.0"
|
||||||
classnames: "npm:^2.5.1"
|
classnames: "npm:^2.5.1"
|
||||||
clsx: "npm:^2.1.1"
|
clsx: "npm:^2.1.1"
|
||||||
|
|||||||
Reference in New Issue
Block a user