fix: align frontend API types and error handling with backend contracts

- updateRole return type matches backend's {id, role} instead of full AdminUser
- fetchFile error priority aligned with central client (message before error)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
master
oabrivard 3 months ago
parent 54d54f2a06
commit 87338af052

@ -46,6 +46,6 @@ export const adminUsersApi = {
api.get<AdminUser[]>('/admin/users'), api.get<AdminUser[]>('/admin/users'),
/** PUT /admin/users/:id/role -- promote or demote a user (admin/user). */ /** PUT /admin/users/:id/role -- promote or demote a user (admin/user). */
updateRole: (id: string, data: UpdateUserRoleRequest): Promise<AdminUser> => updateRole: (id: string, data: UpdateUserRoleRequest): Promise<{ id: string; role: string }> =>
api.put<AdminUser>(`/admin/users/${id}/role`, data), api.put<{ id: string; role: string }>(`/admin/users/${id}/role`, data),
}; };

@ -50,7 +50,7 @@ export async function fetchFile(path: string): Promise<Response> {
const errorBody = await response.json().catch(() => ({ error: 'Unknown error' })); const errorBody = await response.json().catch(() => ({ error: 'Unknown error' }));
throw { throw {
status: response.status, status: response.status,
message: errorBody.error || errorBody.message || `HTTP ${response.status}`, message: errorBody.message || errorBody.error || `HTTP ${response.status}`,
}; };
} }

Loading…
Cancel
Save