aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Users
diff options
context:
space:
mode:
authorWWWesten <4700006+WWWesten@users.noreply.github.com>2021-11-01 23:43:29 +0500
committerGitHub <noreply@github.com>2021-11-01 23:43:29 +0500
commit0a14279e2a21bcb9654a06a2d49e1e4f0cc5329c (patch)
treee1b1bd603b011ca98e5793e356326bf4a35a7050 /MediaBrowser.Model/Users
parentf2817fef743eeb75a00782ceea363b2d3e7dc9f2 (diff)
parent76eeb8f655424d295e73ced8349c6fefee6ddb12 (diff)
Merge branch 'jellyfin:master' into master
Diffstat (limited to 'MediaBrowser.Model/Users')
-rw-r--r--MediaBrowser.Model/Users/ForgotPasswordAction.cs2
-rw-r--r--MediaBrowser.Model/Users/ForgotPasswordResult.cs5
-rw-r--r--MediaBrowser.Model/Users/PinRedeemResult.cs7
-rw-r--r--MediaBrowser.Model/Users/UserAction.cs15
-rw-r--r--MediaBrowser.Model/Users/UserActionType.cs7
-rw-r--r--MediaBrowser.Model/Users/UserPolicy.cs135
6 files changed, 103 insertions, 68 deletions
diff --git a/MediaBrowser.Model/Users/ForgotPasswordAction.cs b/MediaBrowser.Model/Users/ForgotPasswordAction.cs
index 2124126c19..f198476e3b 100644
--- a/MediaBrowser.Model/Users/ForgotPasswordAction.cs
+++ b/MediaBrowser.Model/Users/ForgotPasswordAction.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CS1591
+
namespace MediaBrowser.Model.Users
{
public enum ForgotPasswordAction
diff --git a/MediaBrowser.Model/Users/ForgotPasswordResult.cs b/MediaBrowser.Model/Users/ForgotPasswordResult.cs
index 2f9b4cf48a..6bb13d4c9d 100644
--- a/MediaBrowser.Model/Users/ForgotPasswordResult.cs
+++ b/MediaBrowser.Model/Users/ForgotPasswordResult.cs
@@ -1,3 +1,6 @@
+#nullable disable
+#pragma warning disable CS1591
+
using System;
namespace MediaBrowser.Model.Users
@@ -9,11 +12,13 @@ namespace MediaBrowser.Model.Users
/// </summary>
/// <value>The action.</value>
public ForgotPasswordAction Action { get; set; }
+
/// <summary>
/// Gets or sets the pin file.
/// </summary>
/// <value>The pin file.</value>
public string PinFile { get; set; }
+
/// <summary>
/// Gets or sets the pin expiration date.
/// </summary>
diff --git a/MediaBrowser.Model/Users/PinRedeemResult.cs b/MediaBrowser.Model/Users/PinRedeemResult.cs
index 35663ba57f..23fa631e86 100644
--- a/MediaBrowser.Model/Users/PinRedeemResult.cs
+++ b/MediaBrowser.Model/Users/PinRedeemResult.cs
@@ -1,3 +1,7 @@
+#pragma warning disable CS1591
+
+using System;
+
namespace MediaBrowser.Model.Users
{
public class PinRedeemResult
@@ -7,10 +11,11 @@ namespace MediaBrowser.Model.Users
/// </summary>
/// <value><c>true</c> if success; otherwise, <c>false</c>.</value>
public bool Success { get; set; }
+
/// <summary>
/// Gets or sets the users reset.
/// </summary>
/// <value>The users reset.</value>
- public string[] UsersReset { get; set; }
+ public string[] UsersReset { get; set; } = Array.Empty<string>();
}
}
diff --git a/MediaBrowser.Model/Users/UserAction.cs b/MediaBrowser.Model/Users/UserAction.cs
deleted file mode 100644
index 48b5bbef13..0000000000
--- a/MediaBrowser.Model/Users/UserAction.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-
-namespace MediaBrowser.Model.Users
-{
- public class UserAction
- {
- public string Id { get; set; }
- public string ServerId { get; set; }
- public Guid UserId { get; set; }
- public Guid ItemId { get; set; }
- public UserActionType Type { get; set; }
- public DateTime Date { get; set; }
- public long? PositionTicks { get; set; }
- }
-}
diff --git a/MediaBrowser.Model/Users/UserActionType.cs b/MediaBrowser.Model/Users/UserActionType.cs
deleted file mode 100644
index 5d843a7388..0000000000
--- a/MediaBrowser.Model/Users/UserActionType.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace MediaBrowser.Model.Users
-{
- public enum UserActionType
- {
- PlayedItem = 0
- }
-}
diff --git a/MediaBrowser.Model/Users/UserPolicy.cs b/MediaBrowser.Model/Users/UserPolicy.cs
index 23805b79f5..3634d07058 100644
--- a/MediaBrowser.Model/Users/UserPolicy.cs
+++ b/MediaBrowser.Model/Users/UserPolicy.cs
@@ -1,10 +1,65 @@
+#nullable disable
+#pragma warning disable CS1591, CA1819
+
using System;
-using MediaBrowser.Model.Configuration;
+using System.Xml.Serialization;
+using Jellyfin.Data.Enums;
+using AccessSchedule = Jellyfin.Data.Entities.AccessSchedule;
namespace MediaBrowser.Model.Users
{
public class UserPolicy
{
+ public UserPolicy()
+ {
+ IsHidden = true;
+
+ EnableContentDeletion = false;
+ EnableContentDeletionFromFolders = Array.Empty<string>();
+
+ EnableSyncTranscoding = true;
+ EnableMediaConversion = true;
+
+ EnableMediaPlayback = true;
+ EnableAudioPlaybackTranscoding = true;
+ EnableVideoPlaybackTranscoding = true;
+ EnablePlaybackRemuxing = true;
+ ForceRemoteSourceTranscoding = false;
+ EnableLiveTvManagement = true;
+ EnableLiveTvAccess = true;
+
+ // Without this on by default, admins won't be able to do this
+ // Improve in the future
+ EnableLiveTvManagement = true;
+
+ EnableSharedDeviceControl = true;
+
+ BlockedTags = Array.Empty<string>();
+ BlockUnratedItems = Array.Empty<UnratedItem>();
+
+ EnableUserPreferenceAccess = true;
+
+ AccessSchedules = Array.Empty<AccessSchedule>();
+
+ LoginAttemptsBeforeLockout = -1;
+
+ MaxActiveSessions = 0;
+
+ EnableAllChannels = true;
+ EnabledChannels = Array.Empty<Guid>();
+
+ EnableAllFolders = true;
+ EnabledFolders = Array.Empty<Guid>();
+
+ EnabledDevices = Array.Empty<string>();
+ EnableAllDevices = true;
+
+ EnableContentDownloading = true;
+ EnablePublicSharing = true;
+ EnableRemoteAccess = true;
+ SyncPlayAccess = SyncPlayUserAccessType.CreateAndJoinGroups;
+ }
+
/// <summary>
/// Gets or sets a value indicating whether this instance is administrator.
/// </summary>
@@ -30,23 +85,37 @@ namespace MediaBrowser.Model.Users
public int? MaxParentalRating { get; set; }
public string[] BlockedTags { get; set; }
+
public bool EnableUserPreferenceAccess { get; set; }
+
public AccessSchedule[] AccessSchedules { get; set; }
+
public UnratedItem[] BlockUnratedItems { get; set; }
+
public bool EnableRemoteControlOfOtherUsers { get; set; }
+
public bool EnableSharedDeviceControl { get; set; }
+
public bool EnableRemoteAccess { get; set; }
public bool EnableLiveTvManagement { get; set; }
+
public bool EnableLiveTvAccess { get; set; }
public bool EnableMediaPlayback { get; set; }
+
public bool EnableAudioPlaybackTranscoding { get; set; }
+
public bool EnableVideoPlaybackTranscoding { get; set; }
+
public bool EnablePlaybackRemuxing { get; set; }
+ public bool ForceRemoteSourceTranscoding { get; set; }
+
public bool EnableContentDeletion { get; set; }
+
public string[] EnableContentDeletionFromFolders { get; set; }
+
public bool EnableContentDownloading { get; set; }
/// <summary>
@@ -54,68 +123,44 @@ namespace MediaBrowser.Model.Users
/// </summary>
/// <value><c>true</c> if [enable synchronize]; otherwise, <c>false</c>.</value>
public bool EnableSyncTranscoding { get; set; }
+
public bool EnableMediaConversion { get; set; }
public string[] EnabledDevices { get; set; }
+
public bool EnableAllDevices { get; set; }
- public string[] EnabledChannels { get; set; }
+ public Guid[] EnabledChannels { get; set; }
+
public bool EnableAllChannels { get; set; }
- public string[] EnabledFolders { get; set; }
+ public Guid[] EnabledFolders { get; set; }
+
public bool EnableAllFolders { get; set; }
public int InvalidLoginAttemptCount { get; set; }
- public bool EnablePublicSharing { get; set; }
-
- public string[] BlockedMediaFolders { get; set; }
- public string[] BlockedChannels { get; set; }
-
- public int RemoteClientBitrateLimit { get; set; }
- public string AuthenticationProviderId { get; set; }
-
- public UserPolicy()
- {
- EnableContentDeletion = true;
- EnableContentDeletionFromFolders = Array.Empty<string>();
+ public int LoginAttemptsBeforeLockout { get; set; }
- EnableSyncTranscoding = true;
- EnableMediaConversion = true;
+ public int MaxActiveSessions { get; set; }
- EnableMediaPlayback = true;
- EnableAudioPlaybackTranscoding = true;
- EnableVideoPlaybackTranscoding = true;
- EnablePlaybackRemuxing = true;
-
- EnableLiveTvManagement = true;
- EnableLiveTvAccess = true;
-
- // Without this on by default, admins won't be able to do this
- // Improve in the future
- EnableLiveTvManagement = true;
-
- EnableSharedDeviceControl = true;
-
- BlockedTags = Array.Empty<string>();
- BlockUnratedItems = Array.Empty<UnratedItem>();
+ public bool EnablePublicSharing { get; set; }
- EnableUserPreferenceAccess = true;
+ public Guid[] BlockedMediaFolders { get; set; }
- AccessSchedules = Array.Empty<AccessSchedule>();
+ public Guid[] BlockedChannels { get; set; }
- EnableAllChannels = true;
- EnabledChannels = Array.Empty<string>();
+ public int RemoteClientBitrateLimit { get; set; }
- EnableAllFolders = true;
- EnabledFolders = Array.Empty<string>();
+ [XmlElement(ElementName = "AuthenticationProviderId")]
+ public string AuthenticationProviderId { get; set; }
- EnabledDevices = Array.Empty<string>();
- EnableAllDevices = true;
+ public string PasswordResetProviderId { get; set; }
- EnableContentDownloading = true;
- EnablePublicSharing = true;
- EnableRemoteAccess = true;
- }
+ /// <summary>
+ /// Gets or sets a value indicating what SyncPlay features the user can access.
+ /// </summary>
+ /// <value>Access level to SyncPlay features.</value>
+ public SyncPlayUserAccessType SyncPlayAccess { get; set; }
}
}