diff options
| author | WWWesten <4700006+WWWesten@users.noreply.github.com> | 2021-11-01 23:43:29 +0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-01 23:43:29 +0500 |
| commit | 0a14279e2a21bcb9654a06a2d49e1e4f0cc5329c (patch) | |
| tree | e1b1bd603b011ca98e5793e356326bf4a35a7050 /MediaBrowser.Model/Users | |
| parent | f2817fef743eeb75a00782ceea363b2d3e7dc9f2 (diff) | |
| parent | 76eeb8f655424d295e73ced8349c6fefee6ddb12 (diff) | |
Merge branch 'jellyfin:master' into master
Diffstat (limited to 'MediaBrowser.Model/Users')
| -rw-r--r-- | MediaBrowser.Model/Users/ForgotPasswordAction.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Model/Users/ForgotPasswordResult.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Model/Users/PinRedeemResult.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Model/Users/UserAction.cs | 15 | ||||
| -rw-r--r-- | MediaBrowser.Model/Users/UserActionType.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Model/Users/UserPolicy.cs | 135 |
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; } } } |
