diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2023-05-25 17:07:43 +0200 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2023-05-25 17:07:43 +0200 |
| commit | d8d5c86d49cfb81baea5f7219fa495c2b7edf98c (patch) | |
| tree | 5befce0ac43b4f98ca29824641c5bf5fcc27c685 /Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs | |
| parent | b37e9209df94dcad757d0b9ad0a7a7076c3cf743 (diff) | |
| parent | d67f10ba8c858626a8c9ea39c7cc48e3aa6ff415 (diff) | |
Merge branch 'master' into network-rewrite
Diffstat (limited to 'Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs')
| -rw-r--r-- | Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs b/Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs index 55aadae79..cf3182003 100644 --- a/Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs +++ b/Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using System.Threading; using Jellyfin.Data.Enums; using MediaBrowser.Controller.Entities; @@ -53,13 +54,21 @@ internal class FixPlaylistOwner : IMigrationRoutine foreach (var playlist in playlists) { var shares = playlist.Shares; - var firstEditShare = shares.First(x => x.CanEdit); - if (firstEditShare is not null && Guid.TryParse(firstEditShare.UserId, out var guid)) + if (shares.Length > 0) { - playlist.OwnerUserId = guid; - playlist.Shares = shares.Where(x => x != firstEditShare).ToArray(); - - _playlistManager.UpdatePlaylistAsync(playlist).GetAwaiter().GetResult(); + var firstEditShare = shares.First(x => x.CanEdit); + if (firstEditShare is not null && Guid.TryParse(firstEditShare.UserId, out var guid)) + { + playlist.OwnerUserId = guid; + playlist.Shares = shares.Where(x => x != firstEditShare).ToArray(); + playlist.UpdateToRepositoryAsync(ItemUpdateType.MetadataEdit, CancellationToken.None).GetAwaiter().GetResult(); + _playlistManager.SavePlaylistFile(playlist); + } + } + else + { + playlist.OpenAccess = true; + playlist.UpdateToRepositoryAsync(ItemUpdateType.MetadataEdit, CancellationToken.None).GetAwaiter().GetResult(); } } } |
