diff options
| author | Niels van Velzen <nielsvanvelzen@users.noreply.github.com> | 2022-12-27 14:24:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-27 14:24:34 +0100 |
| commit | f2200c97cbd79e5ff432948ee0fbd1e66ffa4e14 (patch) | |
| tree | d1ea873d8245bf33b5116d0ca986be3b506fdd2b | |
| parent | f32d4040f23657346721ed234b9e29710adb3c9d (diff) | |
Remove unused notification endpoints (#8952)
5 files changed, 1 insertions, 208 deletions
diff --git a/Jellyfin.Api/Controllers/NotificationsController.cs b/Jellyfin.Api/Controllers/NotificationsController.cs index 420630cdf..a28556476 100644 --- a/Jellyfin.Api/Controllers/NotificationsController.cs +++ b/Jellyfin.Api/Controllers/NotificationsController.cs @@ -1,12 +1,5 @@ -using System; using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Threading; using Jellyfin.Api.Constants; -using Jellyfin.Api.Models.NotificationDtos; -using Jellyfin.Data.Enums; -using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Notifications; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Notifications; @@ -23,41 +16,14 @@ namespace Jellyfin.Api.Controllers public class NotificationsController : BaseJellyfinApiController { private readonly INotificationManager _notificationManager; - private readonly IUserManager _userManager; /// <summary> /// Initializes a new instance of the <see cref="NotificationsController" /> class. /// </summary> /// <param name="notificationManager">The notification manager.</param> - /// <param name="userManager">The user manager.</param> - public NotificationsController(INotificationManager notificationManager, IUserManager userManager) + public NotificationsController(INotificationManager notificationManager) { _notificationManager = notificationManager; - _userManager = userManager; - } - - /// <summary> - /// Gets a user's notifications. - /// </summary> - /// <response code="200">Notifications returned.</response> - /// <returns>An <see cref="OkResult"/> containing a list of notifications.</returns> - [HttpGet("{userId}")] - [ProducesResponseType(StatusCodes.Status200OK)] - public ActionResult<NotificationResultDto> GetNotifications() - { - return new NotificationResultDto(); - } - - /// <summary> - /// Gets a user's notification summary. - /// </summary> - /// <response code="200">Summary of user's notifications returned.</response> - /// <returns>An <cref see="OkResult"/> containing a summary of the users notifications.</returns> - [HttpGet("{userId}/Summary")] - [ProducesResponseType(StatusCodes.Status200OK)] - public ActionResult<NotificationsSummaryDto> GetNotificationsSummary() - { - return new NotificationsSummaryDto(); } /// <summary> @@ -83,56 +49,5 @@ namespace Jellyfin.Api.Controllers { return _notificationManager.GetNotificationServices(); } - - /// <summary> - /// Sends a notification to all admins. - /// </summary> - /// <param name="notificationDto">The notification request.</param> - /// <response code="204">Notification sent.</response> - /// <returns>A <cref see="NoContentResult"/>.</returns> - [HttpPost("Admin")] - [ProducesResponseType(StatusCodes.Status204NoContent)] - public ActionResult CreateAdminNotification([FromBody, Required] AdminNotificationDto notificationDto) - { - var notification = new NotificationRequest - { - Name = notificationDto.Name, - Description = notificationDto.Description, - Url = notificationDto.Url, - Level = notificationDto.NotificationLevel ?? NotificationLevel.Normal, - UserIds = _userManager.Users - .Where(user => user.HasPermission(PermissionKind.IsAdministrator)) - .Select(user => user.Id) - .ToArray(), - Date = DateTime.UtcNow, - }; - - _notificationManager.SendNotification(notification, CancellationToken.None); - return NoContent(); - } - - /// <summary> - /// Sets notifications as read. - /// </summary> - /// <response code="204">Notifications set as read.</response> - /// <returns>A <cref see="NoContentResult"/>.</returns> - [HttpPost("{userId}/Read")] - [ProducesResponseType(StatusCodes.Status204NoContent)] - public ActionResult SetRead() - { - return NoContent(); - } - - /// <summary> - /// Sets notifications as unread. - /// </summary> - /// <response code="204">Notifications set as unread.</response> - /// <returns>A <cref see="NoContentResult"/>.</returns> - [HttpPost("{userId}/Unread")] - [ProducesResponseType(StatusCodes.Status204NoContent)] - public ActionResult SetUnread() - { - return NoContent(); - } } } diff --git a/Jellyfin.Api/Models/NotificationDtos/AdminNotificationDto.cs b/Jellyfin.Api/Models/NotificationDtos/AdminNotificationDto.cs deleted file mode 100644 index 2c3a6282f..000000000 --- a/Jellyfin.Api/Models/NotificationDtos/AdminNotificationDto.cs +++ /dev/null @@ -1,30 +0,0 @@ -using MediaBrowser.Model.Notifications; - -namespace Jellyfin.Api.Models.NotificationDtos -{ - /// <summary> - /// The admin notification dto. - /// </summary> - public class AdminNotificationDto - { - /// <summary> - /// Gets or sets the notification name. - /// </summary> - public string? Name { get; set; } - - /// <summary> - /// Gets or sets the notification description. - /// </summary> - public string? Description { get; set; } - - /// <summary> - /// Gets or sets the notification level. - /// </summary> - public NotificationLevel? NotificationLevel { get; set; } - - /// <summary> - /// Gets or sets the notification url. - /// </summary> - public string? Url { get; set; } - } -} diff --git a/Jellyfin.Api/Models/NotificationDtos/NotificationDto.cs b/Jellyfin.Api/Models/NotificationDtos/NotificationDto.cs deleted file mode 100644 index af5239ec2..000000000 --- a/Jellyfin.Api/Models/NotificationDtos/NotificationDto.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; -using MediaBrowser.Model.Notifications; - -namespace Jellyfin.Api.Models.NotificationDtos -{ - /// <summary> - /// The notification DTO. - /// </summary> - public class NotificationDto - { - /// <summary> - /// Gets or sets the notification ID. Defaults to an empty string. - /// </summary> - public string Id { get; set; } = string.Empty; - - /// <summary> - /// Gets or sets the notification's user ID. Defaults to an empty string. - /// </summary> - public string UserId { get; set; } = string.Empty; - - /// <summary> - /// Gets or sets the notification date. - /// </summary> - public DateTime Date { get; set; } - - /// <summary> - /// Gets or sets a value indicating whether the notification has been read. Defaults to false. - /// </summary> - public bool IsRead { get; set; } = false; - - /// <summary> - /// Gets or sets the notification's name. Defaults to an empty string. - /// </summary> - public string Name { get; set; } = string.Empty; - - /// <summary> - /// Gets or sets the notification's description. Defaults to an empty string. - /// </summary> - public string Description { get; set; } = string.Empty; - - /// <summary> - /// Gets or sets the notification's URL. Defaults to an empty string. - /// </summary> - public string Url { get; set; } = string.Empty; - - /// <summary> - /// Gets or sets the notification level. - /// </summary> - public NotificationLevel Level { get; set; } - } -} diff --git a/Jellyfin.Api/Models/NotificationDtos/NotificationResultDto.cs b/Jellyfin.Api/Models/NotificationDtos/NotificationResultDto.cs deleted file mode 100644 index 64e92bd83..000000000 --- a/Jellyfin.Api/Models/NotificationDtos/NotificationResultDto.cs +++ /dev/null @@ -1,21 +0,0 @@ -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; } - } -} diff --git a/Jellyfin.Api/Models/NotificationDtos/NotificationsSummaryDto.cs b/Jellyfin.Api/Models/NotificationDtos/NotificationsSummaryDto.cs deleted file mode 100644 index 0568dea66..000000000 --- a/Jellyfin.Api/Models/NotificationDtos/NotificationsSummaryDto.cs +++ /dev/null @@ -1,20 +0,0 @@ -using MediaBrowser.Model.Notifications; - -namespace Jellyfin.Api.Models.NotificationDtos -{ - /// <summary> - /// The notification summary DTO. - /// </summary> - public class NotificationsSummaryDto - { - /// <summary> - /// Gets or sets the number of unread notifications. - /// </summary> - public int UnreadCount { get; set; } - - /// <summary> - /// Gets or sets the maximum unread notification level. - /// </summary> - public NotificationLevel? MaxUnreadNotificationLevel { get; set; } - } -} |
