docs(libraries): Beam WO5 batch 5 — 11 endpoints backfilled + pilot recovery

Beam backfilled 11 library docs (CRUD, folders, visibility, browse, stats,
media-items) and re-attached frontmatter to create_collection.md — which had
silently lost its pilot version in cc893f75: the negative-test
'git checkout --' restored the OLD file because the pilot was never staged,
and a frontmatter-less doc is invisible to the gate. Claude restored the full
corrected pilot content (priority higher-wins, time.String() note, 409).

Claude registry: 11 entries + one inverted catch — DELETE /:id/folders DOES
bind {folder_path} (handler reuses AddLibraryFolderRequest); registry first
draft said bodyless. GET /:id/visibility returns joined
GetUserVisibleLibrariesRow (type_name etc.), not bare Libraries.

Gate-driven merges fixed create/get library response shapes (sqlc row keys:
created_by_admin_id, library_type_id, updated_at; dropped invented type/
folders/is_visible). Fixed invented request fields (user_id in
set-visibility; library_type_id in update). make test 9/9.
This commit is contained in:
John O'Keefe committed 2026-10-24 16:18:48 -04:00
1 parent 6f13dc2b63
commit b77eab7ffd
13 files changed
+223 -121

No files matched your search

@@ -1,3 +1,11 @@
---
method: GET
path: /api/libraries/:id/stats
auth: jwt+admin
area: libraries
---
<!-- source: internal/handlers/library.go:303 LibraryHandler.GetLibraryStats -->
# Get Library Statistics
Get statistics for a specific library.
@@ -26,18 +34,14 @@ Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
## Response (200 OK)
```json
```json example-response
{
"library_id": "uuid",
"total_media_items": 1523,
"total_size_bytes": 5368709120,
"last_scan": "2026-02-08T10:00:00Z",
"formats": {
"epub": 1234,
"kepub": 189,
"mobi": 50,
"pdf": 50
}
"books": null,
"minutes": null,
"name": null,
"pages": null,
"sessions": null
}
```