Update FolderWatcher to singleton

This commit is contained in:
advplyr 2024-11-07 16:32:05 -06:00
parent a8ec07cfc9
commit a5ebd89817
6 changed files with 17 additions and 19 deletions

View file

@ -17,6 +17,7 @@ const naturalSort = createNewSortInstance({
const LibraryScanner = require('../scanner/LibraryScanner')
const Scanner = require('../scanner/Scanner')
const Database = require('../Database')
const Watcher = require('../Watcher')
const libraryFilters = require('../utils/queries/libraryFilters')
const libraryItemsPodcastFilters = require('../utils/queries/libraryItemsPodcastFilters')
const authorFilters = require('../utils/queries/authorFilters')
@ -158,7 +159,7 @@ class LibraryController {
SocketAuthority.emitter('library_added', library.toOldJSON(), userFilter)
// Add library watcher
this.watcher.addLibrary(library)
Watcher.addLibrary(library)
res.json(library.toOldJSON())
}
@ -440,7 +441,7 @@ class LibraryController {
req.library.libraryFolders = await req.library.getLibraryFolders()
// Update watcher
this.watcher.updateLibrary(req.library)
Watcher.updateLibrary(req.library)
hasUpdates = true
}
@ -466,7 +467,7 @@ class LibraryController {
*/
async delete(req, res) {
// Remove library watcher
this.watcher.removeLibrary(req.library)
Watcher.removeLibrary(req.library)
// Remove collections for library
const numCollectionsRemoved = await Database.collectionModel.removeAllForLibrary(req.library.id)

View file

@ -5,6 +5,7 @@ const fs = require('../libs/fsExtra')
const Logger = require('../Logger')
const SocketAuthority = require('../SocketAuthority')
const Database = require('../Database')
const Watcher = require('../Watcher')
const libraryItemFilters = require('../utils/queries/libraryItemFilters')
const patternValidation = require('../libs/nodeCron/pattern-validation')
@ -557,10 +558,10 @@ class MiscController {
switch (type) {
case 'add':
this.watcher.onFileAdded(libraryId, path)
Watcher.onFileAdded(libraryId, path)
break
case 'unlink':
this.watcher.onFileRemoved(libraryId, path)
Watcher.onFileRemoved(libraryId, path)
break
case 'rename':
const oldPath = req.body.oldPath
@ -568,7 +569,7 @@ class MiscController {
Logger.error(`[MiscController] Invalid request body for updateWatchedPath. oldPath is required for rename.`)
return res.sendStatus(400)
}
this.watcher.onFileRename(libraryId, oldPath, path)
Watcher.onFileRename(libraryId, oldPath, path)
break
default:
Logger.error(`[MiscController] Invalid type for updateWatchedPath. type: "${type}"`)