aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs')
-rw-r--r--Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs17
1 files changed, 12 insertions, 5 deletions
diff --git a/Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs b/Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs
index 55aadae79..1dd938b1b 100644
--- a/Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs
+++ b/Jellyfin.Server/Migrations/Routines/FixPlaylistOwner.cs
@@ -53,12 +53,19 @@ 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();
-
+ 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();
+ _playlistManager.UpdatePlaylistAsync(playlist).GetAwaiter().GetResult();
+ }
+ }
+ else
+ {
+ playlist.OpenAccess = true;
_playlistManager.UpdatePlaylistAsync(playlist).GetAwaiter().GetResult();
}
}