gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/entity-table/hooks/use-entity-query.ts · v0.5.5
Source
1 578311c Mrdn 2y ago
2 65bbe9d Mardin 2y ago interface PaginatedEntityQueryProps {
3 65bbe9d Mardin 2y ago page: number;
4 65bbe9d Mardin 2y ago size: number;
5 65bbe9d Mardin 2y ago }
6 65bbe9d Mardin 2y ago
7 65bbe9d Mardin 2y ago export type FilteredEntityType = {
8 65bbe9d Mardin 2y ago [key: string]: string | undefined;
9 65bbe9d Mardin 2y ago }
10 578311c Mrdn 2y ago
11 65bbe9d Mardin 2y ago export interface SortedEntityQueryProps {
12 cfe497c Mrdn 2y ago sortBy: string
13 cfe497c Mrdn 2y ago desc: boolean
14 cfe497c Mrdn 2y ago }
15 cfe497c Mrdn 2y ago
16 65bbe9d Mardin 2y ago interface FiltersEntityQueryProps {
17 65bbe9d Mardin 2y ago filters: FilteredEntityType;
18 65bbe9d Mardin 2y ago }
19 65bbe9d Mardin 2y ago
20 65bbe9d Mardin 2y ago export type UseEntityQueryProps = Partial<FiltersEntityQueryProps> & PaginatedEntityQueryProps & Partial<SortedEntityQueryProps>
21 65bbe9d Mardin 2y ago
22 65bbe9d Mardin 2y ago export type EntityName = string;
23 65bbe9d Mardin 2y ago export type EntityId = number | string | undefined;
24 65bbe9d Mardin 2y ago export type PrimaryFilter = string;
25 cfe497c Mrdn 2y ago
26 4cebd65 Mardin 2y ago export type QueryKey =
27 65bbe9d Mardin 2y ago [EntityName, PaginatedEntityQueryProps, PrimaryFilter, SortedEntityQueryProps, FiltersEntityQueryProps]
28 65bbe9d Mardin 2y ago
29 4cebd65 Mardin 2y ago export type SidebarQueryKey =
30 65bbe9d Mardin 2y ago [EntityName, EntityId, EntityName, PaginatedEntityQueryProps, PrimaryFilter, SortedEntityQueryProps, FiltersEntityQueryProps]
31 cfe497c Mrdn 2y ago
32 cfe497c Mrdn 2y ago export interface QueryKeyType<QT> {
33 cfe497c Mrdn 2y ago queryKey: QT
34 cfe497c Mrdn 2y ago }
35 578311c Mrdn 2y ago
36 65bbe9d Mardin 2y ago export type EntityQueryKeyType = QueryKeyType<QueryKey>
37 65bbe9d Mardin 2y ago export type EntitySidebarQueryKeyType = QueryKeyType<SidebarQueryKey>
38 578311c Mrdn 2y ago
39 578311c Mrdn 2y ago interface FetchEntityResult<T> {
40 578311c Mrdn 2y ago pageCount: number
41 578311c Mrdn 2y ago entity: T[]
42 578311c Mrdn 2y ago }
43 578311c Mrdn 2y ago
44 578311c Mrdn 2y ago export type FetchEntityReturn<T> = Promise<FetchEntityResult<T>>