diff --git a/web/src/store/admin.ts b/web/src/store/admin.ts new file mode 100644 index 0000000..7d4e853 --- /dev/null +++ b/web/src/store/admin.ts @@ -0,0 +1,28 @@ +import { getApiServices } from "@/api/admin/apiServices"; +import type { ApiService } from "@/types"; +import { create } from "zustand"; + +interface IAdminState { + apiServices: ApiService[]; + loadingApiServices: boolean; + + fetchApiServices: () => Promise; +} + +export const useAdmin = create((set) => ({ + apiServices: [], + loadingApiServices: false, + + fetchApiServices: async () => { + set({ loadingApiServices: true }); + + try { + const response = await getApiServices(); + set({ apiServices: response.items }); + } catch (err) { + console.log("ERR: Failed to fetch services:", err); + } finally { + set({ loadingApiServices: false }); + } + }, +}));