fix(books): correct book detail routes found while porting to Android

Fix the server gaps found while porting book detail actions to Android,
checked against the iOS app:

- audit: record a metadata refresh only when it writes; a preview,
  which every editor lookup takes, was logged as "Refreshed metadata"
- personal note: leave the note alone when the body has no note key,
  as the other partial routes do; null still clears it, and the web
  and every iOS build send the key
- covers: answer re-extract-cover with 409 when every slot it would
  write is locked, as the other cover writes do, instead of an empty
  count a client cannot tell from a file with no art
- types: describe the cover search response as the bare array the
  route returns
This commit is contained in:
neon
2026-10-13 18:31:28 +00:00
parent 198d36ae56
commit 248856caf2
8 changed files with 153 additions and 17 deletions
+2 -4
View File
@@ -478,7 +478,5 @@ export type CoverSearchResult = {
source: string;
};
export type CoverSearchResponse = {
results: CoverSearchResult[];
total: number;
};
/** `GET /books/cover/search` answers with a bare array of results, not an envelope. */
export type CoverSearchResponse = CoverSearchResult[];