gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/modules/admins/api/admin.query.ts · v0.6.5
Source
1 4708fcb Dawsh 2y ago import { queryOptions, useQuery } from "@tanstack/react-query";
2 d636f3f Dawsh 2y ago import { fetch } from "@marzneshin/common/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 });
18 4708fcb Dawsh 2y ago };
19 4708fcb Dawsh 2y ago
20 4708fcb Dawsh 2y ago export const useAdminQuery = ({ username }: { username: string }) => {
21 4708fcb Dawsh 2y ago return useQuery({
22 4708fcb Dawsh 2y ago queryKey: [AdminQueryFetchKey, username],
23 4708fcb Dawsh 2y ago queryFn: fetchAdmin,
24 4708fcb Dawsh 2y ago initialData: null,
25 4708fcb Dawsh 2y ago });
26 4708fcb Dawsh 2y ago };