feat: Support for multiple servarr definitions - no tests [skip ci]

This commit is contained in:
2025-02-27 18:00:28 -07:00
parent 111485e7c4
commit 9b63b10118
9 changed files with 191 additions and 112 deletions
+17 -20
View File
@@ -15,7 +15,7 @@ use tokio::sync::{Mutex, MutexGuard};
use tokio_util::sync::CancellationToken;
use crate::app::{App, ServarrConfig};
use crate::models::Serdeable;
use crate::models::{Route, Serdeable};
use crate::network::radarr_network::RadarrEvent;
#[cfg(test)]
use mockall::automock;
@@ -206,25 +206,22 @@ impl<'a, 'b> Network<'a, 'b> {
{
let app = self.app.lock().await;
let resource = network_event.resource();
let (
ServarrConfig {
host,
port,
uri,
api_token,
ssl_cert_path,
..
},
default_port,
) = match network_event.into() {
NetworkEvent::Radarr(_) => (
&app.config.radarr.as_ref().expect("Radarr config undefined"),
7878,
),
NetworkEvent::Sonarr(_) => (
&app.config.sonarr.as_ref().expect("Sonarr config undefined"),
8989,
),
let ServarrConfig {
host,
port,
uri,
api_token,
ssl_cert_path,
..
} = app
.server_tabs
.get_active_config()
.as_ref()
.expect("Servarr config is undefined");
let default_port = match app.get_current_route() {
Route::Radarr(_, _) => 7878,
Route::Sonarr(_, _) => 8989,
_ => 0,
};
let mut uri = if let Some(servarr_uri) = uri {
format!("{servarr_uri}/api/v3{resource}")