feat: store toggle active api service

This commit is contained in:
2025-06-03 00:05:43 +02:00
parent 4b7396c210
commit 0d8a3b1b39

View File

@ -1,6 +1,7 @@
import { import {
getApiService, getApiService,
getApiServices, getApiServices,
patchToggleApiService,
postApiService, postApiService,
type CreateApiServiceRequest, type CreateApiServiceRequest,
} from "@/api/admin/apiServices"; } from "@/api/admin/apiServices";
@ -21,9 +22,12 @@ interface IAdminState {
fetchApiService: (id: string) => Promise<void>; fetchApiService: (id: string) => Promise<void>;
createApiService: (req: CreateApiServiceRequest) => Promise<void>; createApiService: (req: CreateApiServiceRequest) => Promise<void>;
resetCredentials: () => void; resetCredentials: () => void;
togglingApiService: boolean;
toggleApiService: (id: string) => Promise<void>;
} }
export const useAdmin = create<IAdminState>((set) => ({ export const useAdmin = create<IAdminState>((set, get) => ({
apiServices: [], apiServices: [],
loadingApiServices: false, loadingApiServices: false,
@ -33,6 +37,8 @@ export const useAdmin = create<IAdminState>((set) => ({
viewApiService: null, viewApiService: null,
fetchingApiService: false, fetchingApiService: false,
togglingApiService: false,
resetCredentials: () => set({ createdCredentials: null }), resetCredentials: () => set({ createdCredentials: null }),
fetchApiServices: async () => { fetchApiServices: async () => {
@ -61,6 +67,19 @@ export const useAdmin = create<IAdminState>((set) => ({
} }
}, },
toggleApiService: async (id) => {
set({ togglingApiService: true });
try {
await patchToggleApiService(id);
get().fetchApiService(id);
} catch (err) {
console.log("ERR: Failed to toggle service:", err);
} finally {
set({ togglingApiService: false });
}
},
createApiService: async (req: CreateApiServiceRequest) => { createApiService: async (req: CreateApiServiceRequest) => {
set({ creatingApiService: true }); set({ creatingApiService: true });