forked from
rocksky.app/rocksky
A decentralized music tracking and discovery platform built on AT Protocol 馃幍
1import { useQuery } from "@tanstack/react-query";
2import { client } from "../api";
3import { getFile, getFiles, getTemporaryLink } from "../api/dropbox";
4
5export const useFilesQuery = (id?: string) =>
6 useQuery({
7 queryKey: ["dropbox", "files", id],
8 queryFn: () => getFiles(id),
9 });
10
11export const useFileQuery = (id: string) =>
12 useQuery({
13 queryKey: ["dropbox", "file", id],
14 queryFn: () => getFile(id),
15 });
16
17export const useTemporaryLinkQuery = (id: string) =>
18 useQuery({
19 queryKey: ["dropbox", "temporary-link", id],
20 queryFn: () => getTemporaryLink(id),
21 });
22
23function useDropbox() {
24 const getTemporaryLink = async (id: string) => {
25 const response = await client.get<{
26 link: string;
27 }>(`/dropbox/temporary-link`, {
28 headers: {
29 Authorization: `Bearer ${localStorage.getItem("token")}`,
30 },
31 params: {
32 path: id,
33 },
34 });
35 return response.data;
36 };
37
38 return {
39 getTemporaryLink,
40 };
41}
42
43export default useDropbox;