Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Id99798df6f7e4470caae8a193c2654aa6a6a6964
31 lines
1 KiB
Rust
31 lines
1 KiB
Rust
use std::path::PathBuf;
|
|
use std::sync::Arc;
|
|
|
|
use tokio::sync::RwLock;
|
|
|
|
use pinakes_core::cache::CacheLayer;
|
|
use pinakes_core::config::Config;
|
|
use pinakes_core::jobs::JobQueue;
|
|
use pinakes_core::managed_storage::ManagedStorageService;
|
|
use pinakes_core::plugin::PluginManager;
|
|
use pinakes_core::scan::ScanProgress;
|
|
use pinakes_core::scheduler::TaskScheduler;
|
|
use pinakes_core::storage::DynStorageBackend;
|
|
use pinakes_core::transcode::TranscodeService;
|
|
|
|
// Note: Sessions are now stored in the database via StorageBackend
|
|
// See storage::SessionData and related methods
|
|
|
|
#[derive(Clone)]
|
|
pub struct AppState {
|
|
pub storage: DynStorageBackend,
|
|
pub config: Arc<RwLock<Config>>,
|
|
pub config_path: Option<PathBuf>,
|
|
pub scan_progress: ScanProgress,
|
|
pub job_queue: Arc<JobQueue>,
|
|
pub cache: Arc<CacheLayer>,
|
|
pub scheduler: Arc<TaskScheduler>,
|
|
pub plugin_manager: Option<Arc<PluginManager>>,
|
|
pub transcode_service: Option<Arc<TranscodeService>>,
|
|
pub managed_storage: Option<Arc<ManagedStorageService>>,
|
|
}
|