From 035d29fb357006c29ffb40e0a53c1e999237cdd1 Mon Sep 17 00:00:00 2001
From: Matt Montgomery <33811686+ConfusedPolarBear@users.noreply.github.com>
Date: Thu, 13 Aug 2020 15:35:04 -0500
Subject: Migrate to new API standard
---
Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs | 13 +++++++++++++
1 file changed, 13 insertions(+)
create mode 100644 Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs
(limited to 'Jellyfin.Api/Models')
diff --git a/Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs b/Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs
new file mode 100644
index 000000000..8f53d5f37
--- /dev/null
+++ b/Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs
@@ -0,0 +1,13 @@
+namespace Jellyfin.Api.Models.UserDtos
+{
+ ///
+ /// The quick connect request body.
+ ///
+ public class QuickConnectDto
+ {
+ ///
+ /// Gets or sets the quick connect token.
+ ///
+ public string? Token { get; set; }
+ }
+}
--
cgit v1.2.3
From eaa57115347f6f70d478f2ca39601d2e70efbdaf Mon Sep 17 00:00:00 2001
From: ConfusedPolarBear <33811686+ConfusedPolarBear@users.noreply.github.com>
Date: Sun, 16 Aug 2020 17:21:08 -0500
Subject: Apply suggestions from code review
Co-authored-by: Cody Robibero
---
Jellyfin.Api/Controllers/QuickConnectController.cs | 15 +++++----------
Jellyfin.Api/Controllers/UserController.cs | 5 -----
Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs | 1 +
3 files changed, 6 insertions(+), 15 deletions(-)
(limited to 'Jellyfin.Api/Models')
diff --git a/Jellyfin.Api/Controllers/QuickConnectController.cs b/Jellyfin.Api/Controllers/QuickConnectController.cs
index d45ea058d..fd5453595 100644
--- a/Jellyfin.Api/Controllers/QuickConnectController.cs
+++ b/Jellyfin.Api/Controllers/QuickConnectController.cs
@@ -46,7 +46,7 @@ namespace Jellyfin.Api.Controllers
public ActionResult GetStatus()
{
_quickConnect.ExpireRequests();
- return Ok(_quickConnect.State);
+ return _quickConnect.State;
}
///
@@ -60,7 +60,7 @@ namespace Jellyfin.Api.Controllers
[ProducesResponseType(StatusCodes.Status200OK)]
public ActionResult Initiate([FromQuery] string? friendlyName)
{
- return Ok(_quickConnect.TryConnect(friendlyName));
+ return _quickConnect.TryConnect(friendlyName);
}
///
@@ -78,7 +78,7 @@ namespace Jellyfin.Api.Controllers
try
{
var result = _quickConnect.CheckRequestStatus(secret);
- return Ok(result);
+ return result;
}
catch (ResourceNotFoundException)
{
@@ -135,12 +135,7 @@ namespace Jellyfin.Api.Controllers
[ProducesResponseType(StatusCodes.Status400BadRequest)]
public ActionResult Authorize([FromQuery, Required] string? code)
{
- if (code == null)
- {
- return BadRequest("Missing code");
- }
-
- return Ok(_quickConnect.AuthorizeRequest(Request, code));
+ return _quickConnect.AuthorizeRequest(Request, code);
}
///
@@ -153,7 +148,7 @@ namespace Jellyfin.Api.Controllers
[ProducesResponseType(StatusCodes.Status200OK)]
public ActionResult Deauthorize()
{
- var userId = _authContext.GetAuthorizationInfo(Request).UserId;
+ var userId = ClaimHelpers.GetUserId(request.HttpContext.User);
return _quickConnect.DeleteAllDevices(userId);
}
}
diff --git a/Jellyfin.Api/Controllers/UserController.cs b/Jellyfin.Api/Controllers/UserController.cs
index 131fffb7a..355816bd3 100644
--- a/Jellyfin.Api/Controllers/UserController.cs
+++ b/Jellyfin.Api/Controllers/UserController.cs
@@ -227,11 +227,6 @@ namespace Jellyfin.Api.Controllers
[ProducesResponseType(StatusCodes.Status200OK)]
public async Task> AuthenticateWithQuickConnect([FromBody, Required] QuickConnectDto request)
{
- if (request.Token == null)
- {
- return BadRequest("Access token is required.");
- }
-
var auth = _authContext.GetAuthorizationInfo(Request);
try
diff --git a/Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs b/Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs
index 8f53d5f37..ac0949732 100644
--- a/Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs
+++ b/Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs
@@ -8,6 +8,7 @@
///
/// Gets or sets the quick connect token.
///
+ [Required]
public string? Token { get; set; }
}
}
--
cgit v1.2.3
From c49a357f85edbabab11b61b9d4a2938bdb8f3df9 Mon Sep 17 00:00:00 2001
From: Matt Montgomery <33811686+ConfusedPolarBear@users.noreply.github.com>
Date: Sun, 16 Aug 2020 17:45:53 -0500
Subject: Fix compile errors
---
Jellyfin.Api/Controllers/QuickConnectController.cs | 10 ++++++++--
Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs | 4 +++-
2 files changed, 11 insertions(+), 3 deletions(-)
(limited to 'Jellyfin.Api/Models')
diff --git a/Jellyfin.Api/Controllers/QuickConnectController.cs b/Jellyfin.Api/Controllers/QuickConnectController.cs
index fd5453595..1625bcffe 100644
--- a/Jellyfin.Api/Controllers/QuickConnectController.cs
+++ b/Jellyfin.Api/Controllers/QuickConnectController.cs
@@ -1,5 +1,6 @@
using System.ComponentModel.DataAnnotations;
using Jellyfin.Api.Constants;
+using Jellyfin.Api.Helpers;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Net;
@@ -148,8 +149,13 @@ namespace Jellyfin.Api.Controllers
[ProducesResponseType(StatusCodes.Status200OK)]
public ActionResult Deauthorize()
{
- var userId = ClaimHelpers.GetUserId(request.HttpContext.User);
- return _quickConnect.DeleteAllDevices(userId);
+ var userId = ClaimHelpers.GetUserId(Request.HttpContext.User);
+ if (!userId.HasValue)
+ {
+ return 0;
+ }
+
+ return _quickConnect.DeleteAllDevices(userId.Value);
}
}
}
diff --git a/Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs b/Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs
index ac0949732..c3a2d5cec 100644
--- a/Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs
+++ b/Jellyfin.Api/Models/UserDtos/QuickConnectDto.cs
@@ -1,4 +1,6 @@
-namespace Jellyfin.Api.Models.UserDtos
+using System.ComponentModel.DataAnnotations;
+
+namespace Jellyfin.Api.Models.UserDtos
{
///
/// The quick connect request body.
--
cgit v1.2.3