aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Data
diff options
context:
space:
mode:
Diffstat (limited to 'Jellyfin.Data')
-rw-r--r--Jellyfin.Data/Enums/ActivityLogSortBy.cs2
-rw-r--r--Jellyfin.Data/UserEntityExtensions.cs17
2 files changed, 18 insertions, 1 deletions
diff --git a/Jellyfin.Data/Enums/ActivityLogSortBy.cs b/Jellyfin.Data/Enums/ActivityLogSortBy.cs
index d6d44e8c07..a24185e365 100644
--- a/Jellyfin.Data/Enums/ActivityLogSortBy.cs
+++ b/Jellyfin.Data/Enums/ActivityLogSortBy.cs
@@ -1,4 +1,4 @@
-namespace Jellyfin.Data.Enums;
+namespace Jellyfin.Data.Enums;
/// <summary>
/// Activity log sorting options.
diff --git a/Jellyfin.Data/UserEntityExtensions.cs b/Jellyfin.Data/UserEntityExtensions.cs
index 0fc8d3cd25..c6468daa2e 100644
--- a/Jellyfin.Data/UserEntityExtensions.cs
+++ b/Jellyfin.Data/UserEntityExtensions.cs
@@ -163,6 +163,23 @@ public static class UserEntityExtensions
}
/// <summary>
+ /// Checks whether any library, parental rating or tag rule keeps content from this user.
+ /// </summary>
+ /// <param name="entity">The user to check.</param>
+ /// <returns><c>True</c> if some content in the library is hidden from this user.</returns>
+ public static bool HasContentRestrictions(this User entity)
+ {
+ ArgumentNullException.ThrowIfNull(entity);
+
+ return !entity.HasPermission(PermissionKind.EnableAllFolders)
+ || entity.GetPreference(PreferenceKind.BlockedMediaFolders).Length > 0
+ || entity.MaxParentalRatingScore.HasValue
+ || entity.GetPreference(PreferenceKind.BlockedTags).Length > 0
+ || entity.GetPreference(PreferenceKind.AllowedTags).Length > 0
+ || entity.GetPreference(PreferenceKind.BlockUnratedItems).Length > 0;
+ }
+
+ /// <summary>
/// Initializes the default permissions for a user. Should only be called on user creation.
/// </summary>
/// <param name="entity">The entity to update.</param>