security(books): enforce per-file mutation permissions

Require explicit delete or metadata-edit permission before mutating a book file. Keep catalog state intact when physical deletion fails.

Closes #1293
This commit is contained in:
neon
2026-09-07 05:08:33 +00:00
parent 028d4287b4
commit 5303a50604
8 changed files with 111 additions and 11 deletions
@@ -1,10 +1,10 @@
{
"totalRoutes": 453,
"totalRoutes": 455,
"byPermission": {
"(none)": 168,
"Permission.ManageMetadataConfig": 34,
"Permission.EmailSend": 30,
"Permission.LibraryEditMetadata": 34,
"Permission.LibraryEditMetadata": 35,
"Permission.BookDockAccess": 17,
"Permission.ManageAppSettings": 39,
"Permission.ManageLibraries": 17,
@@ -17,7 +17,7 @@
"Permission.OpdsAccess": 4,
"Permission.ViewAuditLog": 1,
"Permission.ViewUserActivity": 6,
"Permission.LibraryDeleteBooks": 10,
"Permission.LibraryDeleteBooks": 11,
"Permission.LibraryDownload": 1,
"Permission.LibraryUpload": 2,
"Permission.ManageBookDock": 3,