gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/admins/services/admin.query.ts · v0.5.5
Source
1 4708fcb Dawsh 2y ago import { queryOptions, useQuery } from "@tanstack/react-query";
2 4708fcb Dawsh 2y ago import { fetch } from "@marzneshin/utils";
3 4708fcb Dawsh 2y ago import type { AdminType } from "../types";
4 4708fcb Dawsh 2y ago
5 4708fcb Dawsh 2y ago export async function fetchAdmin({
6 4708fcb Dawsh 2y ago queryKey,
7 4708fcb Dawsh 2y ago }: { queryKey: [string, string] }): Promise<AdminType> {
8 4708fcb Dawsh 2y ago return fetch(`/admins/${queryKey[1]}`);
9 4708fcb Dawsh 2y ago }
10 4708fcb Dawsh 2y ago
11 4708fcb Dawsh 2y ago export const AdminQueryFetchKey = "admins";
12 4708fcb Dawsh 2y ago
13 4708fcb Dawsh 2y ago export const adminQueryOptions = ({ username }: { username: string }) => {
14 4708fcb Dawsh 2y ago return queryOptions({
15 4708fcb Dawsh 2y ago queryKey: [AdminQueryFetchKey, username],
16 4708fcb Dawsh 2y ago queryFn: fetchAdmin,
17 4708fcb Dawsh 2y ago initialData: null,
18 4708fcb Dawsh 2y ago });
19 4708fcb Dawsh 2y ago };
20 4708fcb Dawsh 2y ago
21 4708fcb Dawsh 2y ago export const useAdminQuery = ({ username }: { username: string }) => {
22 4708fcb Dawsh 2y ago return useQuery({
23 4708fcb Dawsh 2y ago queryKey: [AdminQueryFetchKey, username],
24 4708fcb Dawsh 2y ago queryFn: fetchAdmin,
25 4708fcb Dawsh 2y ago initialData: null,
26 4708fcb Dawsh 2y ago });
27 4708fcb Dawsh 2y ago };