refactor: Removed unnecessary clones in the networking module to speed up network request handling
This commit is contained in:
@@ -281,7 +281,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
|
|
||||||
async fn add_movie(&mut self, mut add_movie_body: AddMovieBody) -> Result<Value> {
|
async fn add_movie(&mut self, mut add_movie_body: AddMovieBody) -> Result<Value> {
|
||||||
info!("Adding new movie to Radarr");
|
info!("Adding new movie to Radarr");
|
||||||
let event = RadarrEvent::AddMovie(add_movie_body.clone());
|
let event = RadarrEvent::AddMovie(AddMovieBody::default());
|
||||||
if let Some(tag_input_str) = add_movie_body.tag_input_string.as_ref() {
|
if let Some(tag_input_str) = add_movie_body.tag_input_string.as_ref() {
|
||||||
let tag_ids_vec = self.extract_and_add_radarr_tag_ids_vec(tag_input_str).await;
|
let tag_ids_vec = self.extract_and_add_radarr_tag_ids_vec(tag_input_str).await;
|
||||||
add_movie_body.tags = tag_ids_vec;
|
add_movie_body.tags = tag_ids_vec;
|
||||||
@@ -303,7 +303,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
add_root_folder_body: AddRootFolderBody,
|
add_root_folder_body: AddRootFolderBody,
|
||||||
) -> Result<Value> {
|
) -> Result<Value> {
|
||||||
info!("Adding new root folder to Radarr");
|
info!("Adding new root folder to Radarr");
|
||||||
let event = RadarrEvent::AddRootFolder(add_root_folder_body.clone());
|
let event = RadarrEvent::AddRootFolder(AddRootFolderBody::default());
|
||||||
|
|
||||||
debug!("Add root folder body: {add_root_folder_body:?}");
|
debug!("Add root folder body: {add_root_folder_body:?}");
|
||||||
|
|
||||||
@@ -452,7 +452,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn delete_movie(&mut self, delete_movie_params: DeleteMovieParams) -> Result<()> {
|
async fn delete_movie(&mut self, delete_movie_params: DeleteMovieParams) -> Result<()> {
|
||||||
let event = RadarrEvent::DeleteMovie(delete_movie_params.clone());
|
let event = RadarrEvent::DeleteMovie(DeleteMovieParams::default());
|
||||||
let DeleteMovieParams {
|
let DeleteMovieParams {
|
||||||
id,
|
id,
|
||||||
delete_movie_files,
|
delete_movie_files,
|
||||||
@@ -497,7 +497,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn download_radarr_release(&mut self, params: RadarrReleaseDownloadBody) -> Result<Value> {
|
async fn download_radarr_release(&mut self, params: RadarrReleaseDownloadBody) -> Result<Value> {
|
||||||
let event = RadarrEvent::DownloadRelease(params.clone());
|
let event = RadarrEvent::DownloadRelease(RadarrReleaseDownloadBody::default());
|
||||||
info!("Downloading Radarr release with params: {params:?}");
|
info!("Downloading Radarr release with params: {params:?}");
|
||||||
|
|
||||||
let request_props = self
|
let request_props = self
|
||||||
@@ -511,7 +511,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
|
|
||||||
async fn edit_all_radarr_indexer_settings(&mut self, params: IndexerSettings) -> Result<Value> {
|
async fn edit_all_radarr_indexer_settings(&mut self, params: IndexerSettings) -> Result<Value> {
|
||||||
info!("Updating Radarr indexer settings");
|
info!("Updating Radarr indexer settings");
|
||||||
let event = RadarrEvent::EditAllIndexerSettings(params.clone());
|
let event = RadarrEvent::EditAllIndexerSettings(IndexerSettings::default());
|
||||||
|
|
||||||
debug!("Indexer settings body: {params:?}");
|
debug!("Indexer settings body: {params:?}");
|
||||||
|
|
||||||
@@ -527,7 +527,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
async fn edit_collection(&mut self, edit_collection_params: EditCollectionParams) -> Result<()> {
|
async fn edit_collection(&mut self, edit_collection_params: EditCollectionParams) -> Result<()> {
|
||||||
info!("Editing Radarr collection");
|
info!("Editing Radarr collection");
|
||||||
let detail_event = RadarrEvent::GetCollections;
|
let detail_event = RadarrEvent::GetCollections;
|
||||||
let event = RadarrEvent::EditCollection(edit_collection_params.clone());
|
let event = RadarrEvent::EditCollection(EditCollectionParams::default());
|
||||||
info!("Fetching collection details");
|
info!("Fetching collection details");
|
||||||
let collection_id = edit_collection_params.collection_id;
|
let collection_id = edit_collection_params.collection_id;
|
||||||
|
|
||||||
@@ -625,7 +625,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
mut edit_indexer_params: EditIndexerParams,
|
mut edit_indexer_params: EditIndexerParams,
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
let detail_event = RadarrEvent::GetIndexers;
|
let detail_event = RadarrEvent::GetIndexers;
|
||||||
let event = RadarrEvent::EditIndexer(edit_indexer_params.clone());
|
let event = RadarrEvent::EditIndexer(EditIndexerParams::default());
|
||||||
let id = edit_indexer_params.indexer_id;
|
let id = edit_indexer_params.indexer_id;
|
||||||
if let Some(tag_input_str) = edit_indexer_params.tag_input_string.as_ref() {
|
if let Some(tag_input_str) = edit_indexer_params.tag_input_string.as_ref() {
|
||||||
let tag_ids_vec = self.extract_and_add_radarr_tag_ids_vec(tag_input_str).await;
|
let tag_ids_vec = self.extract_and_add_radarr_tag_ids_vec(tag_input_str).await;
|
||||||
@@ -827,7 +827,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
info!("Editing Radarr movie");
|
info!("Editing Radarr movie");
|
||||||
let movie_id = edit_movie_params.movie_id;
|
let movie_id = edit_movie_params.movie_id;
|
||||||
let detail_event = RadarrEvent::GetMovieDetails(movie_id);
|
let detail_event = RadarrEvent::GetMovieDetails(movie_id);
|
||||||
let event = RadarrEvent::EditMovie(edit_movie_params.clone());
|
let event = RadarrEvent::EditMovie(EditMovieParams::default());
|
||||||
if let Some(tag_input_str) = edit_movie_params.tag_input_string.as_ref() {
|
if let Some(tag_input_str) = edit_movie_params.tag_input_string.as_ref() {
|
||||||
let tag_ids_vec = self.extract_and_add_radarr_tag_ids_vec(tag_input_str).await;
|
let tag_ids_vec = self.extract_and_add_radarr_tag_ids_vec(tag_input_str).await;
|
||||||
edit_movie_params.tags = Some(tag_ids_vec);
|
edit_movie_params.tags = Some(tag_ids_vec);
|
||||||
@@ -1597,7 +1597,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
|
|
||||||
async fn search_movie(&mut self, query: String) -> Result<Vec<AddMovieSearchResult>> {
|
async fn search_movie(&mut self, query: String) -> Result<Vec<AddMovieSearchResult>> {
|
||||||
info!("Searching for specific Radarr movie");
|
info!("Searching for specific Radarr movie");
|
||||||
let event = RadarrEvent::SearchNewMovie(query.clone());
|
let event = RadarrEvent::SearchNewMovie(String::new());
|
||||||
|
|
||||||
let request_props = self
|
let request_props = self
|
||||||
.request_props_from(
|
.request_props_from(
|
||||||
@@ -1822,11 +1822,15 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn extract_and_add_radarr_tag_ids_vec(&mut self, edit_tags: &str) -> Vec<i64> {
|
async fn extract_and_add_radarr_tag_ids_vec(&mut self, edit_tags: &str) -> Vec<i64> {
|
||||||
let tags_map = self.app.lock().await.data.radarr_data.tags_map.clone();
|
let missing_tags_vec = {
|
||||||
let missing_tags_vec = edit_tags
|
let tags_map = &self.app.lock().await.data.radarr_data.tags_map;
|
||||||
.split(',')
|
edit_tags
|
||||||
.filter(|&tag| !tag.is_empty() && tags_map.get_by_right(tag.to_lowercase().trim()).is_none())
|
.split(',')
|
||||||
.collect::<Vec<&str>>();
|
.filter(|&tag| {
|
||||||
|
!tag.is_empty() && tags_map.get_by_right(tag.to_lowercase().trim()).is_none()
|
||||||
|
})
|
||||||
|
.collect::<Vec<&str>>()
|
||||||
|
};
|
||||||
|
|
||||||
for tag in missing_tags_vec {
|
for tag in missing_tags_vec {
|
||||||
self
|
self
|
||||||
|
|||||||
@@ -361,7 +361,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
add_root_folder_body: AddRootFolderBody,
|
add_root_folder_body: AddRootFolderBody,
|
||||||
) -> Result<Value> {
|
) -> Result<Value> {
|
||||||
info!("Adding new root folder to Sonarr");
|
info!("Adding new root folder to Sonarr");
|
||||||
let event = SonarrEvent::AddRootFolder(add_root_folder_body.clone());
|
let event = SonarrEvent::AddRootFolder(AddRootFolderBody::default());
|
||||||
|
|
||||||
debug!("Add root folder body: {add_root_folder_body:?}");
|
debug!("Add root folder body: {add_root_folder_body:?}");
|
||||||
|
|
||||||
@@ -382,7 +382,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
|
|
||||||
async fn add_sonarr_series(&mut self, mut add_series_body: AddSeriesBody) -> Result<Value> {
|
async fn add_sonarr_series(&mut self, mut add_series_body: AddSeriesBody) -> Result<Value> {
|
||||||
info!("Adding new series to Sonarr");
|
info!("Adding new series to Sonarr");
|
||||||
let event = SonarrEvent::AddSeries(add_series_body.clone());
|
let event = SonarrEvent::AddSeries(AddSeriesBody::default());
|
||||||
if let Some(tag_input_str) = add_series_body.tag_input_string.as_ref() {
|
if let Some(tag_input_str) = add_series_body.tag_input_string.as_ref() {
|
||||||
let tag_ids_vec = self.extract_and_add_sonarr_tag_ids_vec(tag_input_str).await;
|
let tag_ids_vec = self.extract_and_add_sonarr_tag_ids_vec(tag_input_str).await;
|
||||||
add_series_body.tags = tag_ids_vec;
|
add_series_body.tags = tag_ids_vec;
|
||||||
@@ -553,7 +553,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn delete_series(&mut self, delete_series_params: DeleteSeriesParams) -> Result<()> {
|
async fn delete_series(&mut self, delete_series_params: DeleteSeriesParams) -> Result<()> {
|
||||||
let event = SonarrEvent::DeleteSeries(delete_series_params.clone());
|
let event = SonarrEvent::DeleteSeries(DeleteSeriesParams::default());
|
||||||
let DeleteSeriesParams {
|
let DeleteSeriesParams {
|
||||||
id,
|
id,
|
||||||
delete_series_files,
|
delete_series_files,
|
||||||
@@ -602,7 +602,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
&mut self,
|
&mut self,
|
||||||
sonarr_release_download_body: SonarrReleaseDownloadBody,
|
sonarr_release_download_body: SonarrReleaseDownloadBody,
|
||||||
) -> Result<Value> {
|
) -> Result<Value> {
|
||||||
let event = SonarrEvent::DownloadRelease(sonarr_release_download_body.clone());
|
let event = SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody::default());
|
||||||
info!("Downloading Sonarr release with params: {sonarr_release_download_body:?}");
|
info!("Downloading Sonarr release with params: {sonarr_release_download_body:?}");
|
||||||
|
|
||||||
let request_props = self
|
let request_props = self
|
||||||
@@ -622,7 +622,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
|
|
||||||
async fn edit_all_sonarr_indexer_settings(&mut self, params: IndexerSettings) -> Result<Value> {
|
async fn edit_all_sonarr_indexer_settings(&mut self, params: IndexerSettings) -> Result<Value> {
|
||||||
info!("Updating Sonarr indexer settings");
|
info!("Updating Sonarr indexer settings");
|
||||||
let event = SonarrEvent::EditAllIndexerSettings(params.clone());
|
let event = SonarrEvent::EditAllIndexerSettings(IndexerSettings::default());
|
||||||
debug!("Indexer settings body: {params:?}");
|
debug!("Indexer settings body: {params:?}");
|
||||||
|
|
||||||
let request_props = self
|
let request_props = self
|
||||||
@@ -643,7 +643,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
edit_indexer_params.tags = Some(tag_ids_vec);
|
edit_indexer_params.tags = Some(tag_ids_vec);
|
||||||
}
|
}
|
||||||
let detail_event = SonarrEvent::GetIndexers;
|
let detail_event = SonarrEvent::GetIndexers;
|
||||||
let event = SonarrEvent::EditIndexer(edit_indexer_params.clone());
|
let event = SonarrEvent::EditIndexer(EditIndexerParams::default());
|
||||||
let id = edit_indexer_params.indexer_id;
|
let id = edit_indexer_params.indexer_id;
|
||||||
info!("Updating Sonarr indexer with ID: {id}");
|
info!("Updating Sonarr indexer with ID: {id}");
|
||||||
info!("Fetching indexer details for indexer with ID: {id}");
|
info!("Fetching indexer details for indexer with ID: {id}");
|
||||||
@@ -844,7 +844,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
}
|
}
|
||||||
let series_id = edit_series_params.series_id;
|
let series_id = edit_series_params.series_id;
|
||||||
let detail_event = SonarrEvent::GetSeriesDetails(series_id);
|
let detail_event = SonarrEvent::GetSeriesDetails(series_id);
|
||||||
let event = SonarrEvent::EditSeries(edit_series_params.clone());
|
let event = SonarrEvent::EditSeries(EditSeriesParams::default());
|
||||||
info!("Fetching series details for series with ID: {series_id}");
|
info!("Fetching series details for series with ID: {series_id}");
|
||||||
|
|
||||||
let request_props = self
|
let request_props = self
|
||||||
@@ -1986,7 +1986,7 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
|
|
||||||
async fn search_sonarr_series(&mut self, query: String) -> Result<Vec<AddSeriesSearchResult>> {
|
async fn search_sonarr_series(&mut self, query: String) -> Result<Vec<AddSeriesSearchResult>> {
|
||||||
info!("Searching for specific Sonarr series");
|
info!("Searching for specific Sonarr series");
|
||||||
let event = SonarrEvent::SearchNewSeries(query.clone());
|
let event = SonarrEvent::SearchNewSeries(String::new());
|
||||||
|
|
||||||
let request_props = self
|
let request_props = self
|
||||||
.request_props_from(
|
.request_props_from(
|
||||||
@@ -2286,11 +2286,15 @@ impl<'a, 'b> Network<'a, 'b> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn extract_and_add_sonarr_tag_ids_vec(&mut self, edit_tags: &str) -> Vec<i64> {
|
async fn extract_and_add_sonarr_tag_ids_vec(&mut self, edit_tags: &str) -> Vec<i64> {
|
||||||
let tags_map = self.app.lock().await.data.sonarr_data.tags_map.clone();
|
let missing_tags_vec = {
|
||||||
let missing_tags_vec = edit_tags
|
let tags_map = &self.app.lock().await.data.sonarr_data.tags_map;
|
||||||
.split(',')
|
edit_tags
|
||||||
.filter(|&tag| !tag.is_empty() && tags_map.get_by_right(tag.to_lowercase().trim()).is_none())
|
.split(',')
|
||||||
.collect::<Vec<&str>>();
|
.filter(|&tag| {
|
||||||
|
!tag.is_empty() && tags_map.get_by_right(tag.to_lowercase().trim()).is_none()
|
||||||
|
})
|
||||||
|
.collect::<Vec<&str>>()
|
||||||
|
};
|
||||||
|
|
||||||
for tag in missing_tags_vec {
|
for tag in missing_tags_vec {
|
||||||
self
|
self
|
||||||
|
|||||||
Reference in New Issue
Block a user