mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-08-03 01:35:08 +02:00
Updates to use new Library model
This commit is contained in:
parent
8774e6be71
commit
38edcdca4b
6 changed files with 114 additions and 57 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue