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:
1 parent
6f13dc2b63
commit
b77eab7ffd
13 files changed
+223
-121
No files matched your search
@@ -511,4 +511,45 @@ var Schemas = map[string]Schema{
|
||||
Request: sync.SaveProgressRequest{},
|
||||
Response: database.ReadingProgress{},
|
||||
},
|
||||
|
||||
// --- Beam batch 5: libraries ---
|
||||
"POST /api/libraries": {
|
||||
Request: handlers.CreateLibraryRequest{},
|
||||
Response: database.Libraries{},
|
||||
},
|
||||
"GET /api/libraries/:id": {
|
||||
Response: database.Libraries{},
|
||||
},
|
||||
"PUT /api/libraries/:id": {
|
||||
Request: handlers.UpdateLibraryRequest{},
|
||||
Response: database.Libraries{},
|
||||
},
|
||||
"DELETE /api/libraries/:id": {},
|
||||
"POST /api/libraries/:id/folders": {
|
||||
Request: handlers.AddLibraryFolderRequest{},
|
||||
Response: database.LibraryFolders{},
|
||||
},
|
||||
"DELETE /api/libraries/:id/folders": {
|
||||
// Handler REUSES AddLibraryFolderRequest ({folder_path}) on delete.
|
||||
Request: handlers.AddLibraryFolderRequest{},
|
||||
},
|
||||
"GET /api/libraries/visibility": {
|
||||
Response: []database.GetUserVisibleLibrariesRow{},
|
||||
},
|
||||
"POST /api/libraries/visibility": {
|
||||
Request: handlers.SetLibraryVisibilityRequest{},
|
||||
Response: database.LibraryVisibility{},
|
||||
},
|
||||
"GET /api/libraries/browse": {
|
||||
Response: json.RawMessage(`{
|
||||
"current_path": "", "parent_path": "", "directories": [{}]
|
||||
}`),
|
||||
},
|
||||
"GET /api/libraries/:id/stats": {
|
||||
Response: services.LibraryStats{},
|
||||
},
|
||||
"GET /api/libraries/:id/media-items": {
|
||||
// Delegates to ListMediaItems with library_id injected.
|
||||
Response: json.RawMessage(`{"data": [{}]}`),
|
||||
},
|
||||
}
|
||||
Reference in new issue
Block a user