using System.Collections.Generic; using FluentValidation.Results; using NzbDrone.Common.Extensions; using NzbDrone.Core.Tv; namespace NzbDrone.Core.Notifications.Pushover { public class Pushover : NotificationBase { private readonly IPushoverProxy _proxy; public Pushover(IPushoverProxy proxy) { _proxy = proxy; } public override string Link { get { return "https://pushover.net/"; } } public override void OnGrab(GrabMessage grabMessage) { const string title = "Episode Grabbed"; _proxy.SendNotification(title, grabMessage.Message, Settings.ApiKey, Settings.UserKey, (PushoverPriority)Settings.Priority, Settings.Sound); } public override void OnDownload(DownloadMessage message) { const string title = "Episode Downloaded"; _proxy.SendNotification(title, message.Message, Settings.ApiKey, Settings.UserKey, (PushoverPriority)Settings.Priority, Settings.Sound); } public override void OnRename(Series series) { } public override string Name { get { return "Pushover"; } } public override bool SupportsOnRename { get { return false; } } public override ValidationResult Test() { var failures = new List(); failures.AddIfNotNull(_proxy.Test(Settings)); return new ValidationResult(failures); } } }