Exemple #1
0
 public PlexContentCacher(ISettingsService <PlexSettings> plexSettings, IRequestService request, IPlexApi plex, ICacheProvider cache,
                          INotificationService notify, IJobRecord rec, IRepository <UsersToNotify> users, IRepository <PlexEpisodes> repo, IPlexNotificationEngine e, IRepository <PlexContent> content)
 {
     Plex               = plexSettings;
     RequestService     = request;
     PlexApi            = plex;
     Cache              = cache;
     Notification       = notify;
     Job                = rec;
     UserNotifyRepo     = users;
     EpisodeRepo        = repo;
     NotificationEngine = e;
     PlexContent        = content;
 }
Exemple #2
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();
        }