feat: implement multi-provider support in media library
- Introduced IProviderRegistry to manage multiple media providers. - Updated AppState to use provider_registry instead of a single media_provider. - Refactored library routes to support provider-specific queries for collections, series, genres, and items. - Enhanced ProgrammingBlock to include provider_id for algorithmic and manual content types. - Modified frontend components to allow selection of providers and updated API calls to include provider parameters. - Adjusted hooks and types to accommodate provider-specific functionality.
This commit is contained in:
@@ -42,10 +42,20 @@ pub struct TokenResponse {
|
||||
pub expires_in: u64,
|
||||
}
|
||||
|
||||
/// Per-provider info returned by `GET /config`.
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct ProviderInfo {
|
||||
pub id: String,
|
||||
pub capabilities: domain::ProviderCapabilities,
|
||||
}
|
||||
|
||||
/// System configuration response
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct ConfigResponse {
|
||||
pub allow_registration: bool,
|
||||
/// All registered providers with their capabilities.
|
||||
pub providers: Vec<ProviderInfo>,
|
||||
/// Capabilities of the primary provider — kept for backward compatibility.
|
||||
pub provider_capabilities: domain::ProviderCapabilities,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user