* Fetch storage info from API
(signal?: AbortSignal)
| 246 | * Fetch storage info from API |
| 247 | */ |
| 248 | async function fetchStorageInfo(signal?: AbortSignal): Promise<StorageInfo | null> { |
| 249 | try { |
| 250 | const data = await requestJson(getUsageLimitsContract, { signal }) |
| 251 | |
| 252 | if (data.success && data.storage) { |
| 253 | return { |
| 254 | usedBytes: data.storage.usedBytes, |
| 255 | limitBytes: data.storage.limitBytes, |
| 256 | percentUsed: data.storage.percentUsed, |
| 257 | plan: data.usage?.plan || 'free', |
| 258 | } |
| 259 | } |
| 260 | |
| 261 | return null |
| 262 | } catch (error) { |
| 263 | if (isApiClientError(error) && error.status === 404) { |
| 264 | return null |
| 265 | } |
| 266 | throw error |
| 267 | } |
| 268 | } |
| 269 | |
| 270 | /** |
| 271 | * Hook to fetch storage info |
no test coverage detected