Validate cast receiver id on get/set

pull/10270/head
Cody Robibero 9 months ago
parent ba7e3bfd82
commit bc88c96cbe

@ -328,7 +328,8 @@ namespace Jellyfin.Server.Implementations.Users
LatestItemsExcludes = user.GetPreferenceValues<Guid>(PreferenceKind.LatestItemExcludes), LatestItemsExcludes = user.GetPreferenceValues<Guid>(PreferenceKind.LatestItemExcludes),
CastReceiverId = string.IsNullOrEmpty(user.CastReceiverId) CastReceiverId = string.IsNullOrEmpty(user.CastReceiverId)
? _serverConfigurationManager.Configuration.CastReceiverApplications.FirstOrDefault()?.Id ? _serverConfigurationManager.Configuration.CastReceiverApplications.FirstOrDefault()?.Id
: user.CastReceiverId : _serverConfigurationManager.Configuration.CastReceiverApplications.FirstOrDefault(c => string.Equals(c.Id, user.CastReceiverId, StringComparison.Ordinal))?.Id
?? _serverConfigurationManager.Configuration.CastReceiverApplications.FirstOrDefault()?.Id
}, },
Policy = new UserPolicy Policy = new UserPolicy
{ {
@ -616,7 +617,10 @@ namespace Jellyfin.Server.Implementations.Users
user.EnableNextEpisodeAutoPlay = config.EnableNextEpisodeAutoPlay; user.EnableNextEpisodeAutoPlay = config.EnableNextEpisodeAutoPlay;
user.RememberSubtitleSelections = config.RememberSubtitleSelections; user.RememberSubtitleSelections = config.RememberSubtitleSelections;
user.SubtitleLanguagePreference = config.SubtitleLanguagePreference; user.SubtitleLanguagePreference = config.SubtitleLanguagePreference;
if (!string.IsNullOrEmpty(config.CastReceiverId))
// Only set cast receiver id if it is passed in and it exists in the server config.
if (!string.IsNullOrEmpty(config.CastReceiverId)
&& _serverConfigurationManager.Configuration.CastReceiverApplications.Any(c => string.Equals(c.Id, config.CastReceiverId, StringComparison.Ordinal)))
{ {
user.CastReceiverId = config.CastReceiverId; user.CastReceiverId = config.CastReceiverId;
} }

Loading…
Cancel
Save