Address PR comments, and revert changes that changed the API schema

This commit is contained in:
ZadenRB 2020-04-19 13:19:15 -06:00
parent 558b50a094
commit 7c8188194b
3 changed files with 34 additions and 13 deletions

View File

@ -42,13 +42,13 @@ namespace Jellyfin.Api.Controllers
/// <param name="limit">An optional limit on the number of notifications returned.</param> /// <param name="limit">An optional limit on the number of notifications returned.</param>
/// <returns>A read-only list of all of the user's notifications.</returns> /// <returns>A read-only list of all of the user's notifications.</returns>
[HttpGet("{UserID}")] [HttpGet("{UserID}")]
public IReadOnlyList<NotificationDto> GetNotifications( public NotificationResultDto GetNotifications(
[FromRoute] string userId, [FromRoute] string userId,
[FromQuery] bool? isRead, [FromQuery] bool? isRead,
[FromQuery] int? startIndex, [FromQuery] int? startIndex,
[FromQuery] int? limit) [FromQuery] int? limit)
{ {
return new List<NotificationDto>(); return new NotificationResultDto();
} }
/// <summary> /// <summary>
@ -92,10 +92,10 @@ namespace Jellyfin.Api.Controllers
/// <param name="level">The level of the notification.</param> /// <param name="level">The level of the notification.</param>
[HttpPost("Admin")] [HttpPost("Admin")]
public void CreateAdminNotification( public void CreateAdminNotification(
[FromForm] string name, [FromQuery] string name,
[FromForm] string description, [FromQuery] string description,
[FromForm] string? url, [FromQuery] string? url,
[FromForm] NotificationLevel? level) [FromQuery] NotificationLevel? level)
{ {
var notification = new NotificationRequest var notification = new NotificationRequest
{ {
@ -114,11 +114,11 @@ namespace Jellyfin.Api.Controllers
/// Endpoint to set notifications as read. /// Endpoint to set notifications as read.
/// </summary> /// </summary>
/// <param name="userId">The userID.</param> /// <param name="userId">The userID.</param>
/// <param name="ids">The IDs of notifications which should be set as read.</param> /// <param name="ids">A comma-separated list of the IDs of notifications which should be set as read.</param>
[HttpPost("{UserID}/Read")] [HttpPost("{UserID}/Read")]
public void SetRead( public void SetRead(
[FromRoute] string userId, [FromRoute] string userId,
[FromForm] List<string> ids) [FromQuery] string ids)
{ {
} }
@ -126,11 +126,11 @@ namespace Jellyfin.Api.Controllers
/// Endpoint to set notifications as unread. /// Endpoint to set notifications as unread.
/// </summary> /// </summary>
/// <param name="userId">The userID.</param> /// <param name="userId">The userID.</param>
/// <param name="ids">The IDs of notifications which should be set as unread.</param> /// <param name="ids">A comma-separated list of the IDs of notifications which should be set as unread.</param>
[HttpPost("{UserID}/Unread")] [HttpPost("{UserID}/Unread")]
public void SetUnread( public void SetUnread(
[FromRoute] string userId, [FromRoute] string userId,
[FromForm] List<string> ids) [FromQuery] string ids)
{ {
} }
} }

View File

@ -41,13 +41,13 @@ namespace Jellyfin.Api.Models.NotificationDtos
public string Description { get; set; } = string.Empty; public string Description { get; set; } = string.Empty;
/// <summary> /// <summary>
/// Gets or sets the notification's URL. Defaults to null. /// Gets or sets the notification's URL. Defaults to an empty string.
/// </summary> /// </summary>
public string? Url { get; set; } public string Url { get; set; } = string.Empty;
/// <summary> /// <summary>
/// Gets or sets the notification level. /// Gets or sets the notification level.
/// </summary> /// </summary>
public NotificationLevel? Level { get; set; } public NotificationLevel Level { get; set; }
} }
} }

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
namespace Jellyfin.Api.Models.NotificationDtos
{
/// <summary>
/// A list of notifications with the total record count for pagination.
/// </summary>
public class NotificationResultDto
{
/// <summary>
/// Gets or sets the current page of notifications.
/// </summary>
public IReadOnlyList<NotificationDto> Notifications { get; set; } = Array.Empty<NotificationDto>();
/// <summary>
/// Gets or sets the total number of notifications.
/// </summary>
public int TotalRecordCount { get; set; }
}
}