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 {
getApiService,
getApiServices,
patchToggleApiService,
postApiService,
type CreateApiServiceRequest,
} from "@/api/admin/apiServices";
@ -21,9 +22,12 @@ interface IAdminState {
fetchApiService: (id: string) => Promise<void>;
createApiService: (req: CreateApiServiceRequest) => Promise<void>;
resetCredentials: () => void;
togglingApiService: boolean;
toggleApiService: (id: string) => Promise<void>;
}
export const useAdmin = create<IAdminState>((set) => ({
export const useAdmin = create<IAdminState>((set, get) => ({
apiServices: [],
loadingApiServices: false,
@ -33,6 +37,8 @@ export const useAdmin = create<IAdminState>((set) => ({
viewApiService: null,
fetchingApiService: false,
togglingApiService: false,
resetCredentials: () => set({ createdCredentials: null }),
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) => {
set({ creatingApiService: true });