mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-07 21:51:13 -07:00
MERGE
This commit is contained in:
commit
68f8b9cd71
20 changed files with 481 additions and 11 deletions
|
@ -62,9 +62,11 @@ namespace PlexRequests.UI.Modules
|
|||
private ISettingsService<SickRageSettings> SickRageService { get; }
|
||||
private ISettingsService<EmailNotificationSettings> EmailService { get; }
|
||||
private ISettingsService<PushbulletNotificationSettings> PushbulletService { get; }
|
||||
private ISettingsService<PushoverNotificationSettings> PushoverService { get; }
|
||||
private IPlexApi PlexApi { get; }
|
||||
private ISonarrApi SonarrApi { get; }
|
||||
private PushbulletApi PushbulletApi { get; }
|
||||
private IPushbulletApi PushbulletApi { get; }
|
||||
private IPushoverApi PushoverApi { get; }
|
||||
private ICouchPotatoApi CpApi { get; }
|
||||
private IRepository<LogEntity> LogsRepo { get; }
|
||||
|
||||
|
@ -81,6 +83,8 @@ namespace PlexRequests.UI.Modules
|
|||
ISettingsService<PushbulletNotificationSettings> pbSettings,
|
||||
PushbulletApi pbApi,
|
||||
ICouchPotatoApi cpApi,
|
||||
ISettingsService<PushoverNotificationSettings> pushoverSettings,
|
||||
IPushoverApi pushoverApi,
|
||||
IRepository<LogEntity> logsRepo) : base("admin")
|
||||
{
|
||||
RpService = rpService;
|
||||
|
@ -96,6 +100,8 @@ namespace PlexRequests.UI.Modules
|
|||
CpApi = cpApi;
|
||||
SickRageService = sickrage;
|
||||
LogsRepo = logsRepo;
|
||||
PushoverService = pushoverSettings;
|
||||
PushoverApi = pushoverApi;
|
||||
|
||||
#if !DEBUG
|
||||
this.RequiresAuthentication();
|
||||
|
@ -133,6 +139,9 @@ namespace PlexRequests.UI.Modules
|
|||
Get["/pushbulletnotification"] = _ => PushbulletNotifications();
|
||||
Post["/pushbulletnotification"] = _ => SavePushbulletNotifications();
|
||||
|
||||
Get["/pushovernotification"] = _ => PushoverNotifications();
|
||||
Post["/pushovernotification"] = _ => SavePushoverNotifications();
|
||||
|
||||
Get["/logs"] = _ => Logs();
|
||||
Get["/loglevel"] = _ => GetLogLevels();
|
||||
Post["/loglevel"] = _ => UpdateLogLevels(Request.Form.level);
|
||||
|
@ -256,8 +265,8 @@ namespace PlexRequests.UI.Modules
|
|||
}
|
||||
|
||||
var result = CpService.SaveSettings(couchPotatoSettings);
|
||||
return Response.AsJson(result
|
||||
? new JsonResponseModel { Result = true, Message = "Successfully Updated the Settings for CouchPotato!" }
|
||||
return Response.AsJson(result
|
||||
? new JsonResponseModel { Result = true, Message = "Successfully Updated the Settings for CouchPotato!" }
|
||||
: new JsonResponseModel { Result = false, Message = "Could not update the settings, take a look at the logs." });
|
||||
}
|
||||
|
||||
|
@ -425,6 +434,38 @@ namespace PlexRequests.UI.Modules
|
|||
: new JsonResponseModel { Result = false, Message = "Could not update the settings, take a look at the logs." });
|
||||
}
|
||||
|
||||
private Negotiator PushoverNotifications()
|
||||
{
|
||||
var settings = PushoverService.GetSettings();
|
||||
return View["PushoverNotifications", settings];
|
||||
}
|
||||
|
||||
private Response SavePushoverNotifications()
|
||||
{
|
||||
var settings = this.Bind<PushoverNotificationSettings>();
|
||||
var valid = this.Validate(settings);
|
||||
if (!valid.IsValid)
|
||||
{
|
||||
return Response.AsJson(valid.SendJsonError());
|
||||
}
|
||||
Log.Trace(settings.DumpJson());
|
||||
|
||||
var result = PushoverService.SaveSettings(settings);
|
||||
if (settings.Enabled)
|
||||
{
|
||||
NotificationService.Subscribe(new PushoverNotification(PushoverApi, PushoverService));
|
||||
}
|
||||
else
|
||||
{
|
||||
NotificationService.UnSubscribe(new PushoverNotification(PushoverApi, PushoverService));
|
||||
}
|
||||
|
||||
Log.Info("Saved email settings, result: {0}", result);
|
||||
return Response.AsJson(result
|
||||
? new JsonResponseModel { Result = true, Message = "Successfully Updated the Settings for Pushbullet Notifications!" }
|
||||
: new JsonResponseModel { Result = false, Message = "Could not update the settings, take a look at the logs." });
|
||||
}
|
||||
|
||||
private Response GetCpProfiles()
|
||||
{
|
||||
var settings = this.Bind<CouchPotatoSettings>();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue