Fixed telegram !wip

pull/1676/head
Jamie 7 years ago
parent e526c1071a
commit dca5d13826

@ -1,6 +1,7 @@
using System; using System;
using System.IO; using System.IO;
using System.Net.Http; using System.Net.Http;
using System.Security.Authentication;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Xml.Serialization; using System.Xml.Serialization;
using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Caching.Memory;
@ -36,7 +37,7 @@ namespace Ombi.Api
{ {
return new HttpClientHandler return new HttpClientHandler
{ {
ServerCertificateCustomValidationCallback = (message, certificate2, arg3, arg4) => true ServerCertificateCustomValidationCallback = (message, certificate2, arg3, arg4) => true,
}; };
} }
return new HttpClientHandler(); return new HttpClientHandler();
@ -49,9 +50,9 @@ namespace Ombi.Api
public async Task<T> Request<T>(Request request) public async Task<T> Request<T>(Request request)
{ {
using (var httpClient = new HttpClient(await GetHandler())) using(var handler = await GetHandler())
using (var httpClient = new HttpClient(handler))
{ {
using (var httpRequestMessage = new HttpRequestMessage(request.HttpMethod, request.FullUri)) using (var httpRequestMessage = new HttpRequestMessage(request.HttpMethod, request.FullUri))
{ {
// Add the Json Body // Add the Json Body

@ -134,6 +134,7 @@ namespace Ombi.DependencyInjection
services.AddTransient<ISlackNotification, SlackNotification>(); services.AddTransient<ISlackNotification, SlackNotification>();
services.AddTransient<IMattermostNotification, MattermostNotification>(); services.AddTransient<IMattermostNotification, MattermostNotification>();
services.AddTransient<IPushoverNotification, PushoverNotification>(); services.AddTransient<IPushoverNotification, PushoverNotification>();
services.AddTransient<ITelegramNotification, TelegramNotification>();
} }

@ -0,0 +1,6 @@
namespace Ombi.Notifications.Agents
{
public interface ITelegramNotification : INotification
{
}
}

@ -14,7 +14,7 @@ using Ombi.Api.Telegram;
namespace Ombi.Notifications.Agents namespace Ombi.Notifications.Agents
{ {
public class TelegramNotification : BaseNotification<TelegramSettings> public class TelegramNotification : BaseNotification<TelegramSettings>, ITelegramNotification
{ {
public TelegramNotification(ITelegramApi api, ISettingsService<TelegramSettings> sn, ILogger<TelegramNotification> log, INotificationTemplatesRepository r, IMovieRequestRepository m, ITvRequestRepository t, ISettingsService<CustomizationSettings> s) : base(sn, r, m, t,s) public TelegramNotification(ITelegramApi api, ISettingsService<TelegramSettings> sn, ILogger<TelegramNotification> log, INotificationTemplatesRepository r, IMovieRequestRepository m, ITvRequestRepository t, ISettingsService<CustomizationSettings> s) : base(sn, r, m, t,s)
{ {

@ -51,7 +51,7 @@ namespace Ombi.Controllers.External
public TesterController(INotificationService service, IDiscordNotification notification, IEmailNotification emailN, public TesterController(INotificationService service, IDiscordNotification notification, IEmailNotification emailN,
IPushbulletNotification pushbullet, ISlackNotification slack, IPushoverNotification po, IMattermostNotification mm, IPushbulletNotification pushbullet, ISlackNotification slack, IPushoverNotification po, IMattermostNotification mm,
IPlexApi plex, IEmbyApi emby, IRadarrApi radarr, ISonarrApi sonarr, ILogger<TesterController> log, IEmailProvider provider, IPlexApi plex, IEmbyApi emby, IRadarrApi radarr, ISonarrApi sonarr, ILogger<TesterController> log, IEmailProvider provider,
ICouchPotatoApi cpApi) ICouchPotatoApi cpApi, ITelegramNotification telegram)
{ {
Service = service; Service = service;
DiscordNotification = notification; DiscordNotification = notification;
@ -67,6 +67,7 @@ namespace Ombi.Controllers.External
Log = log; Log = log;
EmailProvider = provider; EmailProvider = provider;
CouchPotatoApi = cpApi; CouchPotatoApi = cpApi;
TelegramNotification = telegram;
} }
private INotificationService Service { get; } private INotificationService Service { get; }
@ -83,6 +84,7 @@ namespace Ombi.Controllers.External
private ICouchPotatoApi CouchPotatoApi { get; } private ICouchPotatoApi CouchPotatoApi { get; }
private ILogger<TesterController> Log { get; } private ILogger<TesterController> Log { get; }
private IEmailProvider EmailProvider { get; } private IEmailProvider EmailProvider { get; }
private ITelegramNotification TelegramNotification { get; }
/// <summary> /// <summary>
@ -299,14 +301,14 @@ namespace Ombi.Controllers.External
/// </summary> /// </summary>
/// <param name="settings">The settings.</param> /// <param name="settings">The settings.</param>
/// <returns></returns> /// <returns></returns>
//[HttpPost("telegram")] [HttpPost("telegram")]
//public async Task<bool> Telegram([FromBody] TelegramSettings settings) public async Task<bool> Telegram([FromBody] TelegramSettings settings)
//{ {
// settings.Enabled = true; settings.Enabled = true;
// await TelegramApi.Send("This is a test ") await TelegramNotification.NotifyAsync(new NotificationOptions { NotificationType = NotificationType.Test, RequestId = -1 }, settings);
// return true; return true;
//} }
} }
} }

@ -43,14 +43,12 @@ namespace Ombi.Controllers
/// <param name="mapper">The mapper.</param> /// <param name="mapper">The mapper.</param>
/// <param name="templateRepo">The templateRepo.</param> /// <param name="templateRepo">The templateRepo.</param>
/// <param name="embyApi">The embyApi.</param> /// <param name="embyApi">The embyApi.</param>
/// <param name="embyCacher">The embyCacher.</param>
/// <param name="radarrCacher">The radarrCacher.</param> /// <param name="radarrCacher">The radarrCacher.</param>
/// <param name="memCache">The memory cache.</param> /// <param name="memCache">The memory cache.</param>
public SettingsController(ISettingsResolver resolver, public SettingsController(ISettingsResolver resolver,
IMapper mapper, IMapper mapper,
INotificationTemplatesRepository templateRepo, INotificationTemplatesRepository templateRepo,
IEmbyApi embyApi, IEmbyApi embyApi,
IEmbyContentCacher embyCacher,
IRadarrCacher radarrCacher, IRadarrCacher radarrCacher,
IMemoryCache memCache) IMemoryCache memCache)
{ {
@ -58,7 +56,6 @@ namespace Ombi.Controllers
Mapper = mapper; Mapper = mapper;
TemplateRepository = templateRepo; TemplateRepository = templateRepo;
_embyApi = embyApi; _embyApi = embyApi;
_embyContentCacher = embyCacher;
_radarrCacher = radarrCacher; _radarrCacher = radarrCacher;
_cache = memCache; _cache = memCache;
} }
@ -67,7 +64,6 @@ namespace Ombi.Controllers
private IMapper Mapper { get; } private IMapper Mapper { get; }
private INotificationTemplatesRepository TemplateRepository { get; } private INotificationTemplatesRepository TemplateRepository { get; }
private readonly IEmbyApi _embyApi; private readonly IEmbyApi _embyApi;
private readonly IEmbyContentCacher _embyContentCacher;
private readonly IRadarrCacher _radarrCacher; private readonly IRadarrCacher _radarrCacher;
private readonly IMemoryCache _cache; private readonly IMemoryCache _cache;
@ -90,6 +86,7 @@ namespace Ombi.Controllers
public async Task<bool> OmbiSettings([FromBody]OmbiSettings ombi) public async Task<bool> OmbiSettings([FromBody]OmbiSettings ombi)
{ {
ombi.Wizard = true; ombi.Wizard = true;
_cache.Remove(CacheKeys.OmbiSettings);
return await Save(ombi); return await Save(ombi);
} }

Loading…
Cancel
Save