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); }
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); }
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); }