mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 00:11:37 -06:00
428aefe8d1
feat(metadata): extract metadata from file paths with regex rules (#1669) Let libraries define ordered regex rules that read title, authors, series, series number and dates from each book's path relative to its library folder. Run rules in a bounded worker pool, honour source precedence and field locks, and apply them on scans, uploads and watcher moves. Also retry unprobed M4B tag writes with the mp4 muxer. Closes #1351 Co-authored-by: neon <18559658+neonsolstice@users.noreply.github.com>
795 lines
23 KiB
JSON
795 lines
23 KiB
JSON
[
|
|
{
|
|
"file": "server/src/modules/email/email-template.controller.ts",
|
|
"className": "EmailTemplateController",
|
|
"methodName": "findOne",
|
|
"httpMethod": "GET",
|
|
"path": "/email/templates/:id",
|
|
"permissions": ["Permission.EmailSend"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/email/email-template.controller.ts",
|
|
"className": "EmailTemplateController",
|
|
"methodName": "create",
|
|
"httpMethod": "POST",
|
|
"path": "/email/templates",
|
|
"permissions": ["Permission.EmailSend"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/email/email-template.controller.ts",
|
|
"className": "EmailTemplateController",
|
|
"methodName": "update",
|
|
"httpMethod": "PUT",
|
|
"path": "/email/templates/:id",
|
|
"permissions": ["Permission.EmailSend"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/email/email-template.controller.ts",
|
|
"className": "EmailTemplateController",
|
|
"methodName": "remove",
|
|
"httpMethod": "DELETE",
|
|
"path": "/email/templates/:id",
|
|
"permissions": ["Permission.EmailSend"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/email/email-template.controller.ts",
|
|
"className": "EmailTemplateController",
|
|
"methodName": "setDefault",
|
|
"httpMethod": "PATCH",
|
|
"path": "/email/templates/:id/default",
|
|
"permissions": ["Permission.EmailSend"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/email/email-template.controller.ts",
|
|
"className": "EmailTemplateController",
|
|
"methodName": "previewText",
|
|
"httpMethod": "POST",
|
|
"path": "/email/templates/preview",
|
|
"permissions": ["Permission.EmailSend"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/email/email-template.controller.ts",
|
|
"className": "EmailTemplateController",
|
|
"methodName": "preview",
|
|
"httpMethod": "POST",
|
|
"path": "/email/templates/:id/preview",
|
|
"permissions": ["Permission.EmailSend"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/health/health.controller.ts",
|
|
"className": "HealthController",
|
|
"methodName": "check",
|
|
"httpMethod": "GET",
|
|
"path": "/",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-auth.controller.ts",
|
|
"className": "KoboAuthController",
|
|
"methodName": "authDevice",
|
|
"httpMethod": "POST",
|
|
"path": "/kobo/:deviceToken/v1/auth/device",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-auth.controller.ts",
|
|
"className": "KoboAuthController",
|
|
"methodName": "authRefresh",
|
|
"httpMethod": "POST",
|
|
"path": "/kobo/:deviceToken/v1/auth/refresh",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-device.controller.ts",
|
|
"className": "KoboDeviceController",
|
|
"methodName": "thumbnailFull",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/:deviceToken/v1/books/:bookId/thumbnail/:width/:height/:quality/:isGreyscale/image.jpg",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-device.controller.ts",
|
|
"className": "KoboDeviceController",
|
|
"methodName": "thumbnailSimple",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/:deviceToken/v1/books/:bookId/thumbnail/:width/:height/false/image.jpg",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-device.controller.ts",
|
|
"className": "KoboDeviceController",
|
|
"methodName": "thumbnailVersioned",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/:deviceToken/v1/books/:bookId/:version/thumbnail/:width/:height/false/image.jpg",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-device.controller.ts",
|
|
"className": "KoboDeviceController",
|
|
"methodName": "download",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/:deviceToken/v1/books/:bookId/download",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-device.controller.ts",
|
|
"className": "KoboDeviceController",
|
|
"methodName": "affiliate",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/:deviceToken/v1/affiliate",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-device.controller.ts",
|
|
"className": "KoboDeviceController",
|
|
"methodName": "remainingBookSeries",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/:deviceToken/v1/products/books/series/:seriesId",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-device.controller.ts",
|
|
"className": "KoboDeviceController",
|
|
"methodName": "productNextRead",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/:deviceToken/v1/products/:productId/nextread",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-device.controller.ts",
|
|
"className": "KoboDeviceController",
|
|
"methodName": "getTests",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/:deviceToken/v1/analytics/gettests",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-device.controller.ts",
|
|
"className": "KoboDeviceController",
|
|
"methodName": "postGetTests",
|
|
"httpMethod": "POST",
|
|
"path": "/kobo/:deviceToken/v1/analytics/gettests",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-device.controller.ts",
|
|
"className": "KoboDeviceController",
|
|
"methodName": "analyticsEvent",
|
|
"httpMethod": "POST",
|
|
"path": "/kobo/:deviceToken/v1/analytics/event",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-device.controller.ts",
|
|
"className": "KoboDeviceController",
|
|
"methodName": "proxy",
|
|
"httpMethod": "ALL",
|
|
"path": "/kobo/:deviceToken/*",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-sync.controller.ts",
|
|
"className": "KoboSyncController",
|
|
"methodName": "initialization",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/:deviceToken/v1/initialization",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-sync.controller.ts",
|
|
"className": "KoboSyncController",
|
|
"methodName": "librarySync",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/:deviceToken/v1/library/sync",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-sync.controller.ts",
|
|
"className": "KoboSyncController",
|
|
"methodName": "getBookMetadata",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/:deviceToken/v1/library/:bookId/metadata",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-sync.controller.ts",
|
|
"className": "KoboSyncController",
|
|
"methodName": "deleteFromLibrary",
|
|
"httpMethod": "DELETE",
|
|
"path": "/kobo/:deviceToken/v1/library/:bookId",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-sync.controller.ts",
|
|
"className": "KoboSyncController",
|
|
"methodName": "getReadingState",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/:deviceToken/v1/library/:bookId/state",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-sync.controller.ts",
|
|
"className": "KoboSyncController",
|
|
"methodName": "updateReadingState",
|
|
"httpMethod": "PUT",
|
|
"path": "/kobo/:deviceToken/v1/library/:bookId/state",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoboTokenGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-user.controller.ts",
|
|
"className": "KoboUserController",
|
|
"methodName": "listDevices",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/devices",
|
|
"permissions": ["Permission.KoboSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-user.controller.ts",
|
|
"className": "KoboUserController",
|
|
"methodName": "createDevice",
|
|
"httpMethod": "POST",
|
|
"path": "/kobo/devices",
|
|
"permissions": ["Permission.KoboSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-user.controller.ts",
|
|
"className": "KoboUserController",
|
|
"methodName": "renameDevice",
|
|
"httpMethod": "PATCH",
|
|
"path": "/kobo/devices/:id",
|
|
"permissions": ["Permission.KoboSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-user.controller.ts",
|
|
"className": "KoboUserController",
|
|
"methodName": "revokeDevice",
|
|
"httpMethod": "DELETE",
|
|
"path": "/kobo/devices/:id",
|
|
"permissions": ["Permission.KoboSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-user.controller.ts",
|
|
"className": "KoboUserController",
|
|
"methodName": "getSettings",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/settings",
|
|
"permissions": ["Permission.KoboSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-user.controller.ts",
|
|
"className": "KoboUserController",
|
|
"methodName": "updateSettings",
|
|
"httpMethod": "PATCH",
|
|
"path": "/kobo/settings",
|
|
"permissions": ["Permission.KoboSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/smart-scope/smart-scope.controller.ts",
|
|
"className": "SmartScopeController",
|
|
"methodName": "findAll",
|
|
"httpMethod": "GET",
|
|
"path": "/smart-scopes",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/smart-scope/smart-scope.controller.ts",
|
|
"className": "SmartScopeController",
|
|
"methodName": "findOne",
|
|
"httpMethod": "GET",
|
|
"path": "/smart-scopes/:id",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/smart-scope/smart-scope.controller.ts",
|
|
"className": "SmartScopeController",
|
|
"methodName": "create",
|
|
"httpMethod": "POST",
|
|
"path": "/smart-scopes",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/smart-scope/smart-scope.controller.ts",
|
|
"className": "SmartScopeController",
|
|
"methodName": "reorder",
|
|
"httpMethod": "POST",
|
|
"path": "/smart-scopes/reorder",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/smart-scope/smart-scope.controller.ts",
|
|
"className": "SmartScopeController",
|
|
"methodName": "update",
|
|
"httpMethod": "PATCH",
|
|
"path": "/smart-scopes/:id",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/smart-scope/smart-scope.controller.ts",
|
|
"className": "SmartScopeController",
|
|
"methodName": "remove",
|
|
"httpMethod": "DELETE",
|
|
"path": "/smart-scopes/:id",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/smart-scope/smart-scope.controller.ts",
|
|
"className": "SmartScopeController",
|
|
"methodName": "executeSmartScope",
|
|
"httpMethod": "GET",
|
|
"path": "/smart-scopes/:id/books",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "findAll",
|
|
"httpMethod": "GET",
|
|
"path": "/libraries",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "getOverview",
|
|
"httpMethod": "GET",
|
|
"path": "/libraries/overview",
|
|
"permissions": ["Permission.ManageLibraries"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "validateRegexMetadata",
|
|
"httpMethod": "POST",
|
|
"path": "/libraries/regex-metadata/validate",
|
|
"permissions": ["Permission.ManageLibraries"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "previewRegexMetadata",
|
|
"httpMethod": "POST",
|
|
"path": "/libraries/regex-metadata/preview",
|
|
"permissions": ["Permission.ManageLibraries"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "findOne",
|
|
"httpMethod": "GET",
|
|
"path": "/libraries/:id",
|
|
"permissions": [],
|
|
"libraryAccess": ["'viewer'"],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "queryBooks",
|
|
"httpMethod": "POST",
|
|
"path": "/libraries/:id/books",
|
|
"permissions": [],
|
|
"libraryAccess": ["'viewer'"],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "create",
|
|
"httpMethod": "POST",
|
|
"path": "/libraries",
|
|
"permissions": ["Permission.ManageLibraries"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "update",
|
|
"httpMethod": "PATCH",
|
|
"path": "/libraries/:id",
|
|
"permissions": ["Permission.ManageLibraries"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "remove",
|
|
"httpMethod": "DELETE",
|
|
"path": "/libraries/:id",
|
|
"permissions": ["Permission.ManageLibraries"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "prescan",
|
|
"httpMethod": "POST",
|
|
"path": "/libraries/prescan",
|
|
"permissions": ["Permission.ManageLibraries"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "reorder",
|
|
"httpMethod": "POST",
|
|
"path": "/libraries/reorder",
|
|
"permissions": ["Permission.ManageLibraries"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "getStats",
|
|
"httpMethod": "GET",
|
|
"path": "/libraries/:id/stats",
|
|
"permissions": [],
|
|
"libraryAccess": ["'viewer'"],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "getAddedAtRecompute",
|
|
"httpMethod": "GET",
|
|
"path": "/libraries/:id/recompute-added-at",
|
|
"permissions": ["Permission.ManageLibraries"],
|
|
"libraryAccess": ["'editor'"],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "recomputeAddedAt",
|
|
"httpMethod": "POST",
|
|
"path": "/libraries/:id/recompute-added-at",
|
|
"permissions": ["Permission.ManageLibraries"],
|
|
"libraryAccess": ["'editor'"],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "writeMetadataToFiles",
|
|
"httpMethod": "POST",
|
|
"path": "/libraries/:id/write-metadata-to-files",
|
|
"permissions": ["Permission.LibraryEditMetadata"],
|
|
"libraryAccess": ["'editor'"],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "getAccess",
|
|
"httpMethod": "GET",
|
|
"path": "/libraries/:libraryId/access",
|
|
"permissions": ["Permission.ManageLibraries"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/library/library.controller.ts",
|
|
"className": "LibraryController",
|
|
"methodName": "grantAccess",
|
|
"httpMethod": "POST",
|
|
"path": "/libraries/:libraryId/access",
|
|
"permissions": ["Permission.ManageLibraries"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-user.controller.ts",
|
|
"className": "KoboUserController",
|
|
"methodName": "prepareReplacement",
|
|
"httpMethod": "POST",
|
|
"path": "/kobo/devices/:id/books/:bookId/replacement",
|
|
"permissions": ["Permission.KoboSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-user.controller.ts",
|
|
"className": "KoboUserController",
|
|
"methodName": "offerReplacement",
|
|
"httpMethod": "POST",
|
|
"path": "/kobo/devices/:id/replacements/:deliveryId/offer",
|
|
"permissions": ["Permission.KoboSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-user.controller.ts",
|
|
"className": "KoboUserController",
|
|
"methodName": "confirmReplacement",
|
|
"httpMethod": "POST",
|
|
"path": "/kobo/devices/:id/replacements/:deliveryId/confirm",
|
|
"permissions": ["Permission.KoboSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-user.controller.ts",
|
|
"className": "KoboUserController",
|
|
"methodName": "cancelReplacement",
|
|
"httpMethod": "POST",
|
|
"path": "/kobo/devices/:id/replacements/:deliveryId/cancel",
|
|
"permissions": ["Permission.KoboSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-user.controller.ts",
|
|
"className": "KoboUserController",
|
|
"methodName": "getReplacement",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/devices/:id/replacements/:deliveryId",
|
|
"permissions": ["Permission.KoboSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/kobo/kobo-user.controller.ts",
|
|
"className": "KoboUserController",
|
|
"methodName": "getDelivery",
|
|
"httpMethod": "GET",
|
|
"path": "/kobo/devices/:id/books/:bookId/delivery",
|
|
"permissions": ["Permission.KoboSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
},
|
|
{
|
|
"file": "server/src/modules/koreader/koreader-delivery.controller.ts",
|
|
"className": "KoreaderDeliveryController",
|
|
"methodName": "getSettings",
|
|
"httpMethod": "GET",
|
|
"path": "/koreader/plugin/delivery-settings/:deviceId",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoreaderAuthGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/koreader/koreader-delivery.controller.ts",
|
|
"className": "KoreaderDeliveryController",
|
|
"methodName": "updatePluginSettings",
|
|
"httpMethod": "PUT",
|
|
"path": "/koreader/plugin/delivery-settings/:deviceId",
|
|
"permissions": [],
|
|
"libraryAccess": [],
|
|
"isPublic": true,
|
|
"allowDefault": false,
|
|
"useGuards": ["KoreaderAuthGuard"]
|
|
},
|
|
{
|
|
"file": "server/src/modules/koreader/koreader-delivery.controller.ts",
|
|
"className": "KoreaderDeliveryController",
|
|
"methodName": "updateSettings",
|
|
"httpMethod": "PATCH",
|
|
"path": "/koreader/devices/:deviceId/delivery-settings",
|
|
"permissions": ["Permission.KoreaderSync"],
|
|
"libraryAccess": [],
|
|
"isPublic": false,
|
|
"allowDefault": false,
|
|
"useGuards": []
|
|
}
|
|
]
|