public AvailabilityUpdateService()
        {
            var memCache = new MemoryCacheProvider();
            var dbConfig = new DbConfiguration(new SqliteFactory());
            var repo     = new SettingsJsonRepository(dbConfig, memCache);

            ConfigurationReader = new ConfigurationReader();
            Checker             = new PlexAvailabilityChecker(new SettingsServiceV2 <PlexSettings>(repo), new SettingsServiceV2 <AuthenticationSettings>(repo), new JsonRequestService(new RequestJsonRepository(dbConfig, memCache)), new PlexApi(), memCache);
            HostingEnvironment.RegisterObject(this);
        }
Exemplo n.º 2
0
        public MediaCacheService()
        {
            var memCache = new MemoryCacheProvider();
            var dbConfig = new DbConfiguration(new SqliteFactory());
            var repo     = new SettingsJsonRepository(dbConfig, memCache);

            ConfigurationReader = new ConfigurationReader();
            CpCacher            = new CouchPotatoCacher(new SettingsServiceV2 <CouchPotatoSettings>(repo), new CouchPotatoApi(), memCache);
            SonarrCacher        = new SonarrCacher(new SettingsServiceV2 <SonarrSettings>(repo), new SonarrApi(), memCache);
            SickRageCacher      = new SickRageCacher(new SettingsServiceV2 <SickRageSettings>(repo), new SickrageApi(), memCache);
            HostingEnvironment.RegisterObject(this);
        }
Exemplo n.º 3
0
        private void CreateDefaultSettingsPage(string baseUrl)
        {
            var defaultUserSettings = new UserManagementSettings
            {
                RequestMovies  = true,
                RequestTvShows = true,
                ReportIssues   = true,
            };
            var defaultSettings = new PlexRequestSettings
            {
                SearchForMovies     = true,
                SearchForTvShows    = true,
                SearchForActors     = true,
                BaseUrl             = baseUrl ?? string.Empty,
                CollectAnalyticData = true,
            };
            var ctor = new SettingsJsonRepository(new DbConfiguration(new SqliteFactory()), new MemoryCacheProvider());
            var s    = new SettingsServiceV2 <PlexRequestSettings>(ctor);

            s.SaveSettings(defaultSettings);

            var userSettings = new SettingsServiceV2 <UserManagementSettings>(ctor);

            userSettings.SaveSettings(defaultUserSettings);


            var cron      = (Quartz.Impl.Triggers.CronTriggerImpl)CronScheduleBuilder.WeeklyOnDayAndHourAndMinute(DayOfWeek.Friday, 7, 0).Build();
            var scheduled = new ScheduledJobsSettings
            {
                PlexAvailabilityChecker  = 60,
                SickRageCacher           = 60,
                SonarrCacher             = 60,
                CouchPotatoCacher        = 60,
                StoreBackup              = 24,
                StoreCleanup             = 24,
                UserRequestLimitResetter = 12,
                PlexEpisodeCacher        = 12,
                RecentlyAddedCron        = cron.CronExpressionString, // Weekly CRON at 7 am on Mondays
            };

            var scheduledSettings = new SettingsServiceV2 <ScheduledJobsSettings>(new SettingsJsonRepository(new DbConfiguration(new SqliteFactory()), new MemoryCacheProvider()));

            scheduledSettings.SaveSettings(scheduled);
        }