feat: multi-instance provider support
- provider_configs: add id TEXT PK; migrate existing rows (provider_type becomes id)
- local_files_index: add provider_id column + index; scope all queries per instance
- ProviderConfigRow: add id field; add get_by_id to trait
- LocalIndex:🆕 add provider_id param; all SQL scoped by provider_id
- factory: thread provider_id through build_local_files_bundle
- AppState.local_index: Option<Arc<LocalIndex>> → HashMap<String, Arc<LocalIndex>>
- admin_providers: restructured routes (POST /admin/providers create, PUT/DELETE /{id}, POST /test)
- admin_providers: use row.id as registry key for jellyfin and local_files
- files.rescan: optional ?provider=<id> query param
- frontend: add id to ProviderConfig, update api/hooks, new multi-instance panel UX
This commit is contained in:
@@ -99,8 +99,8 @@ async fn main() -> anyhow::Result<()> {
|
||||
.await?;
|
||||
|
||||
#[cfg(feature = "local-files")]
|
||||
if let Some(idx) = bundle.local_index {
|
||||
*state.local_index.write().await = Some(idx);
|
||||
if !bundle.local_index.is_empty() {
|
||||
*state.local_index.write().await = bundle.local_index;
|
||||
}
|
||||
#[cfg(feature = "local-files")]
|
||||
if let Some(tm) = bundle.transcode_manager {
|
||||
|
||||
Reference in New Issue
Block a user