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 FluentValidation.Results;
|
||||||
using NLog;
|
using NLog;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
|
@ -29,6 +29,7 @@ namespace NzbDrone.Core.Notifications.Pushover
|
||||||
var request = new RestRequest(Method.POST);
|
var request = new RestRequest(Method.POST);
|
||||||
request.AddParameter("token", settings.ApiKey);
|
request.AddParameter("token", settings.ApiKey);
|
||||||
request.AddParameter("user", settings.UserKey);
|
request.AddParameter("user", settings.UserKey);
|
||||||
|
request.AddParameter("device", string.Join(",", settings.Devices));
|
||||||
request.AddParameter("title", title);
|
request.AddParameter("title", title);
|
||||||
request.AddParameter("message", message);
|
request.AddParameter("message", message);
|
||||||
request.AddParameter("priority", settings.Priority);
|
request.AddParameter("priority", settings.Priority);
|
|
@ -2,6 +2,7 @@ using FluentValidation;
|
||||||
using NzbDrone.Core.Annotations;
|
using NzbDrone.Core.Annotations;
|
||||||
using NzbDrone.Core.ThingiProvider;
|
using NzbDrone.Core.ThingiProvider;
|
||||||
using NzbDrone.Core.Validation;
|
using NzbDrone.Core.Validation;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Notifications.Pushover
|
namespace NzbDrone.Core.Notifications.Pushover
|
||||||
{
|
{
|
||||||
|
@ -22,6 +23,7 @@ namespace NzbDrone.Core.Notifications.Pushover
|
||||||
public PushoverSettings()
|
public PushoverSettings()
|
||||||
{
|
{
|
||||||
Priority = 0;
|
Priority = 0;
|
||||||
|
Devices = new string[] { };
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: Get Pushover to change our app name (or create a new app) when we have a new logo
|
//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/")]
|
[FieldDefinition(1, Label = "User Key", HelpLink = "https://pushover.net/")]
|
||||||
public string UserKey { get; set; }
|
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; }
|
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; }
|
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; }
|
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 string Sound { get; set; }
|
||||||
|
|
||||||
public bool IsValid => !string.IsNullOrWhiteSpace(UserKey) && Priority >= -1 && Priority <= 2;
|
public bool IsValid => !string.IsNullOrWhiteSpace(UserKey) && Priority >= -1 && Priority <= 2;
|
||||||
|
|
|
@ -1066,7 +1066,7 @@
|
||||||
<Compile Include="Notifications\Pushover\InvalidResponseException.cs" />
|
<Compile Include="Notifications\Pushover\InvalidResponseException.cs" />
|
||||||
<Compile Include="Notifications\Pushover\Pushover.cs" />
|
<Compile Include="Notifications\Pushover\Pushover.cs" />
|
||||||
<Compile Include="Notifications\Pushover\PushoverPriority.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\Pushover\PushoverSettings.cs" />
|
||||||
<Compile Include="Notifications\Xbmc\XbmcJsonException.cs" />
|
<Compile Include="Notifications\Xbmc\XbmcJsonException.cs" />
|
||||||
<Compile Include="Notifications\Xbmc\HttpApiProvider.cs" />
|
<Compile Include="Notifications\Xbmc\HttpApiProvider.cs" />
|
||||||
|
|
Loading…
Reference in New Issue