|
|
|
@ -32,6 +32,7 @@ using Ombi.Api.CouchPotato;
|
|
|
|
|
using Ombi.Api.DogNzb;
|
|
|
|
|
using Ombi.Api.FanartTv;
|
|
|
|
|
using Ombi.Api.Github;
|
|
|
|
|
using Ombi.Api.Gotify;
|
|
|
|
|
using Ombi.Api.Lidarr;
|
|
|
|
|
using Ombi.Api.Mattermost;
|
|
|
|
|
using Ombi.Api.Notifications;
|
|
|
|
@ -60,6 +61,7 @@ using Ombi.Schedule.Jobs.Plex.Interfaces;
|
|
|
|
|
using Ombi.Schedule.Jobs.SickRage;
|
|
|
|
|
using Ombi.Schedule.Processor;
|
|
|
|
|
using Ombi.Store.Entities;
|
|
|
|
|
using Quartz.Spi;
|
|
|
|
|
|
|
|
|
|
namespace Ombi.DependencyInjection
|
|
|
|
|
{
|
|
|
|
@ -120,6 +122,7 @@ namespace Ombi.DependencyInjection
|
|
|
|
|
services.AddTransient<IOmbiService, OmbiService>();
|
|
|
|
|
services.AddTransient<IFanartTvApi, FanartTvApi>();
|
|
|
|
|
services.AddTransient<IPushoverApi, PushoverApi>();
|
|
|
|
|
services.AddTransient<IGotifyApi, GotifyApi>();
|
|
|
|
|
services.AddTransient<IMattermostApi, MattermostApi>();
|
|
|
|
|
services.AddTransient<ICouchPotatoApi, CouchPotatoApi>();
|
|
|
|
|
services.AddTransient<IDogNzbApi, DogNzbApi>();
|
|
|
|
@ -132,28 +135,28 @@ namespace Ombi.DependencyInjection
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void RegisterStore(this IServiceCollection services) {
|
|
|
|
|
services.AddEntityFrameworkSqlite().AddDbContext<OmbiContext>();
|
|
|
|
|
services.AddEntityFrameworkSqlite().AddDbContext<SettingsContext>();
|
|
|
|
|
services.AddEntityFrameworkSqlite().AddDbContext<ExternalContext>();
|
|
|
|
|
services.AddDbContext<OmbiContext>();
|
|
|
|
|
services.AddDbContext<SettingsContext>();
|
|
|
|
|
services.AddDbContext<ExternalContext>();
|
|
|
|
|
|
|
|
|
|
services.AddScoped<IOmbiContext, OmbiContext>(); // https://docs.microsoft.com/en-us/aspnet/core/data/entity-framework-6
|
|
|
|
|
services.AddScoped<ISettingsContext, SettingsContext>(); // https://docs.microsoft.com/en-us/aspnet/core/data/entity-framework-6
|
|
|
|
|
services.AddScoped<IExternalContext, ExternalContext>(); // https://docs.microsoft.com/en-us/aspnet/core/data/entity-framework-6
|
|
|
|
|
services.AddTransient<ISettingsRepository, SettingsJsonRepository>();
|
|
|
|
|
services.AddTransient<ISettingsResolver, SettingsResolver>();
|
|
|
|
|
services.AddTransient<IPlexContentRepository, PlexServerContentRepository>();
|
|
|
|
|
services.AddTransient<IEmbyContentRepository, EmbyContentRepository>();
|
|
|
|
|
services.AddTransient<INotificationTemplatesRepository, NotificationTemplatesRepository>();
|
|
|
|
|
services.AddScoped<ISettingsRepository, SettingsJsonRepository>();
|
|
|
|
|
services.AddScoped<ISettingsResolver, SettingsResolver>();
|
|
|
|
|
services.AddScoped<IPlexContentRepository, PlexServerContentRepository>();
|
|
|
|
|
services.AddScoped<IEmbyContentRepository, EmbyContentRepository>();
|
|
|
|
|
services.AddScoped<INotificationTemplatesRepository, NotificationTemplatesRepository>();
|
|
|
|
|
|
|
|
|
|
services.AddTransient<ITvRequestRepository, TvRequestRepository>();
|
|
|
|
|
services.AddTransient<IMovieRequestRepository, MovieRequestRepository>();
|
|
|
|
|
services.AddTransient<IMusicRequestRepository, MusicRequestRepository>();
|
|
|
|
|
services.AddTransient<IAuditRepository, AuditRepository>();
|
|
|
|
|
services.AddTransient<IApplicationConfigRepository, ApplicationConfigRepository>();
|
|
|
|
|
services.AddTransient<ITokenRepository, TokenRepository>();
|
|
|
|
|
services.AddTransient(typeof(ISettingsService<>), typeof(SettingsService<>));
|
|
|
|
|
services.AddTransient(typeof(IRepository<>), typeof(Repository<>));
|
|
|
|
|
services.AddTransient(typeof(IExternalRepository<>), typeof(ExternalRepository<>));
|
|
|
|
|
services.AddScoped<ITvRequestRepository, TvRequestRepository>();
|
|
|
|
|
services.AddScoped<IMovieRequestRepository, MovieRequestRepository>();
|
|
|
|
|
services.AddScoped<IMusicRequestRepository, MusicRequestRepository>();
|
|
|
|
|
services.AddScoped<IAuditRepository, AuditRepository>();
|
|
|
|
|
services.AddScoped<IApplicationConfigRepository, ApplicationConfigRepository>();
|
|
|
|
|
services.AddScoped<ITokenRepository, TokenRepository>();
|
|
|
|
|
services.AddScoped(typeof(ISettingsService<>), typeof(SettingsService<>));
|
|
|
|
|
services.AddScoped(typeof(IRepository<>), typeof(Repository<>));
|
|
|
|
|
services.AddScoped(typeof(IExternalRepository<>), typeof(ExternalRepository<>));
|
|
|
|
|
}
|
|
|
|
|
public static void RegisterServices(this IServiceCollection services)
|
|
|
|
|
{
|
|
|
|
@ -161,7 +164,7 @@ namespace Ombi.DependencyInjection
|
|
|
|
|
services.AddTransient<INotificationService, NotificationService>();
|
|
|
|
|
services.AddTransient<IEmailProvider, GenericEmailProvider>();
|
|
|
|
|
services.AddTransient<INotificationHelper, NotificationHelper>();
|
|
|
|
|
services.AddTransient<ICacheService, CacheService>();
|
|
|
|
|
services.AddSingleton<ICacheService, CacheService>();
|
|
|
|
|
|
|
|
|
|
services.AddTransient<IDiscordNotification, DiscordNotification>();
|
|
|
|
|
services.AddTransient<IEmailNotification, EmailNotification>();
|
|
|
|
@ -170,6 +173,7 @@ namespace Ombi.DependencyInjection
|
|
|
|
|
services.AddTransient<ISlackNotification, SlackNotification>();
|
|
|
|
|
services.AddTransient<IMattermostNotification, MattermostNotification>();
|
|
|
|
|
services.AddTransient<IPushoverNotification, PushoverNotification>();
|
|
|
|
|
services.AddTransient<IGotifyNotification, GotifyNotification>();
|
|
|
|
|
services.AddTransient<ITelegramNotification, TelegramNotification>();
|
|
|
|
|
services.AddTransient<IMobileNotification, MobileNotification>();
|
|
|
|
|
services.AddTransient<IChangeLogProcessor, ChangeLogProcessor>();
|
|
|
|
@ -177,6 +181,7 @@ namespace Ombi.DependencyInjection
|
|
|
|
|
|
|
|
|
|
public static void RegisterJobs(this IServiceCollection services)
|
|
|
|
|
{
|
|
|
|
|
services.AddSingleton<IJobFactory, IoCJobFactory>(provider => new IoCJobFactory(provider));
|
|
|
|
|
services.AddTransient<IBackgroundJobClient, BackgroundJobClient>();
|
|
|
|
|
|
|
|
|
|
services.AddTransient<IPlexContentSync, PlexContentSync>();
|
|
|
|
@ -197,7 +202,7 @@ namespace Ombi.DependencyInjection
|
|
|
|
|
services.AddTransient<ISickRageSync, SickRageSync>();
|
|
|
|
|
services.AddTransient<IRefreshMetadata, RefreshMetadata>();
|
|
|
|
|
services.AddTransient<INewsletterJob, NewsletterJob>();
|
|
|
|
|
services.AddTransient<IPlexRecentlyAddedSync, PlexRecentlyAddedSync>();
|
|
|
|
|
//services.AddTransient<IPlexRecentlyAddedSync, PlexRecentlyAddedSync>();
|
|
|
|
|
services.AddTransient<ILidarrAlbumSync, LidarrAlbumSync>();
|
|
|
|
|
services.AddTransient<ILidarrArtistSync, LidarrArtistSync>();
|
|
|
|
|
services.AddTransient<ILidarrAvailabilityChecker, LidarrAvailabilityChecker>();
|
|
|
|
|