import { apiInstance } from "@/shared/config/apiConfig"; import { IFetch } from "@/shared/types/fetch-type"; import { ITendersList } from "@/shared/types/tenders-type"; import { AxiosError } from "axios"; import { create } from "zustand"; interface useTendersStore extends IFetch { data: ITendersList; getTenders: (ordering: number) => void; } export const useTendersStore = create((set) => ({ data: { count: 0, previous: null, next: null, results: [], }, error: "", isLoading: false, getTenders: async (ordering: number) => { try { set({ isLoading: true }); const res = await apiInstance.get( `/procurements/?ordering=${ordering}/?limit=${10}/` ); set({ data: res.data }); } catch (error: unknown) { if (error instanceof AxiosError) { set({ error: error.message }); } else { set({ error: "An error occured" }); } } finally { set({ isLoading: false }); } }, }));