feat: API for getting single api service

This commit is contained in:
2025-05-31 17:58:56 +02:00
parent 944c650ab3
commit 485cfc2d12
2 changed files with 32 additions and 0 deletions

View File

@ -44,3 +44,14 @@ export const postApiService = async (
return response.data;
};
export const getApiService = async (id: string): Promise<ApiService> => {
const response = await axios.get<ApiService>(
`/api/v1/admin/api-services/${id}`,
);
if (response.status !== 200 && response.status !== 201)
throw await handleApiError(response);
return response.data;
};

View File

@ -1,4 +1,5 @@
import {
getApiService,
getApiServices,
postApiService,
type CreateApiServiceRequest,
@ -13,7 +14,11 @@ interface IAdminState {
createdCredentials: ApiServiceCredentials | null;
creatingApiService: boolean;
viewApiService: ApiService | null;
fetchingApiService: boolean;
fetchApiServices: () => Promise<void>;
fetchApiService: (id: string) => Promise<void>;
createApiService: (req: CreateApiServiceRequest) => Promise<void>;
resetCredentials: () => void;
}
@ -25,6 +30,9 @@ export const useAdmin = create<IAdminState>((set) => ({
createdCredentials: null,
creatingApiService: false,
viewApiService: null,
fetchingApiService: false,
resetCredentials: () => set({ createdCredentials: null }),
fetchApiServices: async () => {
@ -40,6 +48,19 @@ export const useAdmin = create<IAdminState>((set) => ({
}
},
fetchApiService: async (id: string) => {
set({ fetchingApiService: true });
try {
const response = await getApiService(id);
set({ viewApiService: response });
} catch (err) {
console.log("ERR: Failed to fetch services:", err);
} finally {
set({ fetchingApiService: false });
}
},
createApiService: async (req: CreateApiServiceRequest) => {
set({ creatingApiService: true });