mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 08:21:39 -06:00
feat(server): add unified entity manager with duplicate detection
- Remove author insights and duplicate suggestions panels, composables, DTOs, and all backend support - Add genre and tag duplicate detection, merge, and dismiss with server-side paginated scan results - Consolidate per-entity-type tools into a single entity-manager module backed by the Strategy pattern - Support browse, merge, rename, delete, split, and dismiss across all entity types (author, genre, tag, narrator, publisher, language, series) - Replace old tools module with unified entity-manager controller, service, and repository; add 85+ unit tests
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"totalRoutes": 318,
|
||||
"totalRoutes": 323,
|
||||
"byPermission": {
|
||||
"(none)": 161,
|
||||
"Permission.ManageMetadataConfig": 32,
|
||||
"Permission.EmailSend": 30,
|
||||
"Permission.LibraryEditMetadata": 18,
|
||||
"Permission.LibraryEditMetadata": 23,
|
||||
"Permission.BookBucketAccess": 17,
|
||||
"Permission.ManageAppSettings": 14,
|
||||
"Permission.ManageLibraries": 13,
|
||||
|
||||
@@ -226,5 +226,65 @@
|
||||
"isPublic": false,
|
||||
"allowDefault": false,
|
||||
"useGuards": []
|
||||
},
|
||||
{
|
||||
"file": "server/src/modules/tools/tools.controller.ts",
|
||||
"className": "ToolsController",
|
||||
"methodName": "scanAuthorDuplicates",
|
||||
"httpMethod": "GET",
|
||||
"path": "/tools/authors/duplicates/scan",
|
||||
"permissions": ["Permission.LibraryEditMetadata"],
|
||||
"libraryAccess": [],
|
||||
"isPublic": false,
|
||||
"allowDefault": false,
|
||||
"useGuards": []
|
||||
},
|
||||
{
|
||||
"file": "server/src/modules/tools/tools.controller.ts",
|
||||
"className": "ToolsController",
|
||||
"methodName": "merge",
|
||||
"httpMethod": "POST",
|
||||
"path": "/tools/authors/duplicates/merge",
|
||||
"permissions": ["Permission.LibraryEditMetadata"],
|
||||
"libraryAccess": [],
|
||||
"isPublic": false,
|
||||
"allowDefault": false,
|
||||
"useGuards": []
|
||||
},
|
||||
{
|
||||
"file": "server/src/modules/tools/tools.controller.ts",
|
||||
"className": "ToolsController",
|
||||
"methodName": "batchMerge",
|
||||
"httpMethod": "POST",
|
||||
"path": "/tools/authors/duplicates/batch-merge",
|
||||
"permissions": ["Permission.LibraryEditMetadata"],
|
||||
"libraryAccess": [],
|
||||
"isPublic": false,
|
||||
"allowDefault": false,
|
||||
"useGuards": []
|
||||
},
|
||||
{
|
||||
"file": "server/src/modules/tools/tools.controller.ts",
|
||||
"className": "ToolsController",
|
||||
"methodName": "dismiss",
|
||||
"httpMethod": "POST",
|
||||
"path": "/tools/authors/duplicates/dismiss",
|
||||
"permissions": ["Permission.LibraryEditMetadata"],
|
||||
"libraryAccess": [],
|
||||
"isPublic": false,
|
||||
"allowDefault": false,
|
||||
"useGuards": []
|
||||
},
|
||||
{
|
||||
"file": "server/src/modules/tools/tools.controller.ts",
|
||||
"className": "ToolsController",
|
||||
"methodName": "undismiss",
|
||||
"httpMethod": "DELETE",
|
||||
"path": "/tools/authors/duplicates/dismiss",
|
||||
"permissions": ["Permission.LibraryEditMetadata"],
|
||||
"libraryAccess": [],
|
||||
"isPublic": false,
|
||||
"allowDefault": false,
|
||||
"useGuards": []
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user