mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-06-05 10:12:44 +02:00
Update PluginManager to singleton, update PluginContext, support prompt object in plugin extension
This commit is contained in:
@@ -5,11 +5,10 @@ const Database = require('../Database')
|
||||
const LibraryScanner = require('../scanner/LibraryScanner')
|
||||
|
||||
const ShareManager = require('./ShareManager')
|
||||
const PodcastManager = require('./PodcastManager')
|
||||
|
||||
class CronManager {
|
||||
constructor(podcastManager, playbackSessionManager) {
|
||||
/** @type {import('./PodcastManager')} */
|
||||
this.podcastManager = podcastManager
|
||||
constructor(playbackSessionManager) {
|
||||
/** @type {import('./PlaybackSessionManager')} */
|
||||
this.playbackSessionManager = playbackSessionManager
|
||||
|
||||
@@ -163,7 +162,7 @@ class CronManager {
|
||||
task
|
||||
})
|
||||
} catch (error) {
|
||||
Logger.error(`[PodcastManager] Failed to schedule podcast cron ${this.serverSettings.podcastEpisodeSchedule}`, error)
|
||||
Logger.error(`[CronManager] Failed to schedule podcast cron ${this.serverSettings.podcastEpisodeSchedule}`, error)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -192,7 +191,7 @@ class CronManager {
|
||||
|
||||
// Run episode checks
|
||||
for (const libraryItem of libraryItems) {
|
||||
const keepAutoDownloading = await this.podcastManager.runEpisodeCheck(libraryItem)
|
||||
const keepAutoDownloading = await PodcastManager.runEpisodeCheck(libraryItem)
|
||||
if (!keepAutoDownloading) {
|
||||
// auto download was disabled
|
||||
podcastCron.libraryItemIds = podcastCron.libraryItemIds.filter((lid) => lid !== libraryItem.id) // Filter it out
|
||||
|
||||
@@ -3,6 +3,9 @@ const Logger = require('../Logger')
|
||||
const Database = require('../Database')
|
||||
const SocketAuthority = require('../SocketAuthority')
|
||||
const TaskManager = require('../managers/TaskManager')
|
||||
const ShareManager = require('../managers/ShareManager')
|
||||
const RssFeedManager = require('../managers/RssFeedManager')
|
||||
const PodcastManager = require('../managers/PodcastManager')
|
||||
const fsExtra = require('../libs/fsExtra')
|
||||
const { isUUID, parseSemverStrict } = require('../utils')
|
||||
|
||||
@@ -13,6 +16,9 @@ const { isUUID, parseSemverStrict } = require('../utils')
|
||||
* @property {import('../SocketAuthority')} SocketAuthority
|
||||
* @property {import('../managers/TaskManager')} TaskManager
|
||||
* @property {import('../models/Plugin')} pluginInstance
|
||||
* @property {import('../managers/ShareManager')} ShareManager
|
||||
* @property {import('../managers/RssFeedManager')} RssFeedManager
|
||||
* @property {import('../managers/PodcastManager')} PodcastManager
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -50,7 +56,10 @@ class PluginManager {
|
||||
Database,
|
||||
SocketAuthority,
|
||||
TaskManager,
|
||||
pluginInstance
|
||||
pluginInstance,
|
||||
ShareManager,
|
||||
RssFeedManager,
|
||||
PodcastManager
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -586,4 +586,4 @@ class PodcastManager {
|
||||
Logger.info(`[PodcastManager] createPodcastsFromFeedUrls: Finished OPML import. Created ${numPodcastsAdded} podcasts out of ${rssFeedUrls.length} RSS feed URLs`)
|
||||
}
|
||||
}
|
||||
module.exports = PodcastManager
|
||||
module.exports = new PodcastManager()
|
||||
|
||||
Reference in New Issue
Block a user