Exemplo n.º 1
0
 public RadarrQualityDefinitionUpdater(ILogger logger, IRadarrQualityDefinitionGuideParser parser,
                                       IRadarrApi api)
 {
     Log     = logger;
     _parser = parser;
     _api    = api;
 }
Exemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TesterController" /> class.
 /// </summary>
 public TesterController(INotificationService service, IDiscordNotification notification, IEmailNotification emailN,
                         IPushbulletNotification pushbullet, ISlackNotification slack, IPushoverNotification po, IMattermostNotification mm,
                         IPlexApi plex, IEmbyApiFactory emby, IRadarrApi radarr, ISonarrApi sonarr, ILogger <TesterController> log, IEmailProvider provider,
                         ICouchPotatoApi cpApi, ITelegramNotification telegram, ISickRageApi srApi, INewsletterJob newsletter, ILegacyMobileNotification mobileNotification,
                         ILidarrApi lidarrApi, IGotifyNotification gotifyNotification, IWhatsAppApi whatsAppApi, OmbiUserManager um, IWebhookNotification webhookNotification,
                         IJellyfinApi jellyfinApi)
 {
     Service                = service;
     DiscordNotification    = notification;
     EmailNotification      = emailN;
     PushbulletNotification = pushbullet;
     SlackNotification      = slack;
     PushoverNotification   = po;
     MattermostNotification = mm;
     PlexApi                = plex;
     RadarrApi              = radarr;
     EmbyApi                = emby;
     SonarrApi              = sonarr;
     Log                  = log;
     EmailProvider        = provider;
     CouchPotatoApi       = cpApi;
     TelegramNotification = telegram;
     SickRageApi          = srApi;
     Newsletter           = newsletter;
     MobileNotification   = mobileNotification;
     LidarrApi            = lidarrApi;
     GotifyNotification   = gotifyNotification;
     WhatsAppApi          = whatsAppApi;
     UserManager          = um;
     WebhookNotification  = webhookNotification;
     _jellyfinApi         = jellyfinApi;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TesterController" /> class.
 /// </summary>
 public TesterController(INotificationService service, IDiscordNotification notification, IEmailNotification emailN,
                         IPushbulletNotification pushbullet, ISlackNotification slack, IPushoverNotification po, IMattermostNotification mm,
                         IPlexApi plex, IEmbyApi emby, IRadarrApi radarr, ISonarrApi sonarr, ILogger <TesterController> log, IEmailProvider provider,
                         ICouchPotatoApi cpApi, ITelegramNotification telegram, ISickRageApi srApi, INewsletterJob newsletter, IMobileNotification mobileNotification,
                         ILidarrApi lidarrApi, IGotifyNotification gotifyNotification)
 {
     Service                = service;
     DiscordNotification    = notification;
     EmailNotification      = emailN;
     PushbulletNotification = pushbullet;
     SlackNotification      = slack;
     PushoverNotification   = po;
     MattermostNotification = mm;
     PlexApi                = plex;
     RadarrApi              = radarr;
     EmbyApi                = emby;
     SonarrApi              = sonarr;
     Log                  = log;
     EmailProvider        = provider;
     CouchPotatoApi       = cpApi;
     TelegramNotification = telegram;
     SickRageApi          = srApi;
     Newsletter           = newsletter;
     MobileNotification   = mobileNotification;
     LidarrApi            = lidarrApi;
     GotifyNotification   = gotifyNotification;
 }
Exemplo n.º 4
0
        public ApplicationTesterModule(ICouchPotatoApi cpApi, ISonarrApi sonarrApi, IPlexApi plexApi,
                                       ISickRageApi srApi, IHeadphonesApi hpApi, ISettingsService <PlexRequestSettings> pr, ISecurityExtensions security,
                                       IWatcherApi watcherApi, IRadarrApi radarrApi, IEmbyApi emby) : base("test", pr, security)
        {
            this.RequiresAuthentication();

            CpApi         = cpApi;
            SonarrApi     = sonarrApi;
            PlexApi       = plexApi;
            SickRageApi   = srApi;
            HeadphonesApi = hpApi;
            WatcherApi    = watcherApi;
            RadarrApi     = radarrApi;
            Emby          = emby;

            Post["/cp"]         = _ => CouchPotatoTest();
            Post["/sonarr"]     = _ => SonarrTest();
            Post["/radarr"]     = _ => RadarrTest();
            Post["/plex"]       = _ => PlexTest();
            Post["/sickrage"]   = _ => SickRageTest();
            Post["/headphones"] = _ => HeadphonesTest();
            Post["/plexdb"]     = _ => TestPlexDb();
            Post["/watcher"]    = _ => WatcherTest();
            Post["/emby"]       = _ => EmbyTest();
        }
Exemplo n.º 5
0
 public RadarrCacher(ISettingsService <RadarrSettings> radarrService, IRadarrApi radarrApi, ICacheProvider cache, IJobRecord rec)
 {
     RadarrSettings = radarrService;
     RadarrApi      = radarrApi;
     Job            = rec;
     Cache          = cache;
 }
Exemplo n.º 6
0
 public RadarrController(IRadarrApi radarr, ISettingsService <RadarrSettings> settings,
                         ICacheService mem)
 {
     RadarrApi      = radarr;
     RadarrSettings = settings;
     Cache          = mem;
 }
Exemplo n.º 7
0
        public IntegrationModule(ISettingsService <PlexRequestSettings> settingsService, ISettingsService <WatcherSettings> watcher,
                                 ISettingsService <CouchPotatoSettings> cp, ISecurityExtensions security, IAnalytics a, ISettingsService <RadarrSettings> radarrSettings,
                                 ICacheProvider cache, IRadarrApi radarrApi, ISonarrApi sonarrApi) : base("admin", settingsService, security)
        {
            WatcherSettings = watcher;
            Analytics       = a;
            CpSettings      = cp;
            Cache           = cache;
            RadarrApi       = radarrApi;
            RadarrSettings  = radarrSettings;
            SonarrApi       = sonarrApi;

            Before += (ctx) => Security.AdminLoginRedirect(Permissions.Administrator, ctx);


            Post["/sonarrrootfolders"] = _ => GetSonarrRootFolders();

            Get["/watcher", true] = async(x, ct) => await Watcher();

            Post["/watcher", true] = async(x, ct) => await SaveWatcher();

            Get["/radarr", true] = async(x, ct) => await Radarr();

            Post["/radarr", true] = async(x, ct) => await SaveRadarr();


            Post["/radarrprofiles"] = _ => GetRadarrQualityProfiles();
        }
Exemplo n.º 8
0
 public RadarrSync(ISettingsService <RadarrSettings> radarr, IRadarrApi radarrApi, ILogger <RadarrSync> log, IExternalContext ctx)
 {
     RadarrSettings = radarr;
     RadarrApi      = radarrApi;
     Logger         = log;
     _ctx           = ctx;
 }
Exemplo n.º 9
0
 public RadarrSync(ISettingsService <RadarrSettings> radarr, IRadarrApi radarrApi, ILogger <RadarrSync> log, IOmbiContext ctx)
 {
     RadarrSettings = radarr;
     RadarrApi      = radarrApi;
     Logger         = log;
     _ctx           = ctx;
     RadarrSettings.ClearCache();
 }
Exemplo n.º 10
0
 public RadarrController(IRadarrApi radarr, ISettingsService <RadarrSettings> settings,
                         ICacheService mem, IRadarrV3Api radarrV3Api)
 {
     _radarrApi      = radarr;
     _radarrSettings = settings;
     _cache          = mem;
     _radarrV3Api    = radarrV3Api;
 }
Exemplo n.º 11
0
 public MovieSender(ISettingsService <CouchPotatoSettings> cp, ISettingsService <WatcherSettings> watcher,
                    ICouchPotatoApi cpApi, IWatcherApi watcherApi, IRadarrApi radarrApi, ISettingsService <RadarrSettings> radarrSettings)
 {
     CouchPotatoSettings = cp;
     WatcherSettings     = watcher;
     CpApi          = cpApi;
     WatcherApi     = watcherApi;
     RadarrSettings = radarrSettings;
     RadarrApi      = radarrApi;
 }
Exemplo n.º 12
0
 public MovieSender(ISettingsService <RadarrSettings> radarrSettings, IRadarrApi api, ILogger <MovieSender> log,
                    ISettingsService <DogNzbSettings> dogSettings, IDogNzbApi dogApi, ISettingsService <CouchPotatoSettings> cpSettings,
                    ICouchPotatoApi cpApi)
 {
     RadarrSettings      = radarrSettings;
     RadarrApi           = api;
     Log                 = log;
     DogNzbSettings      = dogSettings;
     DogNzbApi           = dogApi;
     CouchPotatoSettings = cpSettings;
     CouchPotatoApi      = cpApi;
 }
Exemplo n.º 13
0
 public MovieSender(ISettingsService <RadarrSettings> radarrSettings, IRadarrApi api, ILogger <MovieSender> log,
                    ISettingsService <DogNzbSettings> dogSettings, IDogNzbApi dogApi, ISettingsService <CouchPotatoSettings> cpSettings,
                    ICouchPotatoApi cpApi, IRepository <UserQualityProfiles> userProfiles)
 {
     RadarrSettings      = radarrSettings;
     RadarrApi           = api;
     Log                 = log;
     DogNzbSettings      = dogSettings;
     DogNzbApi           = dogApi;
     CouchPotatoSettings = cpSettings;
     CouchPotatoApi      = cpApi;
     _userProfiles       = userProfiles;
 }
Exemplo n.º 14
0
 public MovieSender(ISettingsService <RadarrSettings> radarrSettings, IRadarrApi api, ILogger <MovieSender> log,
                    ISettingsService <DogNzbSettings> dogSettings, IDogNzbApi dogApi, ISettingsService <CouchPotatoSettings> cpSettings,
                    ICouchPotatoApi cpApi, IRepository <UserQualityProfiles> userProfiles, IRepository <RequestQueue> requestQueue, INotificationHelper notify)
 {
     RadarrSettings         = radarrSettings;
     RadarrApi              = api;
     Log                    = log;
     DogNzbSettings         = dogSettings;
     DogNzbApi              = dogApi;
     CouchPotatoSettings    = cpSettings;
     CouchPotatoApi         = cpApi;
     _userProfiles          = userProfiles;
     _requestQueuRepository = requestQueue;
     _notificationHelper    = notify;
 }
Exemplo n.º 15
0
        public RequestsModule(
            IRequestService service,
            ISettingsService <PlexRequestSettings> prSettings,
            ISettingsService <PlexSettings> plex,
            INotificationService notify,
            ISettingsService <SonarrSettings> sonarrSettings,
            ISettingsService <SickRageSettings> sickRageSettings,
            ISettingsService <CouchPotatoSettings> cpSettings,
            ICouchPotatoApi cpApi,
            ISonarrApi sonarrApi,
            ISickRageApi sickRageApi,
            ICacheProvider cache,
            IAnalytics an,
            IPlexNotificationEngine engine,
            IEmbyNotificationEngine embyEngine,
            ISecurityExtensions security,
            ISettingsService <CustomizationSettings> customSettings,
            ISettingsService <EmbySettings> embyS,
            ISettingsService <RadarrSettings> radarr,
            IRadarrApi radarrApi) : base("requests", prSettings, security)
        {
            Service             = service;
            PrSettings          = prSettings;
            PlexSettings        = plex;
            NotificationService = notify;
            SonarrSettings      = sonarrSettings;
            SickRageSettings    = sickRageSettings;
            CpSettings          = cpSettings;
            SonarrApi           = sonarrApi;
            SickRageApi         = sickRageApi;
            CpApi     = cpApi;
            Cache     = cache;
            Analytics = an;
            PlexNotificationEngine = engine;
            EmbyNotificationEngine = embyEngine;
            CustomizationSettings  = customSettings;
            EmbySettings           = embyS;
            Radarr    = radarr;
            RadarrApi = radarrApi;

            Get["/", true] = async(x, ct) => await LoadRequests();

            Get["/movies", true] = async(x, ct) => await GetMovies();

            Get["/tvshows", true] = async(c, ct) => await GetTvShows();

            Get["/albums", true] = async(x, ct) => await GetAlbumRequests();

            Post["/delete", true] = async(x, ct) => await DeleteRequest((int)Request.Form.id);

            Post["/reportissue", true] = async(x, ct) => await ReportIssue((int)Request.Form.requestId, (IssueState)(int)Request.Form.issue, null);

            Post["/reportissuecomment", true] = async(x, ct) => await ReportIssue((int)Request.Form.requestId, IssueState.Other, (string)Request.Form.commentArea);

            Post["/clearissues", true] = async(x, ct) => await ClearIssue((int)Request.Form.Id);

            Post["/changeavailability", true] = async(x, ct) => await ChangeRequestAvailability((int)Request.Form.Id, (bool)Request.Form.Available);

            Post["/changeRootFoldertv", true] = async(x, ct) => await ChangeRootFolder(RequestType.TvShow, (int)Request.Form.requestId, (int)Request.Form.rootFolderId);

            Post["/changeRootFoldermovie", true] = async(x, ct) => await ChangeRootFolder(RequestType.Movie, (int)Request.Form.requestId, (int)Request.Form.rootFolderId);

            Get["/UpdateFilters", true] = async(x, ct) => await GetFilterAndSortSettings();
        }
Exemplo n.º 16
0
        public AdminModule(ISettingsService <PlexRequestSettings> prService,
                           ISettingsService <CouchPotatoSettings> cpService,
                           ISettingsService <AuthenticationSettings> auth,
                           ISettingsService <PlexSettings> plex,
                           ISettingsService <SonarrSettings> sonarr,
                           ISettingsService <SickRageSettings> sickrage,
                           ISonarrApi sonarrApi,
                           ISettingsService <EmailNotificationSettings> email,
                           IPlexApi plexApi,
                           ISettingsService <PushbulletNotificationSettings> pbSettings,
                           PushbulletApi pbApi,
                           ICouchPotatoApi cpApi,
                           ISettingsService <PushoverNotificationSettings> pushoverSettings,
                           ISettingsService <NewletterSettings> newsletter,
                           IPushoverApi pushoverApi,
                           IRepository <LogEntity> logsRepo,
                           INotificationService notify,
                           ISettingsService <HeadphonesSettings> headphones,
                           ISettingsService <LogSettings> logs,
                           ICacheProvider cache, ISettingsService <SlackNotificationSettings> slackSettings,
                           ISlackApi slackApi, ISettingsService <LandingPageSettings> lp,
                           ISettingsService <ScheduledJobsSettings> scheduler, IJobRecord rec, IAnalytics analytics,
                           ISettingsService <NotificationSettingsV2> notifyService, IRecentlyAdded recentlyAdded,
                           ISettingsService <WatcherSettings> watcherSettings,
                           ISettingsService <DiscordNotificationSettings> discord,
                           IDiscordApi discordapi, ISettingsService <RadarrSettings> settings, IRadarrApi radarrApi
                           , ISecurityExtensions security) : base("admin", prService, security)
        {
            PrService            = prService;
            CpService            = cpService;
            AuthService          = auth;
            PlexService          = plex;
            SonarrService        = sonarr;
            SonarrApi            = sonarrApi;
            EmailService         = email;
            PlexApi              = plexApi;
            PushbulletService    = pbSettings;
            PushbulletApi        = pbApi;
            CpApi                = cpApi;
            SickRageService      = sickrage;
            LogsRepo             = logsRepo;
            PushoverService      = pushoverSettings;
            PushoverApi          = pushoverApi;
            NotificationService  = notify;
            HeadphonesService    = headphones;
            NewsLetterService    = newsletter;
            LogService           = logs;
            Cache                = cache;
            SlackSettings        = slackSettings;
            SlackApi             = slackApi;
            LandingSettings      = lp;
            ScheduledJobSettings = scheduler;
            JobRecorder          = rec;
            Analytics            = analytics;
            NotifySettings       = notifyService;
            RecentlyAdded        = recentlyAdded;
            WatcherSettings      = watcherSettings;
            DiscordSettings      = discord;
            DiscordApi           = discordapi;
            RadarrSettings       = settings;
            RadarrApi            = radarrApi;

            Before += (ctx) => Security.AdminLoginRedirect(Permissions.Administrator, ctx);

            Get["/"] = _ => Admin();

            Get["/authentication", true] = async(x, ct) => await Authentication();

            Post["/authentication", true] = async(x, ct) => await SaveAuthentication();

            Post["/", true] = async(x, ct) => await SaveAdmin();

            Post["/requestauth"] = _ => RequestAuthToken();

            Get["/getusers"] = _ => GetUsers();

            Get["/couchpotato"]        = _ => CouchPotato();
            Post["/couchpotato", true] = async(x, ct) => await SaveCouchPotato();

            Get["/plex"]        = _ => Plex();
            Post["/plex", true] = async(x, ct) => await SavePlex();

            Get["/sonarr"]          = _ => Sonarr();
            Post["/sonarr"]         = _ => SaveSonarr();
            Post["/sonarrprofiles"] = _ => GetSonarrQualityProfiles();


            Get["/sickrage"]  = _ => Sickrage();
            Post["/sickrage"] = _ => SaveSickrage();

            Post["/cpprofiles", true] = async(x, ct) => await GetCpProfiles();

            Post["/cpapikey"] = x => GetCpApiKey();

            Get["/emailnotification"]            = _ => EmailNotifications();
            Post["/emailnotification"]           = _ => SaveEmailNotifications();
            Post["/testemailnotification", true] = async(x, ct) => await TestEmailNotifications();

            Get["/pushbulletnotification"]            = _ => PushbulletNotifications();
            Post["/pushbulletnotification"]           = _ => SavePushbulletNotifications();
            Post["/testpushbulletnotification", true] = async(x, ct) => await TestPushbulletNotifications();

            Get["/pushovernotification"]            = _ => PushoverNotifications();
            Post["/pushovernotification"]           = _ => SavePushoverNotifications();
            Post["/testpushovernotification", true] = async(x, ct) => await TestPushoverNotifications();

            Get["/logs"]      = _ => Logs();
            Get["/loglevel"]  = _ => GetLogLevels();
            Post["/loglevel"] = _ => UpdateLogLevels(Request.Form.level);
            Get["/loadlogs"]  = _ => LoadLogs();

            Get["/headphones"]  = _ => Headphones();
            Post["/headphones"] = _ => SaveHeadphones();

            Get["/newsletter", true] = async(x, ct) => await Newsletter();

            Post["/newsletter", true] = async(x, ct) => await SaveNewsletter();

            Post["/createapikey"] = x => CreateApiKey();



            Post["/testslacknotification", true] = async(x, ct) => await TestSlackNotification();

            Get["/slacknotification"]  = _ => SlackNotifications();
            Post["/slacknotification"] = _ => SaveSlackNotifications();

            Post["/testdiscordnotification", true] = async(x, ct) => await TestDiscordNotification();

            Get["/discordnotification", true] = async(x, ct) => await DiscordNotification();

            Post["/discordnotification", true] = async(x, ct) => await SaveDiscordNotifications();

            Get["/landingpage", true] = async(x, ct) => await LandingPage();

            Post["/landingpage", true] = async(x, ct) => await SaveLandingPage();

            Get["/scheduledjobs", true] = async(x, ct) => await GetScheduledJobs();

            Post["/scheduledjobs", true] = async(x, ct) => await SaveScheduledJobs();

            Post["/clearlogs", true] = async(x, ct) => await ClearLogs();

            Get["/notificationsettings", true] = async(x, ct) => await NotificationSettings();

            Post["/notificationsettings"] = x => SaveNotificationSettings();

            Post["/recentlyAddedTest"] = x => RecentlyAddedTest();
        }