Source

apis/Announcements.js

import { useMutation, useQuery } from "@tanstack/react-query";
import Axios from "../utils/ApiConfiguration";
/**
 * Custom hook for fetching announcements.
 *
 * @returns {object} Query result for announcements.
 */
export const useGetAnnouncements = () =>
  useQuery({
    queryKey: ["announcements"],
    queryFn: () => Axios.get("announcement/"),
    refetchOnWindowFocus: false,
  });
/**
 * Custom hook for fetching a single announcement by ID.
 *
 * @param {number} id - The ID of the announcement to fetch.
 * @returns {object} Query result for a single announcement.
 */
export const useGetSingleAnnouncements = (id) =>
  useQuery({
    queryKey: ["single_announcement", id],
    queryFn: () => Axios.get(`announcement/${id}/`),
    refetchOnWindowFocus: false,
  });