aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConfusedPolarBear <33811686+ConfusedPolarBear@users.noreply.github.com>2020-06-08 15:48:18 -0500
committerConfusedPolarBear <33811686+ConfusedPolarBear@users.noreply.github.com>2020-06-08 15:48:18 -0500
commit0d6a63bf84d7ad971128c6ba6cad77e76e023536 (patch)
tree1e8e533022ba43fa0c0bfa233b6ecc50680b7cff
parent35ff2be9d766ba4f5d85f859d86ff03ce588795f (diff)
Make all properties nullable
-rw-r--r--Emby.Server.Implementations/QuickConnect/ConfigurationExtension.cs2
-rw-r--r--Emby.Server.Implementations/QuickConnect/QuickConnectConfiguration.cs2
-rw-r--r--Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs10
-rw-r--r--MediaBrowser.Model/QuickConnect/QuickConnectResult.cs14
-rw-r--r--MediaBrowser.Model/QuickConnect/QuickConnectResultDto.cs8
5 files changed, 21 insertions, 15 deletions
diff --git a/Emby.Server.Implementations/QuickConnect/ConfigurationExtension.cs b/Emby.Server.Implementations/QuickConnect/ConfigurationExtension.cs
index 458bb7614..0e35ba80a 100644
--- a/Emby.Server.Implementations/QuickConnect/ConfigurationExtension.cs
+++ b/Emby.Server.Implementations/QuickConnect/ConfigurationExtension.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CS1591
+
using System.Collections.Generic;
using MediaBrowser.Common.Configuration;
diff --git a/Emby.Server.Implementations/QuickConnect/QuickConnectConfiguration.cs b/Emby.Server.Implementations/QuickConnect/QuickConnectConfiguration.cs
index befc46379..11e558bae 100644
--- a/Emby.Server.Implementations/QuickConnect/QuickConnectConfiguration.cs
+++ b/Emby.Server.Implementations/QuickConnect/QuickConnectConfiguration.cs
@@ -1,3 +1,5 @@
+#pragma warning disable CS1591
+
using MediaBrowser.Model.QuickConnect;
namespace Emby.Server.Implementations.QuickConnect
diff --git a/Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs b/Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs
index b8b51adb6..929e021a3 100644
--- a/Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs
+++ b/Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs
@@ -234,7 +234,8 @@ namespace Emby.Server.Implementations.QuickConnect
result.Authentication = Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture);
// Advance the time on the request so it expires sooner as the client will pick up the changes in a few seconds
- result.DateAdded = result.DateAdded.Subtract(new TimeSpan(0, RequestExpiry - 1, 0));
+ var added = result.DateAdded ?? DateTime.Now.Subtract(new TimeSpan(0, RequestExpiry, 0));
+ result.DateAdded = added.Subtract(new TimeSpan(0, RequestExpiry - 1, 0));
_authenticationRepository.Create(new AuthenticationInfo
{
@@ -284,7 +285,7 @@ namespace Emby.Server.Implementations.QuickConnect
{
bool expireAll = false;
- // check if quick connect should be deactivated
+ // Check if quick connect should be deactivated
if (TemporaryActivation && DateTime.Now > DateActivated.AddMinutes(10) && State == QuickConnectState.Active)
{
_logger.LogDebug("Quick connect time expired, deactivating");
@@ -293,13 +294,14 @@ namespace Emby.Server.Implementations.QuickConnect
TemporaryActivation = false;
}
- // expire stale connection requests
+ // Expire stale connection requests
var delete = new List<string>();
var values = _currentRequests.Values.ToList();
for (int i = 0; i < _currentRequests.Count; i++)
{
- if (DateTime.Now > values[i].DateAdded.AddMinutes(RequestExpiry) || expireAll)
+ var added = values[i].DateAdded ?? DateTime.UnixEpoch;
+ if (DateTime.Now > added.AddMinutes(RequestExpiry) || expireAll)
{
delete.Add(values[i].Lookup);
}
diff --git a/MediaBrowser.Model/QuickConnect/QuickConnectResult.cs b/MediaBrowser.Model/QuickConnect/QuickConnectResult.cs
index bc3fd0046..32d7f6aba 100644
--- a/MediaBrowser.Model/QuickConnect/QuickConnectResult.cs
+++ b/MediaBrowser.Model/QuickConnect/QuickConnectResult.cs
@@ -15,36 +15,36 @@ namespace MediaBrowser.Model.QuickConnect
/// <summary>
/// Gets or sets the secret value used to uniquely identify this request. Can be used to retrieve authentication information.
/// </summary>
- public string Secret { get; set; }
+ public string? Secret { get; set; }
/// <summary>
/// Gets or sets the public value used to uniquely identify this request. Can only be used to authorize the request.
/// </summary>
- public string Lookup { get; set; }
+ public string? Lookup { get; set; }
/// <summary>
/// Gets or sets the user facing code used so the user can quickly differentiate this request from others.
/// </summary>
- public string Code { get; set; }
+ public string? Code { get; set; }
/// <summary>
/// Gets or sets the device friendly name.
/// </summary>
- public string FriendlyName { get; set; }
+ public string? FriendlyName { get; set; }
/// <summary>
/// Gets or sets the private access token.
/// </summary>
- public string Authentication { get; set; }
+ public string? Authentication { get; set; }
/// <summary>
/// Gets or sets an error message.
/// </summary>
- public string Error { get; set; }
+ public string? Error { get; set; }
/// <summary>
/// Gets or sets the DateTime that this request was created.
/// </summary>
- public DateTime DateAdded { get; set; }
+ public DateTime? DateAdded { get; set; }
}
}
diff --git a/MediaBrowser.Model/QuickConnect/QuickConnectResultDto.cs b/MediaBrowser.Model/QuickConnect/QuickConnectResultDto.cs
index 671b7cc94..19acc7cd8 100644
--- a/MediaBrowser.Model/QuickConnect/QuickConnectResultDto.cs
+++ b/MediaBrowser.Model/QuickConnect/QuickConnectResultDto.cs
@@ -15,22 +15,22 @@ namespace MediaBrowser.Model.QuickConnect
/// <summary>
/// Gets the user facing code used so the user can quickly differentiate this request from others.
/// </summary>
- public string Code { get; private set; }
+ public string? Code { get; private set; }
/// <summary>
/// Gets the public value used to uniquely identify this request. Can only be used to authorize the request.
/// </summary>
- public string Lookup { get; private set; }
+ public string? Lookup { get; private set; }
/// <summary>
/// Gets the device friendly name.
/// </summary>
- public string FriendlyName { get; private set; }
+ public string? FriendlyName { get; private set; }
/// <summary>
/// Gets the DateTime that this request was created.
/// </summary>
- public DateTime DateAdded { get; private set; }
+ public DateTime? DateAdded { get; private set; }
/// <summary>
/// Cast an internal quick connect result to a DTO by removing all sensitive properties.