Support garage v1 (#31)

* feat: support garage v1
This commit is contained in:
Noste
2026-04-24 09:53:56 +02:00
committed by GitHub
parent b8b4d039ff
commit 390ccd7893
28 changed files with 1683 additions and 169 deletions
+14
View File
@@ -8,6 +8,7 @@ import type {
ClusterHealth,
ClusterStatistics,
ClusterStatus,
GarageCapabilities,
GarageMetrics,
MultiNodeResponse,
MultiNodeStatisticsResponse,
@@ -87,6 +88,11 @@ api.interceptors.response.use(
return Promise.reject(error);
}
// 501 Not Implemented = expected for unsupported Garage version features
if (error.response?.status === 501) {
return Promise.reject(error);
}
// Handle axios errors
if (error.response) {
// Server responded with error status
@@ -167,6 +173,14 @@ export const healthApi = {
},
};
// Capabilities API
export const capabilitiesApi = {
get: async (): Promise<GarageCapabilities> => {
const response = await api.get('/v1/capabilities');
return response.data.data;
},
};
// Bucket API
export const bucketsApi = {
list: async (): Promise<Bucket[]> => {
+4
View File
@@ -40,4 +40,8 @@ export const queryKeys = {
all: ['dashboard'] as const,
metrics: () => [...queryKeys.dashboard.all, 'metrics'] as const,
},
capabilities: {
all: ['capabilities'] as const,
get: () => [...queryKeys.capabilities.all, 'get'] as const,
},
};