https://dev.kronoz.win/r/marzneshin.git
1import { useQuery } from "@tanstack/react-query";
2import { fetch } from "@marzneshin/utils";
3import { AdminType } from "@marzneshin/features/admins";
4import {
5 FetchEntityReturn,
6 UseEntityQueryProps,
7 EntityQueryKeyType
8} from "@marzneshin/features/entity-table";
9
10export async function fetchAdmins({ queryKey }: EntityQueryKeyType): FetchEntityReturn<AdminType> {
11 return fetch(`/admins`, {
12 query: {
13 page: queryKey[1],
14 size: queryKey[2],
15 username: queryKey[3],
16 }
17 }).then((result) => {
18 return {
19 entity: result.items,
20 pageCount: result.pages
21 };
22 });
23}
24
25export const AdminsQueryFetchKey = "users";
26
27export const useAdminsQuery = ({
28 page, size, search = ""
29}: UseEntityQueryProps) => {
30 return useQuery({
31 queryKey: [AdminsQueryFetchKey, page, size, search],
32 queryFn: fetchAdmins,
33 initialData: { entity: [], pageCount: 0 }
34 })
35}