feat: CLI support for searching for discography releases in Lidarr
This commit is contained in:
@@ -5,7 +5,7 @@ use serde_json::{Value, json};
|
||||
use crate::models::Route;
|
||||
use crate::models::lidarr_models::{
|
||||
AddArtistBody, AddArtistSearchResult, Artist, DeleteParams, EditArtistParams, LidarrCommandBody,
|
||||
LidarrHistoryItem,
|
||||
LidarrHistoryItem, LidarrRelease,
|
||||
};
|
||||
use crate::models::servarr_data::lidarr::lidarr_data::ActiveLidarrBlock;
|
||||
use crate::models::stateful_table::StatefulTable;
|
||||
@@ -317,6 +317,39 @@ impl Network<'_, '_> {
|
||||
.await
|
||||
}
|
||||
|
||||
pub(in crate::network::lidarr_network) async fn get_artist_discography_releases(
|
||||
&mut self,
|
||||
artist_id: i64,
|
||||
) -> Result<Vec<LidarrRelease>> {
|
||||
let event = LidarrEvent::GetDiscographyReleases(artist_id);
|
||||
info!("Fetching discography releases for artist with ID: {artist_id}");
|
||||
|
||||
let request_props = self
|
||||
.request_props_from(
|
||||
event,
|
||||
RequestMethod::Get,
|
||||
None::<()>,
|
||||
None,
|
||||
Some(format!("artistId={artist_id}")),
|
||||
)
|
||||
.await;
|
||||
|
||||
self
|
||||
.handle_request::<(), Vec<LidarrRelease>>(request_props, |release_vec, mut app| {
|
||||
let artist_releases_vec = release_vec
|
||||
.into_iter()
|
||||
.filter(|release| release.discography)
|
||||
.collect();
|
||||
|
||||
app
|
||||
.data
|
||||
.lidarr_data
|
||||
.discography_releases
|
||||
.set_items(artist_releases_vec);
|
||||
})
|
||||
.await
|
||||
}
|
||||
|
||||
pub(in crate::network::lidarr_network) async fn edit_artist(
|
||||
&mut self,
|
||||
mut edit_artist_params: EditArtistParams,
|
||||
|
||||
Reference in New Issue
Block a user