[ { "file": "server/src/modules/annotation/annotation.controller.ts", "className": "AnnotationController", "methodName": "getAnnotations", "httpMethod": "GET", "path": "/books/:bookId/annotations", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/annotation/annotation.controller.ts", "className": "AnnotationController", "methodName": "createAnnotation", "httpMethod": "POST", "path": "/books/:bookId/annotations", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/annotation/annotation.controller.ts", "className": "AnnotationController", "methodName": "updateAnnotation", "httpMethod": "PATCH", "path": "/books/:bookId/annotations/:annotationId", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/annotation/annotation.controller.ts", "className": "AnnotationController", "methodName": "deleteAnnotation", "httpMethod": "DELETE", "path": "/books/:bookId/annotations/:annotationId", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "listSettings", "httpMethod": "GET", "path": "/app-settings", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "update", "httpMethod": "PATCH", "path": "/app-settings/:key", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "getUploadPattern", "httpMethod": "GET", "path": "/app-settings/upload-pattern", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "setUploadPattern", "httpMethod": "PUT", "path": "/app-settings/upload-pattern", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "getDownloadPattern", "httpMethod": "GET", "path": "/app-settings/download-pattern", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "setDownloadPattern", "httpMethod": "PUT", "path": "/app-settings/download-pattern", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "getOidcProvidersPublic", "httpMethod": "GET", "path": "/app-settings/oidc/providers/public", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "listOidcProviders", "httpMethod": "GET", "path": "/app-settings/oidc/providers", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "getOidcProvider", "httpMethod": "GET", "path": "/app-settings/oidc/providers/:slug", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "createOidcProvider", "httpMethod": "POST", "path": "/app-settings/oidc/providers", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "updateOidcProvider", "httpMethod": "PUT", "path": "/app-settings/oidc/providers/:slug", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "deleteOidcProvider", "httpMethod": "DELETE", "path": "/app-settings/oidc/providers/:slug", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "testOidcProviderConnection", "httpMethod": "POST", "path": "/app-settings/oidc/providers/:slug/test", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "reorderOidcProviders", "httpMethod": "PUT", "path": "/app-settings/oidc/providers/reorder", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "listProviderGroupMappings", "httpMethod": "GET", "path": "/app-settings/oidc/providers/:slug/group-mappings", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "createProviderGroupMapping", "httpMethod": "POST", "path": "/app-settings/oidc/providers/:slug/group-mappings", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "updateProviderGroupMapping", "httpMethod": "PUT", "path": "/app-settings/oidc/providers/:slug/group-mappings/:id", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/app-settings/app-settings.controller.ts", "className": "AppSettingsController", "methodName": "deleteProviderGroupMapping", "httpMethod": "DELETE", "path": "/app-settings/oidc/providers/:slug/group-mappings/:id", "permissions": ["Permission.ManageAppSettings"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/audit/audit.controller.ts", "className": "AuditController", "methodName": "getAuditLogs", "httpMethod": "GET", "path": "/audit-log", "permissions": ["Permission.ViewAuditLog"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/audit/audit.controller.ts", "className": "AuditController", "methodName": "getSummary", "httpMethod": "GET", "path": "/audit-log/summary", "permissions": ["Permission.ViewAuditLog"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/audit/audit.controller.ts", "className": "AuditController", "methodName": "getSignIns", "httpMethod": "GET", "path": "/audit-log/sign-ins", "permissions": ["Permission.ViewAuditLog"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/audit/audit.controller.ts", "className": "AuditController", "methodName": "exportEvents", "httpMethod": "GET", "path": "/audit-log/export", "permissions": ["Permission.ViewAuditLog"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "register", "httpMethod": "POST", "path": "/auth/register", "permissions": [], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "setupStatus", "httpMethod": "GET", "path": "/auth/setup-status", "permissions": [], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "loginOptions", "httpMethod": "GET", "path": "/auth/login-options", "permissions": [], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "setup", "httpMethod": "POST", "path": "/auth/setup", "permissions": [], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "login", "httpMethod": "POST", "path": "/auth/login", "permissions": [], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "refresh", "httpMethod": "POST", "path": "/auth/refresh", "permissions": [], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "logout", "httpMethod": "POST", "path": "/auth/logout", "permissions": [], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "me", "httpMethod": "GET", "path": "/auth/me", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": true, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "getSessions", "httpMethod": "GET", "path": "/auth/sessions", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "revokeSession", "httpMethod": "DELETE", "path": "/auth/sessions/:id", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "forgotPassword", "httpMethod": "POST", "path": "/auth/forgot-password", "permissions": [], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "resetPassword", "httpMethod": "POST", "path": "/auth/reset-password", "permissions": [], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "changePassword", "httpMethod": "POST", "path": "/auth/change-password", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": true, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "oidcGenerateState", "httpMethod": "POST", "path": "/auth/oidc/state", "permissions": [], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "oidcCallback", "httpMethod": "POST", "path": "/auth/oidc/callback", "permissions": [], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/auth/auth.controller.ts", "className": "AuthController", "methodName": "oidcBackchannelLogout", "httpMethod": "POST", "path": "/auth/oidc/backchannel-logout", "permissions": [], "libraryAccess": [], "isPublic": true, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "findAll", "httpMethod": "GET", "path": "/authors", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "findInsights", "httpMethod": "GET", "path": "/authors/insights", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "browse", "httpMethod": "GET", "path": "/entity-manager/:entityType/browse", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "scanDuplicates", "httpMethod": "GET", "path": "/entity-manager/:entityType/duplicates/scan", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "getDuplicateScanStatus", "httpMethod": "GET", "path": "/entity-manager/:entityType/duplicates/status", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "refreshDuplicates", "httpMethod": "POST", "path": "/entity-manager/:entityType/duplicates/refresh", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "merge", "httpMethod": "POST", "path": "/entity-manager/:entityType/merge", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "rename", "httpMethod": "POST", "path": "/entity-manager/:entityType/rename", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "deleteEntity", "httpMethod": "POST", "path": "/entity-manager/:entityType/delete", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "bulkDelete", "httpMethod": "POST", "path": "/entity-manager/:entityType/bulk-delete", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "split", "httpMethod": "POST", "path": "/entity-manager/:entityType/split", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "dismissPair", "httpMethod": "POST", "path": "/entity-manager/:entityType/duplicates/dismiss", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "undismissPair", "httpMethod": "POST", "path": "/entity-manager/:entityType/duplicates/undismiss", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "getDismissedPairs", "httpMethod": "GET", "path": "/entity-manager/:entityType/duplicates/dismissed", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/entity-manager/entity-manager.controller.ts", "className": "EntityManagerController", "methodName": "getEntityInfo", "httpMethod": "GET", "path": "/entity-manager/:entityType/info/:entityId", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "listMetadataProviders", "httpMethod": "GET", "path": "/authors/metadata/providers", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "searchMetadata", "httpMethod": "GET", "path": "/authors/metadata/search", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "lookupMetadata", "httpMethod": "GET", "path": "/authors/metadata/lookup", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "bulkRefreshMetadata", "httpMethod": "POST", "path": "/authors/bulk-refresh-metadata", "permissions": ["Permission.LibraryEditMetadata"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "getEnrichmentConfig", "httpMethod": "GET", "path": "/authors/enrichment/config", "permissions": ["Permission.ManageMetadataConfig"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "setEnrichmentConfig", "httpMethod": "PUT", "path": "/authors/enrichment/config", "permissions": ["Permission.ManageMetadataConfig"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "previewCount", "httpMethod": "POST", "path": "/authors/enrichment/preview-count", "permissions": ["Permission.ManageMetadataConfig"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "enqueueBackfill", "httpMethod": "POST", "path": "/authors/enrichment/backfill", "permissions": ["Permission.ManageMetadataConfig"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "enqueueBackfillAll", "httpMethod": "POST", "path": "/authors/enrichment/backfill-all", "permissions": ["Permission.ManageMetadataConfig"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "pauseEnrichment", "httpMethod": "POST", "path": "/authors/enrichment/pause", "permissions": ["Permission.ManageMetadataConfig"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "resumeEnrichment", "httpMethod": "POST", "path": "/authors/enrichment/resume", "permissions": ["Permission.ManageMetadataConfig"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "cancelEnrichment", "httpMethod": "POST", "path": "/authors/enrichment/cancel", "permissions": ["Permission.ManageMetadataConfig"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "retryFailedEnrichment", "httpMethod": "POST", "path": "/authors/enrichment/retry-failed", "permissions": ["Permission.ManageMetadataConfig"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "getFailedEnrichment", "httpMethod": "GET", "path": "/authors/enrichment/failed", "permissions": ["Permission.ManageMetadataConfig"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "findOne", "httpMethod": "GET", "path": "/authors/:id", "permissions": [], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "getMetadataPreferences", "httpMethod": "GET", "path": "/authors/metadata/preferences", "permissions": ["Permission.ManageMetadataConfig"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] }, { "file": "server/src/modules/authors/authors.controller.ts", "className": "AuthorsController", "methodName": "setMetadataPreferences", "httpMethod": "PUT", "path": "/authors/metadata/preferences", "permissions": ["Permission.ManageMetadataConfig"], "libraryAccess": [], "isPublic": false, "allowDefault": false, "useGuards": [] } ]