Files
bookorbit/server/test/e2e/authorization-matrix/route-inventory/manifest.json
T
neon ca3c637271 fix(auth): split Book Dock access from Book Dock administration
Book Dock was a single permission that the standard preset handed to every user, so an ordinary
account could pause processing, trigger a rescan, and finalize straight into the library. Keep
book_dock_access for personal upload and review, and move global control behind a new
manage_book_dock permission in the administration group.

Finalization now also requires library_upload, since it writes into a library. Per-file reads and
mutations are scoped to the uploader unless the caller can manage the dock, which closes the gap
that let any Book Dock user read, edit, or discard another user's entry by id. The summary
websocket now announces a change instead of broadcasting global counts, so each client refetches
its own scoped totals.

Closes #961
2026-08-09 21:27:33 +00:00

44 lines
1.1 KiB
JSON

{
"totalRoutes": 372,
"byPermission": {
"(none)": 166,
"Permission.ManageMetadataConfig": 32,
"Permission.EmailSend": 30,
"Permission.LibraryEditMetadata": 33,
"Permission.BookDockAccess": 16,
"Permission.ManageAppSettings": 22,
"Permission.ManageLibraries": 14,
"Permission.ManageUsers": 11,
"Permission.ManageEmail": 8,
"Permission.KoboSync": 7,
"Permission.NotificationAccess": 6,
"Permission.DemoRestricted": 6,
"Permission.KoreaderSync": 8,
"Permission.OpdsAccess": 4,
"Permission.ViewAuditLog": 1,
"Permission.ViewUserActivity": 6,
"Permission.LibraryDeleteBooks": 1,
"Permission.LibraryDownload": 1,
"Permission.LibraryUpload": 2,
"Permission.ManageBookDock": 1,
"Permission.ManageIcons": 1,
"Permission.HardcoverSync": 1,
"Permission.ReadwiseSync": 1,
"Permission.StorygraphSync": 1
},
"byLibraryAccess": {
"'viewer'": 3,
"'editor'": 1
},
"routeChunks": [
"routes-01.json",
"routes-02.json",
"routes-03.json",
"routes-04.json",
"routes-05.json",
"routes-06.json",
"routes-07.json",
"routes-08.json"
]
}