aboutsummaryrefslogtreecommitdiff
path: root/src/components/hooks/queries/useShareTokenQuery.ts
blob: dbad3dcd7e32d354aaad30626fe94e47f60005d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { setShareToken, useApp } from '@/store/app';
import { useApi } from '../useApi';

const selector = (state: { shareToken: string }) => state.shareToken;

export function useShareTokenQuery(shareId: string): {
  shareToken: any;
  isLoading?: boolean;
  error?: Error;
} {
  const shareToken = useApp(selector);
  const { get, useQuery } = useApi();
  const { isLoading, error } = useQuery({
    queryKey: ['share', shareId],
    queryFn: async () => {
      const data = await get(`/share/${shareId}`);

      setShareToken(data);

      return data;
    },
  });

  return { shareToken, isLoading, error };
}