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

pull/12728/head
Cody Robibero 4 months ago committed by GitHub
commit bc9594aeed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -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) 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 else
{ {
whereClauses.Add("((select CleanValue from ItemValues where ItemId=Guid and Type=6 and cleanvalue in (" + includedTags + ")) is not null)"); 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])); statement.TryBind(paramName + index, GetCleanValue(query.IncludeInheritedTags[index]));
} }
if (query.User is not null)
{
statement.TryBind("@PlaylistOwnerUserId", $"""%"OwnerUserId":"{query.User.Id.ToString("N")}"%""");
}
} }
} }

Loading…
Cancel
Save