diff options
| author | crobibero <cody@robibe.ro> | 2020-07-31 10:14:09 -0600 |
|---|---|---|
| committer | crobibero <cody@robibe.ro> | 2020-07-31 10:14:09 -0600 |
| commit | 6051df0c47876cd30ea0f39f8ef6ed1f54740a67 (patch) | |
| tree | 149d6c883060c797b1745de52330bb08922e0ce8 /Jellyfin.Api/Controllers/DlnaController.cs | |
| parent | f516cf9c4c273bf1de68c3a281bf6d27627a2de6 (diff) | |
Fix response codes, documentation, and auth
Diffstat (limited to 'Jellyfin.Api/Controllers/DlnaController.cs')
| -rw-r--r-- | Jellyfin.Api/Controllers/DlnaController.cs | 52 |
1 files changed, 30 insertions, 22 deletions
diff --git a/Jellyfin.Api/Controllers/DlnaController.cs b/Jellyfin.Api/Controllers/DlnaController.cs index 68cd144f4..dcd31a48b 100644 --- a/Jellyfin.Api/Controllers/DlnaController.cs +++ b/Jellyfin.Api/Controllers/DlnaController.cs @@ -1,9 +1,8 @@ -#nullable enable - using System.Collections.Generic; +using Jellyfin.Api.Constants; using MediaBrowser.Controller.Dlna; -using MediaBrowser.Controller.Net; using MediaBrowser.Model.Dlna; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; @@ -12,7 +11,7 @@ namespace Jellyfin.Api.Controllers /// <summary> /// Dlna Controller. /// </summary> - [Authenticated(Roles = "Admin")] + [Authorize(Policy = Policies.RequiresElevation)] public class DlnaController : BaseJellyfinApiController { private readonly IDlnaManager _dlnaManager; @@ -29,34 +28,38 @@ namespace Jellyfin.Api.Controllers /// <summary> /// Get profile infos. /// </summary> - /// <returns>Profile infos.</returns> + /// <response code="200">Device profile infos returned.</response> + /// <returns>An <see cref="OkResult"/> containing the device profile infos.</returns> [HttpGet("ProfileInfos")] [ProducesResponseType(StatusCodes.Status200OK)] - public IEnumerable<DeviceProfileInfo> GetProfileInfos() + public ActionResult<IEnumerable<DeviceProfileInfo>> GetProfileInfos() { - return _dlnaManager.GetProfileInfos(); + return Ok(_dlnaManager.GetProfileInfos()); } /// <summary> /// Gets the default profile. /// </summary> - /// <returns>Default profile.</returns> + /// <response code="200">Default device profile returned.</response> + /// <returns>An <see cref="OkResult"/> containing the default profile.</returns> [HttpGet("Profiles/Default")] [ProducesResponseType(StatusCodes.Status200OK)] - public ActionResult<DeviceProfileInfo> GetDefaultProfile() + public ActionResult<DeviceProfile> GetDefaultProfile() { - return Ok(_dlnaManager.GetDefaultProfile()); + return _dlnaManager.GetDefaultProfile(); } /// <summary> /// Gets a single profile. /// </summary> /// <param name="id">Profile Id.</param> - /// <returns>Profile.</returns> + /// <response code="200">Device profile returned.</response> + /// <response code="404">Device profile not found.</response> + /// <returns>An <see cref="OkResult"/> containing the profile on success, or a <see cref="NotFoundResult"/> if device profile not found.</returns> [HttpGet("Profiles/{Id}")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] - public ActionResult<DeviceProfileInfo> GetProfile([FromRoute] string id) + public ActionResult<DeviceProfile> GetProfile([FromRoute] string id) { var profile = _dlnaManager.GetProfile(id); if (profile == null) @@ -64,16 +67,18 @@ namespace Jellyfin.Api.Controllers return NotFound(); } - return Ok(profile); + return profile; } /// <summary> /// Deletes a profile. /// </summary> /// <param name="id">Profile id.</param> - /// <returns>Status.</returns> + /// <response code="204">Device profile deleted.</response> + /// <response code="404">Device profile not found.</response> + /// <returns>A <see cref="NoContentResult"/> on success, or a <see cref="NotFoundResult"/> if profile not found.</returns> [HttpDelete("Profiles/{Id}")] - [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status204NoContent)] [ProducesResponseType(StatusCodes.Status404NotFound)] public ActionResult DeleteProfile([FromRoute] string id) { @@ -84,20 +89,21 @@ namespace Jellyfin.Api.Controllers } _dlnaManager.DeleteProfile(id); - return Ok(); + return NoContent(); } /// <summary> /// Creates a profile. /// </summary> /// <param name="deviceProfile">Device profile.</param> - /// <returns>Status.</returns> + /// <response code="204">Device profile created.</response> + /// <returns>A <see cref="NoContentResult"/>.</returns> [HttpPost("Profiles")] - [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status204NoContent)] public ActionResult CreateProfile([FromBody] DeviceProfile deviceProfile) { _dlnaManager.CreateProfile(deviceProfile); - return Ok(); + return NoContent(); } /// <summary> @@ -105,9 +111,11 @@ namespace Jellyfin.Api.Controllers /// </summary> /// <param name="id">Profile id.</param> /// <param name="deviceProfile">Device profile.</param> - /// <returns>Status.</returns> + /// <response code="204">Device profile updated.</response> + /// <response code="404">Device profile not found.</response> + /// <returns>A <see cref="NoContentResult"/> on success, or a <see cref="NotFoundResult"/> if profile not found.</returns> [HttpPost("Profiles/{Id}")] - [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status204NoContent)] [ProducesResponseType(StatusCodes.Status404NotFound)] public ActionResult UpdateProfile([FromRoute] string id, [FromBody] DeviceProfile deviceProfile) { @@ -118,7 +126,7 @@ namespace Jellyfin.Api.Controllers } _dlnaManager.UpdateProfile(deviceProfile); - return Ok(); + return NoContent(); } } } |
