mirror of
https://github.com/LLukas22/Jellyswarrm.git
synced 2025-12-23 22:47:47 -05:00
Merge pull request #63 from LLukas22/Fix-server-names
Respect 'Add Server Names to Media' setting
This commit is contained in:
@@ -183,20 +183,27 @@ pub async fn get_virtual_id(
|
||||
/// Replaces the original ids with vitual ids that map back to the original media item and server.
|
||||
pub async fn process_media_item(
|
||||
item: MediaItem,
|
||||
media_storage: &MediaStorageService,
|
||||
state: &AppState,
|
||||
server: &Server,
|
||||
change_name: bool,
|
||||
should_change_name: bool,
|
||||
server_id: &str,
|
||||
) -> Result<MediaItem, StatusCode> {
|
||||
let mut item = item;
|
||||
|
||||
let media_storage = &state.media_storage;
|
||||
|
||||
let allowed_to_change_name = state.can_change_item_names().await;
|
||||
|
||||
let can_change_name = if let Some(ref collection_type) = item.collection_type {
|
||||
!matches!(collection_type, CollectionType::LiveTv)
|
||||
match collection_type {
|
||||
CollectionType::LiveTv => false,
|
||||
_ => allowed_to_change_name,
|
||||
}
|
||||
} else {
|
||||
true
|
||||
allowed_to_change_name
|
||||
};
|
||||
|
||||
if can_change_name && change_name {
|
||||
if can_change_name && should_change_name {
|
||||
if let Some(name) = &item.name {
|
||||
item.name = Some(format!("{} [{}]", name, server.name));
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ pub async fn get_items_from_all_servers(
|
||||
for item in items_response.iter_mut_items() {
|
||||
match process_media_item(
|
||||
item.clone(),
|
||||
&state_clone.media_storage,
|
||||
&state_clone,
|
||||
&server_clone,
|
||||
true, // Change name to include server name
|
||||
&server_id,
|
||||
|
||||
@@ -34,8 +34,7 @@ pub async fn get_item(
|
||||
Ok(media_item) => {
|
||||
let server_id = { state.config.read().await.server_id.clone() };
|
||||
Ok(Json(
|
||||
process_media_item(media_item, &state.media_storage, &server, false, &server_id)
|
||||
.await?,
|
||||
process_media_item(media_item, &state, &server, false, &server_id).await?,
|
||||
))
|
||||
}
|
||||
Err(e) => {
|
||||
@@ -67,14 +66,8 @@ pub async fn get_items(
|
||||
Ok(mut response) => {
|
||||
let server_id = { state.config.read().await.server_id.clone() };
|
||||
for item in &mut response.iter_mut_items() {
|
||||
*item = process_media_item(
|
||||
item.clone(),
|
||||
&state.media_storage,
|
||||
&server,
|
||||
false,
|
||||
&server_id,
|
||||
)
|
||||
.await?;
|
||||
*item =
|
||||
process_media_item(item.clone(), &state, &server, false, &server_id).await?;
|
||||
}
|
||||
|
||||
Ok(Json(response))
|
||||
@@ -103,14 +96,8 @@ pub async fn get_items_list(
|
||||
Ok(mut response) => {
|
||||
let server_id = { state.config.read().await.server_id.clone() };
|
||||
for item in &mut response {
|
||||
*item = process_media_item(
|
||||
item.clone(),
|
||||
&state.media_storage,
|
||||
&server,
|
||||
false,
|
||||
&server_id,
|
||||
)
|
||||
.await?;
|
||||
*item =
|
||||
process_media_item(item.clone(), &state, &server, false, &server_id).await?;
|
||||
}
|
||||
|
||||
Ok(Json(response))
|
||||
|
||||
@@ -117,6 +117,11 @@ impl AppState {
|
||||
config.password.clone()
|
||||
}
|
||||
|
||||
pub async fn can_change_item_names(&self) -> bool {
|
||||
let config = self.config.read().await;
|
||||
config.include_server_name_in_media
|
||||
}
|
||||
|
||||
pub async fn remove_prefix_from_path<'a>(&self, path: &'a str) -> &'a str {
|
||||
let config = self.config.read().await;
|
||||
if let Some(prefix) = &config.url_prefix {
|
||||
|
||||
Reference in New Issue
Block a user