All files / src/helpers/hooks useGetReleases.ts

100% Statements 6/6
0% Branches 0/1
100% Functions 3/3
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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    2x 3x             3x     2x 12x   3x                
import { useQuery } from "react-query";
 
const fetchReleases = async (query: string | undefined, page: number = 1): Promise<Releases> => {
    const response = await fetch(
        `${process.env.REACT_APP_BASE_URL}/database/search?q=${query}&type=release&page=${page}&per_page=20`,
        {
            headers: {
                "Authorization": `Discogs token=${process.env.REACT_APP_DISCOGS_TOKEN}`
            }
        });
    return response.json();
}
 
const useGetReleases = (query: string | undefined, page: number) => {
    return useQuery(
        ["allReleases", query, page],
        () => fetchReleases(query, page),
        {
            keepPreviousData: true, // Will be used for smooth pagination
            enabled: typeof query === "string"
        }
    );
}
 
export default useGetReleases;