feat(web/m7-cover-sources): cover-providers API client + query
Adds CoverProvider type + capability union, getCoverProviders / updateCoverProvider / testCoverProvider against the three new admin endpoints, plus createCoverProvidersQuery (60s staleTime; refetches on focus + after mutations rather than polling — settings rarely change in operator time). New api.patch helper added to client.ts (the existing helpers were get/post/put/del; PATCH was missing). New qk.coverProviders() key follows the existing tuple pattern. api_key_set: bool replaces echoing the credential. UpdateCoverProviderPatch uses optional fields so the operator can change just enabled, just key, or both atomically. Vitest covers GET path, PATCH path with body, version_bumped response, POST /test path with empty body, ok=false error response. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,6 +56,8 @@ export const api = {
|
||||
apiFetch(path, { method: 'POST', body: JSON.stringify(body) }) as Promise<T>,
|
||||
put: <T>(path: string, body: unknown): Promise<T> =>
|
||||
apiFetch(path, { method: 'PUT', body: JSON.stringify(body) }) as Promise<T>,
|
||||
patch: <T>(path: string, body: unknown): Promise<T> =>
|
||||
apiFetch(path, { method: 'PATCH', body: JSON.stringify(body) }) as Promise<T>,
|
||||
del: (path: string): Promise<null> =>
|
||||
apiFetch(path, { method: 'DELETE' }) as Promise<null>
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user