feat(reader): add grouped reading progress routes

Add GET and PUT /reading-progress and DELETE /reading-progress/:fileId: positions grouped by
kind, up to 25 files saved in one request, and an optional editedAt so the server keeps the newer
of two saves. Move the web reader and book page to them, and list reading-progress in
SERVER_FEATURES for the iOS and Android apps, which adopt the routes in the same release.
This commit is contained in:
neon
2026-10-22 17:28:07 +00:00
parent d44444823f
commit 9e49f496f1
25 changed files with 1116 additions and 110 deletions
@@ -1,7 +1,7 @@
{
"totalRoutes": 701,
"totalRoutes": 704,
"byPermission": {
"(none)": 294,
"(none)": 297,
"Permission.ManageMetadataConfig": 41,
"Permission.EmailSend": 34,
"Permission.LibraryEditMetadata": 54,
@@ -1210,5 +1210,41 @@
"isPublic": false,
"allowDefault": false,
"useGuards": []
},
{
"file": "server/src/modules/book/reading-progress.controller.ts",
"className": "ReadingProgressController",
"methodName": "list",
"httpMethod": "GET",
"path": "/reading-progress",
"permissions": [],
"libraryAccess": [],
"isPublic": false,
"allowDefault": false,
"useGuards": []
},
{
"file": "server/src/modules/book/reading-progress.controller.ts",
"className": "ReadingProgressController",
"methodName": "save",
"httpMethod": "PUT",
"path": "/reading-progress",
"permissions": [],
"libraryAccess": [],
"isPublic": false,
"allowDefault": false,
"useGuards": []
},
{
"file": "server/src/modules/book/reading-progress.controller.ts",
"className": "ReadingProgressController",
"methodName": "clear",
"httpMethod": "DELETE",
"path": "/reading-progress/:fileId",
"permissions": [],
"libraryAccess": [],
"isPublic": false,
"allowDefault": false,
"useGuards": []
}
]