aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Notifications/InternalNotificationService.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-03 03:35:00 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-03 03:35:00 -0400
commit0d5d91b4c4575271d16fe507a328fbcbb1510acd (patch)
tree5fab5b3a21bb60ba912026fae14a375586bb0df2 /Emby.Server.Implementations/Notifications/InternalNotificationService.cs
parentb76a1abda578b8ff64bad2997b036b0fc43e264f (diff)
move notification classes
Diffstat (limited to 'Emby.Server.Implementations/Notifications/InternalNotificationService.cs')
-rw-r--r--Emby.Server.Implementations/Notifications/InternalNotificationService.cs61
1 files changed, 61 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/Notifications/InternalNotificationService.cs b/Emby.Server.Implementations/Notifications/InternalNotificationService.cs
new file mode 100644
index 000000000..61c564f18
--- /dev/null
+++ b/Emby.Server.Implementations/Notifications/InternalNotificationService.cs
@@ -0,0 +1,61 @@
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Notifications;
+using MediaBrowser.Model.Notifications;
+using System.Threading;
+using System.Threading.Tasks;
+using System;
+
+namespace Emby.Server.Implementations.Notifications
+{
+ public class InternalNotificationService : INotificationService, IConfigurableNotificationService
+ {
+ private readonly INotificationsRepository _repo;
+
+ public InternalNotificationService(INotificationsRepository repo)
+ {
+ _repo = repo;
+ }
+
+ public string Name
+ {
+ get { return "Dashboard Notifications"; }
+ }
+
+ public Task SendNotification(UserNotification request, CancellationToken cancellationToken)
+ {
+ return _repo.AddNotification(new Notification
+ {
+ Date = request.Date,
+ Description = request.Description,
+ Level = request.Level,
+ Name = request.Name,
+ Url = request.Url,
+ UserId = request.User.Id.ToString("N")
+
+ }, cancellationToken);
+ }
+
+ public bool IsEnabledForUser(User user)
+ {
+ return user.Policy.IsAdministrator;
+ }
+
+ public bool IsHidden
+ {
+ get { return true; }
+ }
+
+ public bool IsEnabled(string notificationType)
+ {
+ if (notificationType.IndexOf("playback", StringComparison.OrdinalIgnoreCase) != -1)
+ {
+ return false;
+ }
+ if (notificationType.IndexOf("newlibrarycontent", StringComparison.OrdinalIgnoreCase) != -1)
+ {
+ return false;
+ }
+ return true;
+ }
+ }
+}