gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/modules/users/api/queries/user.query.ts · v0.6.3
Source
1 d377c4c Dawsh 2y ago import { queryOptions, useQuery } from "@tanstack/react-query";
2 d636f3f Dawsh 2y ago import { fetch } from "@marzneshin/common/utils";
3 e6e6467 Dawsh 2y ago import type { UserType } from "@marzneshin/modules/users";
4 03b3dbc Mardin 2y ago
5 03b3dbc Mardin 2y ago export async function fetchUser({
6 03b3dbc Mardin 2y ago queryKey,
7 03b3dbc Mardin 2y ago }: { queryKey: [string, string] }): Promise<UserType> {
8 03b3dbc Mardin 2y ago return fetch(`/users/${queryKey[1]}`);
9 03b3dbc Mardin 2y ago }
10 03b3dbc Mardin 2y ago
11 03b3dbc Mardin 2y ago export const UserQueryFetchKey = "users";
12 03b3dbc Mardin 2y ago
13 d377c4c Dawsh 2y ago export const userQueryOptions = ({ username }: { username: string }) => {
14 d377c4c Dawsh 2y ago return queryOptions({
15 d377c4c Dawsh 2y ago queryKey: [UserQueryFetchKey, username],
16 d377c4c Dawsh 2y ago queryFn: fetchUser,
17 d377c4c Dawsh 2y ago });
18 d377c4c Dawsh 2y ago };
19 d377c4c Dawsh 2y ago
20 03b3dbc Mardin 2y ago export const useUserQuery = ({ username }: { username: string }) => {
21 7738ec1 Mardin 2y ago return useQuery(userQueryOptions({ username }));
22 03b3dbc Mardin 2y ago };