Updates to use new Library model

This commit is contained in:
advplyr 2024-08-23 16:59:51 -05:00
parent 8774e6be71
commit 38edcdca4b
6 changed files with 114 additions and 57 deletions

View file

@ -21,7 +21,8 @@ class CronManager {
/**
* Initialize library scan crons & podcast download crons
* @param {import('../objects/Library')[]} libraries
*
* @param {import('../models/Library')[]} libraries
*/
async init(libraries) {
this.initOpenSessionCleanupCron()
@ -46,7 +47,7 @@ class CronManager {
/**
* Initialize library scan crons
* @param {import('../objects/Library')[]} libraries
* @param {import('../models/Library')[]} libraries
*/
initLibraryScanCrons(libraries) {
for (const library of libraries) {
@ -59,17 +60,17 @@ class CronManager {
/**
* Start cron schedule for library
*
* @param {import('../objects/Library')} _library
* @param {import('../models/Library')} _library
*/
startCronForLibrary(_library) {
Logger.debug(`[CronManager] Init library scan cron for ${_library.name} on schedule ${_library.settings.autoScanCronExpression}`)
const libScanCron = cron.schedule(_library.settings.autoScanCronExpression, async () => {
const library = await Database.libraryModel.getOldById(_library.id)
if (!library) {
const oldLibrary = await Database.libraryModel.getOldById(_library.id)
if (!oldLibrary) {
Logger.error(`[CronManager] Library not found for scan cron ${_library.id}`)
} else {
Logger.debug(`[CronManager] Library scan cron executing for ${library.name}`)
LibraryScanner.scan(library)
Logger.debug(`[CronManager] Library scan cron executing for ${oldLibrary.name}`)
LibraryScanner.scan(oldLibrary)
}
})
this.libraryScanCrons.push({
@ -79,11 +80,21 @@ class CronManager {
})
}
/**
* TODO: Update to new library model
*
* @param {*} library
*/
removeCronForLibrary(library) {
Logger.debug(`[CronManager] Removing library scan cron for ${library.name}`)
this.libraryScanCrons = this.libraryScanCrons.filter((lsc) => lsc.libraryId !== library.id)
}
/**
* TODO: Update to new library model
*
* @param {*} library
*/
updateLibraryScanCron(library) {
const expression = library.settings.autoScanCronExpression
const existingCron = this.libraryScanCrons.find((lsc) => lsc.libraryId === library.id)