aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/QuickConnect/QuickConnectService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/QuickConnect/QuickConnectService.cs')
-rw-r--r--MediaBrowser.Api/QuickConnect/QuickConnectService.cs40
1 files changed, 35 insertions, 5 deletions
diff --git a/MediaBrowser.Api/QuickConnect/QuickConnectService.cs b/MediaBrowser.Api/QuickConnect/QuickConnectService.cs
index 889a78839..60d6ac414 100644
--- a/MediaBrowser.Api/QuickConnect/QuickConnectService.cs
+++ b/MediaBrowser.Api/QuickConnect/QuickConnectService.cs
@@ -98,6 +98,11 @@ namespace MediaBrowser.Api.QuickConnect
public object Get(QuickConnectList request)
{
+ if(_quickConnect.State != QuickConnectState.Active)
+ {
+ return Array.Empty<QuickConnectResultDto>();
+ }
+
return _quickConnect.GetCurrentRequests();
}
@@ -124,15 +129,40 @@ namespace MediaBrowser.Api.QuickConnect
public object Post(Activate request)
{
- if (_quickConnect.State == QuickConnectState.Available)
+ string name = _authContext.GetAuthorizationInfo(Request).User.Name;
+
+ if(_quickConnect.State == QuickConnectState.Unavailable)
+ {
+ return new QuickConnectResult()
+ {
+ Error = "Quick connect is not enabled on this server"
+ };
+ }
+
+ else if(_quickConnect.State == QuickConnectState.Available)
{
- _quickConnect.SetEnabled(QuickConnectState.Active);
+ var result = _quickConnect.Activate();
- string name = _authContext.GetAuthorizationInfo(Request).User.Name;
- Logger.LogInformation("{name} enabled quick connect", name);
+ if (string.IsNullOrEmpty(result.Error))
+ {
+ Logger.LogInformation("{name} temporarily activated quick connect", name);
+ }
+
+ return result;
}
- return _quickConnect.State;
+ else if(_quickConnect.State == QuickConnectState.Active)
+ {
+ return new QuickConnectResult()
+ {
+ Error = ""
+ };
+ }
+
+ return new QuickConnectResult()
+ {
+ Error = "Unknown current state"
+ };
}
public object Post(Available request)