New: Pushover device setting
This commit is contained in:
parent
a86397f4bd
commit
8594a93cf5
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using FluentValidation.Results;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Extensions;
|
||||
|
@ -29,6 +29,7 @@ namespace NzbDrone.Core.Notifications.Pushover
|
|||
var request = new RestRequest(Method.POST);
|
||||
request.AddParameter("token", settings.ApiKey);
|
||||
request.AddParameter("user", settings.UserKey);
|
||||
request.AddParameter("device", string.Join(",", settings.Devices));
|
||||
request.AddParameter("title", title);
|
||||
request.AddParameter("message", message);
|
||||
request.AddParameter("priority", settings.Priority);
|
|
@ -2,6 +2,7 @@ using FluentValidation;
|
|||
using NzbDrone.Core.Annotations;
|
||||
using NzbDrone.Core.ThingiProvider;
|
||||
using NzbDrone.Core.Validation;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace NzbDrone.Core.Notifications.Pushover
|
||||
{
|
||||
|
@ -22,6 +23,7 @@ namespace NzbDrone.Core.Notifications.Pushover
|
|||
public PushoverSettings()
|
||||
{
|
||||
Priority = 0;
|
||||
Devices = new string[] { };
|
||||
}
|
||||
|
||||
//TODO: Get Pushover to change our app name (or create a new app) when we have a new logo
|
||||
|
@ -31,16 +33,19 @@ namespace NzbDrone.Core.Notifications.Pushover
|
|||
[FieldDefinition(1, Label = "User Key", HelpLink = "https://pushover.net/")]
|
||||
public string UserKey { get; set; }
|
||||
|
||||
[FieldDefinition(2, Label = "Priority", Type = FieldType.Select, SelectOptions = typeof(PushoverPriority) )]
|
||||
[FieldDefinition(2, Label = "Devices", HelpText = "List of device names (leave blank to send to all devices)", Type = FieldType.Tag)]
|
||||
public IEnumerable<string> Devices { get; set; }
|
||||
|
||||
[FieldDefinition(3, Label = "Priority", Type = FieldType.Select, SelectOptions = typeof(PushoverPriority) )]
|
||||
public int Priority { get; set; }
|
||||
|
||||
[FieldDefinition(3, Label = "Retry", Type = FieldType.Textbox, HelpText = "Interval to retry Emergency alerts, minimum 30 seconds")]
|
||||
[FieldDefinition(4, Label = "Retry", Type = FieldType.Textbox, HelpText = "Interval to retry Emergency alerts, minimum 30 seconds")]
|
||||
public int Retry { get; set; }
|
||||
|
||||
[FieldDefinition(4, Label = "Expire", Type = FieldType.Textbox, HelpText = "Maximum time to retry Emergency alerts, maximum 86400 seconds")]
|
||||
[FieldDefinition(5, Label = "Expire", Type = FieldType.Textbox, HelpText = "Maximum time to retry Emergency alerts, maximum 86400 seconds")]
|
||||
public int Expire { get; set; }
|
||||
|
||||
[FieldDefinition(5, Label = "Sound", Type = FieldType.Textbox, HelpText = "Notification sound, leave blank to use the default", HelpLink = "https://pushover.net/api#sounds")]
|
||||
[FieldDefinition(6, Label = "Sound", Type = FieldType.Textbox, HelpText = "Notification sound, leave blank to use the default", HelpLink = "https://pushover.net/api#sounds")]
|
||||
public string Sound { get; set; }
|
||||
|
||||
public bool IsValid => !string.IsNullOrWhiteSpace(UserKey) && Priority >= -1 && Priority <= 2;
|
||||
|
|
|
@ -1066,7 +1066,7 @@
|
|||
<Compile Include="Notifications\Pushover\InvalidResponseException.cs" />
|
||||
<Compile Include="Notifications\Pushover\Pushover.cs" />
|
||||
<Compile Include="Notifications\Pushover\PushoverPriority.cs" />
|
||||
<Compile Include="Notifications\Pushover\PushoverService.cs" />
|
||||
<Compile Include="Notifications\Pushover\PushoverProxy.cs" />
|
||||
<Compile Include="Notifications\Pushover\PushoverSettings.cs" />
|
||||
<Compile Include="Notifications\Xbmc\XbmcJsonException.cs" />
|
||||
<Compile Include="Notifications\Xbmc\HttpApiProvider.cs" />
|
||||
|
|
Loading…
Reference in New Issue