gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/entity-table/hooks/use-entity-query.ts · v0.5.1
Source
1 578311c Mrdn 2y ago import { z } from "zod";
2 578311c Mrdn 2y ago
3 578311c Mrdn 2y ago const UseEntityQueryPropsSchema = z.object({
4 578311c Mrdn 2y ago page: z.number().gte(1),
5 6b38fe9 Mrdn 2y ago size: z.number().gte(1).lte(100),
6 6b38fe9 Mrdn 2y ago search: z.string().optional()
7 578311c Mrdn 2y ago })
8 578311c Mrdn 2y ago
9 cfe497c Mrdn 2y ago export interface SortableEntitySortQueryProps {
10 cfe497c Mrdn 2y ago sortBy: string
11 cfe497c Mrdn 2y ago desc: boolean
12 cfe497c Mrdn 2y ago }
13 cfe497c Mrdn 2y ago
14 cfe497c Mrdn 2y ago export type UseEntityQueryProps = z.infer<typeof UseEntityQueryPropsSchema & SortableEntitySortQueryProps>
15 cfe497c Mrdn 2y ago
16 4cebd65 Mardin 2y ago export type QueryKey =
17 4cebd65 Mardin 2y ago [string, number, number, string]
18 4cebd65 Mardin 2y ago export type SortableQueryKey =
19 4cebd65 Mardin 2y ago [string, number, number, string, string, boolean]
20 4cebd65 Mardin 2y ago export type SidebarQueryKey =
21 4cebd65 Mardin 2y ago [string, number | string | undefined, string, number, number, string]
22 4cebd65 Mardin 2y ago export type SortableSidebarQueryKey =
23 4cebd65 Mardin 2y ago [string, number | string | undefined, string, number, number, string, string, boolean]
24 cfe497c Mrdn 2y ago
25 cfe497c Mrdn 2y ago export interface QueryKeyType<QT> {
26 cfe497c Mrdn 2y ago queryKey: QT
27 cfe497c Mrdn 2y ago }
28 578311c Mrdn 2y ago
29 cfe497c Mrdn 2y ago export type EntityQueryKeyType = QueryKeyType<SortableQueryKey | QueryKey>
30 4cebd65 Mardin 2y ago export type EntitySidebarQueryKeyType = QueryKeyType<SortableSidebarQueryKey | SidebarQueryKey>
31 578311c Mrdn 2y ago
32 578311c Mrdn 2y ago interface FetchEntityResult<T> {
33 578311c Mrdn 2y ago pageCount: number
34 578311c Mrdn 2y ago entity: T[]
35 578311c Mrdn 2y ago }
36 578311c Mrdn 2y ago
37 578311c Mrdn 2y ago export type FetchEntityReturn<T> = Promise<FetchEntityResult<T>>