2
0
Эх сурвалжийг харах

Merge pull request #12700 from elfalem/allowed-tags-private-playlist

Cody Robibero 8 сар өмнө
parent
commit
bc9594aeed

+ 14 - 0
Emby.Server.Implementations/Data/SqliteItemRepository.cs

@@ -4203,6 +4203,15 @@ namespace Emby.Server.Implementations.Data
                                           OR (select CleanValue from ItemValues where ItemId=ParentId and Type=6 and CleanValue in ({includedTags})) is not null)
                                           """);
                     }
+
+                    // A playlist should be accessible to its owner regardless of allowed tags.
+                    else if (includeTypes.Length == 1 && includeTypes.FirstOrDefault() is BaseItemKind.Playlist)
+                    {
+                        whereClauses.Add($"""
+                                          ((select CleanValue from ItemValues where ItemId=Guid and Type=6 and CleanValue in ({includedTags})) is not null
+                                          OR data like @PlaylistOwnerUserId)
+                                          """);
+                    }
                     else
                     {
                         whereClauses.Add("((select CleanValue from ItemValues where ItemId=Guid and Type=6 and cleanvalue in (" + includedTags + ")) is not null)");
@@ -4214,6 +4223,11 @@ namespace Emby.Server.Implementations.Data
                     {
                         statement.TryBind(paramName + index, GetCleanValue(query.IncludeInheritedTags[index]));
                     }
+
+                    if (query.User is not null)
+                    {
+                        statement.TryBind("@PlaylistOwnerUserId", $"""%"OwnerUserId":"{query.User.Id.ToString("N")}"%""");
+                    }
                 }
             }