- Introduced `TranscodeManager` for managing on-demand transcoding of local video files. - Added configuration options for transcoding in `Config` and `LocalFilesConfig`. - Implemented new API routes for managing transcoding settings, stats, and cache. - Updated `LocalFilesProvider` to support transcoding capabilities. - Created frontend components for managing transcode settings and displaying stats. - Added database migration for transcode settings. - Enhanced existing routes and DTOs to accommodate new transcoding features.
44 lines
1.3 KiB
Rust
44 lines
1.3 KiB
Rust
//! K-TV Infrastructure Layer
|
|
//!
|
|
//! Concrete adapters for the repository and provider ports defined in the domain.
|
|
//!
|
|
//! ## Repository adapters
|
|
//! - `SqliteUserRepository` / `PostgresUserRepository`
|
|
//! - `SqliteChannelRepository` / `PostgresChannelRepository`
|
|
//! - `SqliteScheduleRepository` / `PostgresScheduleRepository`
|
|
//!
|
|
//! ## Media provider adapters
|
|
//! - `JellyfinMediaProvider` (feature = `"jellyfin"`)
|
|
//!
|
|
//! ## Database
|
|
//! - [`db::run_migrations`] — run all pending SQLite/Postgres migrations
|
|
|
|
pub mod auth;
|
|
pub mod db;
|
|
pub mod factory;
|
|
pub mod jellyfin;
|
|
pub mod provider_registry;
|
|
mod channel_repository;
|
|
mod schedule_repository;
|
|
mod user_repository;
|
|
|
|
#[cfg(feature = "local-files")]
|
|
pub mod local_files;
|
|
|
|
// Re-export for convenience
|
|
pub use db::run_migrations;
|
|
pub use provider_registry::ProviderRegistry;
|
|
|
|
#[cfg(feature = "sqlite")]
|
|
pub use user_repository::SqliteUserRepository;
|
|
#[cfg(feature = "sqlite")]
|
|
pub use channel_repository::SqliteChannelRepository;
|
|
#[cfg(feature = "sqlite")]
|
|
pub use schedule_repository::SqliteScheduleRepository;
|
|
|
|
#[cfg(feature = "jellyfin")]
|
|
pub use jellyfin::{JellyfinConfig, JellyfinMediaProvider};
|
|
|
|
#[cfg(feature = "local-files")]
|
|
pub use local_files::{LocalFilesConfig, LocalFilesProvider, LocalIndex, TranscodeManager, decode_stream_id};
|