Fix MergeVersions()
This commit is contained in:
parent
168160d9a3
commit
c7b5bc55a1
|
@ -233,7 +233,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
.First();
|
.First();
|
||||||
}
|
}
|
||||||
|
|
||||||
var list = primaryVersion.LinkedAlternateVersions.ToList();
|
var alternateVersionsOfPrimary = primaryVersion.LinkedAlternateVersions.ToList();
|
||||||
|
|
||||||
foreach (var item in items.Where(i => i.Id != primaryVersion.Id))
|
foreach (var item in items.Where(i => i.Id != primaryVersion.Id))
|
||||||
{
|
{
|
||||||
|
@ -241,17 +241,20 @@ namespace Jellyfin.Api.Controllers
|
||||||
|
|
||||||
item.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
|
item.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
|
||||||
|
|
||||||
list.Add(new LinkedChild
|
if (!alternateVersionsOfPrimary.Any(i => string.Equals(i.Path, item.Path, StringComparison.OrdinalIgnoreCase)))
|
||||||
{
|
{
|
||||||
Path = item.Path,
|
alternateVersionsOfPrimary.Add(new LinkedChild
|
||||||
ItemId = item.Id
|
{
|
||||||
});
|
Path = item.Path,
|
||||||
|
ItemId = item.Id
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
foreach (var linkedItem in item.LinkedAlternateVersions)
|
foreach (var linkedItem in item.LinkedAlternateVersions)
|
||||||
{
|
{
|
||||||
if (!list.Any(i => string.Equals(i.Path, linkedItem.Path, StringComparison.OrdinalIgnoreCase)))
|
if (!alternateVersionsOfPrimary.Any(i => string.Equals(i.Path, linkedItem.Path, StringComparison.OrdinalIgnoreCase)))
|
||||||
{
|
{
|
||||||
list.Add(linkedItem);
|
alternateVersionsOfPrimary.Add(linkedItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -262,7 +265,7 @@ namespace Jellyfin.Api.Controllers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
primaryVersion.LinkedAlternateVersions = list.ToArray();
|
primaryVersion.LinkedAlternateVersions = alternateVersionsOfPrimary.ToArray();
|
||||||
primaryVersion.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
|
primaryVersion.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
|
||||||
return NoContent();
|
return NoContent();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user