예제 #1
0
        public AlbumModule(IArtistService artistService,
                           IAlbumService albumService,
                           IAddAlbumService addAlbumService,
                           IReleaseService releaseService,
                           IArtistStatisticsService artistStatisticsService,
                           IMapCoversToLocal coverMapper,
                           IUpgradableSpecification upgradableSpecification,
                           IBroadcastSignalRMessage signalRBroadcaster,
                           QualityProfileExistsValidator qualityProfileExistsValidator,
                           MetadataProfileExistsValidator metadataProfileExistsValidator)

            : base(albumService, artistStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster)
        {
            _artistService   = artistService;
            _releaseService  = releaseService;
            _addAlbumService = addAlbumService;

            GetResourceAll = GetAlbums;
            CreateResource = AddAlbum;
            UpdateResource = UpdateAlbum;
            DeleteResource = DeleteAlbum;
            Put("/monitor", x => SetAlbumsMonitored());

            PostValidator.RuleFor(s => s.ForeignAlbumId).NotEmpty();
            PostValidator.RuleFor(s => s.Artist.QualityProfileId).SetValidator(qualityProfileExistsValidator);
            PostValidator.RuleFor(s => s.Artist.MetadataProfileId).SetValidator(metadataProfileExistsValidator);
            PostValidator.RuleFor(s => s.Artist.RootFolderPath).IsValidPath().When(s => s.Artist.Path.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.Artist.ForeignArtistId).NotEmpty();
        }
예제 #2
0
        public BookModule(IAuthorService authorService,
                          IBookService bookService,
                          IAddBookService addBookService,
                          IEditionService editionService,
                          ISeriesBookLinkService seriesBookLinkService,
                          IAuthorStatisticsService authorStatisticsService,
                          IMapCoversToLocal coverMapper,
                          IUpgradableSpecification upgradableSpecification,
                          IBroadcastSignalRMessage signalRBroadcaster,
                          QualityProfileExistsValidator qualityProfileExistsValidator,
                          MetadataProfileExistsValidator metadataProfileExistsValidator)

            : base(bookService, seriesBookLinkService, authorStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster)
        {
            _authorService  = authorService;
            _editionService = editionService;
            _addBookService = addBookService;

            GetResourceAll = GetBooks;
            CreateResource = AddBook;
            UpdateResource = UpdateBook;
            DeleteResource = DeleteBook;
            Put("/monitor", x => SetBooksMonitored());

            PostValidator.RuleFor(s => s.ForeignBookId).NotEmpty();
            PostValidator.RuleFor(s => s.Author.QualityProfileId).SetValidator(qualityProfileExistsValidator);
            PostValidator.RuleFor(s => s.Author.MetadataProfileId).SetValidator(metadataProfileExistsValidator);
            PostValidator.RuleFor(s => s.Author.RootFolderPath).IsValidPath().When(s => s.Author.Path.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.Author.ForeignAuthorId).NotEmpty();
        }
예제 #3
0
 public MovieMissingModule(IMovieService movieService,
                           IUpgradableSpecification qualityUpgradableSpecification,
                           IBroadcastSignalRMessage signalRBroadcaster)
     : base(movieService, qualityUpgradableSpecification, signalRBroadcaster, "wanted/missing")
 {
     GetResourcePaged = GetMissingMovies;
 }
예제 #4
0
        public MovieModule(IBroadcastSignalRMessage signalRBroadcaster,
                           IMovieService moviesService,
                           IMovieTranslationService movieTranslationService,
                           IAddMovieService addMovieService,
                           IMapCoversToLocal coverMapper,
                           IManageCommandQueue commandQueueManager,
                           IUpgradableSpecification qualityUpgradableSpecification,
                           IConfigService configService,
                           RootFolderValidator rootFolderValidator,
                           MappedNetworkDriveValidator mappedNetworkDriveValidator,
                           MoviePathValidator moviesPathValidator,
                           MovieExistsValidator moviesExistsValidator,
                           MovieAncestorValidator moviesAncestorValidator,
                           RecycleBinValidator recycleBinValidator,
                           SystemFolderValidator systemFolderValidator,
                           ProfileExistsValidator profileExistsValidator,
                           MovieFolderAsRootFolderValidator movieFolderAsRootFolderValidator,
                           Logger logger)
            : base(signalRBroadcaster)
        {
            _moviesService                  = moviesService;
            _movieTranslationService        = movieTranslationService;
            _addMovieService                = addMovieService;
            _qualityUpgradableSpecification = qualityUpgradableSpecification;
            _configService                  = configService;
            _coverMapper         = coverMapper;
            _commandQueueManager = commandQueueManager;
            _logger = logger;

            GetResourceAll  = AllMovie;
            GetResourceById = GetMovie;
            CreateResource  = AddMovie;
            UpdateResource  = UpdateMovie;
            DeleteResource  = DeleteMovie;

            SharedValidator.RuleFor(s => s.QualityProfileId).ValidId();

            SharedValidator.RuleFor(s => s.Path)
            .Cascade(CascadeMode.StopOnFirstFailure)
            .IsValidPath()
            .SetValidator(rootFolderValidator)
            .SetValidator(mappedNetworkDriveValidator)
            .SetValidator(moviesPathValidator)
            .SetValidator(moviesAncestorValidator)
            .SetValidator(recycleBinValidator)
            .SetValidator(systemFolderValidator)
            .When(s => !s.Path.IsNullOrWhiteSpace());

            SharedValidator.RuleFor(s => s.QualityProfileId).SetValidator(profileExistsValidator);

            PostValidator.RuleFor(s => s.Path).IsValidPath().When(s => s.RootFolderPath.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.RootFolderPath)
            .IsValidPath()
            .SetValidator(movieFolderAsRootFolderValidator)
            .When(s => s.Path.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.Title).NotEmpty().When(s => s.TmdbId <= 0);
            PostValidator.RuleFor(s => s.TmdbId).NotNull().NotEmpty().SetValidator(moviesExistsValidator);

            PutValidator.RuleFor(s => s.Path).IsValidPath();
        }
예제 #5
0
 public CalendarModule(IEpisodeService episodeService,
                       ISeriesService seriesService,
                       IUpgradableSpecification upgradableSpecification,
                       IBroadcastSignalRMessage signalRBroadcaster)
     : base(episodeService, seriesService, upgradableSpecification, signalRBroadcaster, "calendar")
 {
     GetResourceAll = GetCalendar;
 }
예제 #6
0
 public HistoryController(IHistoryService historyService,
                          IUpgradableSpecification upgradableSpecification,
                          IFailedDownloadService failedDownloadService)
 {
     _historyService          = historyService;
     _upgradableSpecification = upgradableSpecification;
     _failedDownloadService   = failedDownloadService;
 }
예제 #7
0
 public CutoffSpecification(IUpgradableSpecification upgradableSpecification,
                            ICustomFormatCalculationService formatService,
                            Logger logger)
 {
     _upgradableSpecification = upgradableSpecification;
     _formatService           = formatService;
     _logger = logger;
 }
예제 #8
0
 public MissingModule(IEpisodeService episodeService,
                      ISeriesService seriesService,
                      IUpgradableSpecification upgradableSpecification,
                      IBroadcastSignalRMessage signalRBroadcaster)
     : base(episodeService, seriesService, upgradableSpecification, signalRBroadcaster, "wanted/missing")
 {
     GetResourcePaged = GetMissingEpisodes;
 }
예제 #9
0
 public TrackModule(IArtistService artistService,
                    ITrackService trackService,
                    IUpgradableSpecification upgradableSpecification,
                    IBroadcastSignalRMessage signalRBroadcaster)
     : base(trackService, artistService, upgradableSpecification, signalRBroadcaster)
 {
     GetResourceAll = GetTracks;
 }
예제 #10
0
 public MissingModule(IAlbumService albumService,
                      IArtistStatisticsService artistStatisticsService,
                      IMapCoversToLocal coverMapper,
                      IUpgradableSpecification upgradableSpecification,
                      IBroadcastSignalRMessage signalRBroadcaster)
     : base(albumService, artistStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster, "wanted/missing")
 {
     GetResourcePaged = GetMissingAlbums;
 }
예제 #11
0
 public CalendarModule(IAlbumService albumService,
                       IArtistStatisticsService artistStatisticsService,
                       IMapCoversToLocal coverMapper,
                       IUpgradableSpecification upgradableSpecification,
                       IBroadcastSignalRMessage signalRBroadcaster)
     : base(albumService, artistStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster, "calendar")
 {
     GetResourceAll = GetCalendar;
 }
예제 #12
0
 public MovieCutoffModule(IMovieCutoffService movieCutoffService,
                          IMovieService movieService,
                          IUpgradableSpecification qualityUpgradableSpecification,
                          IBroadcastSignalRMessage signalRBroadcaster)
     : base(movieService, qualityUpgradableSpecification, signalRBroadcaster, "wanted/cutoff")
 {
     _movieCutoffService = movieCutoffService;
     GetResourcePaged    = GetCutoffUnmetMovies;
 }
예제 #13
0
 public MissingController(IBookService bookService,
                          ISeriesBookLinkService seriesBookLinkService,
                          IAuthorStatisticsService authorStatisticsService,
                          IMapCoversToLocal coverMapper,
                          IUpgradableSpecification upgradableSpecification,
                          IBroadcastSignalRMessage signalRBroadcaster)
     : base(bookService, seriesBookLinkService, authorStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster)
 {
 }
예제 #14
0
 public MissingModule(IBookService bookService,
                      IAuthorStatisticsService authorStatisticsService,
                      IMapCoversToLocal coverMapper,
                      IUpgradableSpecification upgradableSpecification,
                      IBroadcastSignalRMessage signalRBroadcaster)
     : base(bookService, authorStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster, "wanted/missing")
 {
     GetResourcePaged = GetMissingBooks;
 }
예제 #15
0
 public MovieEditorModule(IMovieService movieService, IManageCommandQueue commandQueueManager, IUpgradableSpecification upgradableSpecification)
     : base("/movie/editor")
 {
     _movieService            = movieService;
     _commandQueueManager     = commandQueueManager;
     _upgradableSpecification = upgradableSpecification;
     Put("/", movie => SaveAll());
     Delete("/", movie => DeleteMovies());
 }
예제 #16
0
 public EpisodeModule(ISeriesService seriesService,
                      IEpisodeService episodeService,
                      IUpgradableSpecification upgradableSpecification,
                      IBroadcastSignalRMessage signalRBroadcaster)
     : base(episodeService, seriesService, upgradableSpecification, signalRBroadcaster)
 {
     GetResourceAll = GetEpisodes;
     UpdateResource = SetMonitored;
 }
예제 #17
0
 public CalendarModule(IBookService bookService,
                       ISeriesBookLinkService seriesBookLinkService,
                       IAuthorStatisticsService authorStatisticsService,
                       IMapCoversToLocal coverMapper,
                       IUpgradableSpecification upgradableSpecification,
                       IBroadcastSignalRMessage signalRBroadcaster)
     : base(bookService, seriesBookLinkService, authorStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster, "calendar")
 {
     GetResourceAll = GetCalendar;
 }
예제 #18
0
        protected MovieModuleWithSignalR(IMovieService movieService,
                                         IUpgradableSpecification qualityUpgradableSpecification,
                                         IBroadcastSignalRMessage signalRBroadcaster)
            : base(signalRBroadcaster)
        {
            _movieService = movieService;
            _qualityUpgradableSpecification = qualityUpgradableSpecification;

            GetResourceById = GetMovie;
        }
예제 #19
0
 public EpisodeModule(ISeriesService seriesService,
                      IEpisodeService episodeService,
                      IUpgradableSpecification upgradableSpecification,
                      IBroadcastSignalRMessage signalRBroadcaster)
     : base(episodeService, seriesService, upgradableSpecification, signalRBroadcaster)
 {
     GetResourceAll = GetEpisodes;
     Put(@"/(?<id>[\d]{1,10})", x => SetEpisodeMonitored(x.Id));
     Put("/monitor", x => SetEpisodesMonitored());
 }
예제 #20
0
 public CutoffModule(IEpisodeCutoffService episodeCutoffService,
                     IEpisodeService episodeService,
                     ISeriesService seriesService,
                     IUpgradableSpecification upgradableSpecification,
                     IBroadcastSignalRMessage signalRBroadcaster)
     : base(episodeService, seriesService, upgradableSpecification, signalRBroadcaster, "wanted/cutoff")
 {
     _episodeCutoffService = episodeCutoffService;
     GetResourcePaged      = GetCutoffUnmetEpisodes;
 }
예제 #21
0
        public HistoryModule(IHistoryService historyService,
                             IUpgradableSpecification qualityUpgradableSpecification,
                             IFailedDownloadService failedDownloadService)
        {
            _historyService = historyService;
            _qualityUpgradableSpecification = qualityUpgradableSpecification;
            _failedDownloadService          = failedDownloadService;
            GetResourcePaged = GetHistory;

            Post("/failed", x => MarkAsFailed());
        }
예제 #22
0
 public CutoffModule(IAlbumCutoffService albumCutoffService,
                     IAlbumService albumService,
                     IArtistStatisticsService artistStatisticsService,
                     IMapCoversToLocal coverMapper,
                     IUpgradableSpecification upgradableSpecification,
                     IBroadcastSignalRMessage signalRBroadcaster)
     : base(albumService, artistStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster, "wanted/cutoff")
 {
     _albumCutoffService = albumCutoffService;
     GetResourcePaged    = GetCutoffUnmetAlbums;
 }
예제 #23
0
 public CutoffModule(IBookCutoffService bookCutoffService,
                     IBookService bookService,
                     IAuthorStatisticsService authorStatisticsService,
                     IMapCoversToLocal coverMapper,
                     IUpgradableSpecification upgradableSpecification,
                     IBroadcastSignalRMessage signalRBroadcaster)
     : base(bookService, authorStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster, "wanted/cutoff")
 {
     _bookCutoffService = bookCutoffService;
     GetResourcePaged   = GetCutoffUnmetBooks;
 }
예제 #24
0
 public CalendarController(IBroadcastSignalRMessage signalR,
                           IMovieService moviesService,
                           IMovieTranslationService movieTranslationService,
                           IUpgradableSpecification qualityUpgradableSpecification,
                           IConfigService configService)
     : base(signalR)
 {
     _moviesService                  = moviesService;
     _movieTranslationService        = movieTranslationService;
     _qualityUpgradableSpecification = qualityUpgradableSpecification;
     _configService                  = configService;
 }
예제 #25
0
        protected TrackModuleWithSignalR(ITrackService trackService,
                                         IArtistService artistService,
                                         IUpgradableSpecification upgradableSpecification,
                                         IBroadcastSignalRMessage signalRBroadcaster)
            : base(signalRBroadcaster)
        {
            _trackService            = trackService;
            _artistService           = artistService;
            _upgradableSpecification = upgradableSpecification;

            GetResourceById = GetTrack;
        }
예제 #26
0
 public HistoryController(IHistoryService historyService,
                          IMovieService movieService,
                          ICustomFormatCalculationService formatCalculator,
                          IUpgradableSpecification upgradableSpecification,
                          IFailedDownloadService failedDownloadService)
 {
     _historyService          = historyService;
     _movieService            = movieService;
     _formatCalculator        = formatCalculator;
     _upgradableSpecification = upgradableSpecification;
     _failedDownloadService   = failedDownloadService;
 }
예제 #27
0
        protected EpisodeModuleWithSignalR(IEpisodeService episodeService,
                                           ISeriesService seriesService,
                                           IUpgradableSpecification upgradableSpecification,
                                           IBroadcastSignalRMessage signalRBroadcaster)
            : base(signalRBroadcaster)
        {
            _episodeService          = episodeService;
            _seriesService           = seriesService;
            _upgradableSpecification = upgradableSpecification;

            GetResourceById = GetEpisode;
        }
예제 #28
0
        public HistoryModule(IHistoryService historyService,
                             IUpgradableSpecification upgradableSpecification,
                             IFailedDownloadService failedDownloadService)
        {
            _historyService          = historyService;
            _upgradableSpecification = upgradableSpecification;
            _failedDownloadService   = failedDownloadService;
            GetResourcePaged         = GetHistory;

            Get("/since", x => GetHistorySince());
            Post("/failed", x => MarkAsFailed());
        }
예제 #29
0
 public DelaySpecification(IPendingReleaseService pendingReleaseService,
                           IUpgradableSpecification qualityUpgradableSpecification,
                           ICustomFormatCalculationService formatService,
                           IDelayProfileService delayProfileService,
                           Logger logger)
 {
     _pendingReleaseService          = pendingReleaseService;
     _qualityUpgradableSpecification = qualityUpgradableSpecification;
     _formatService       = formatService;
     _delayProfileService = delayProfileService;
     _logger = logger;
 }
예제 #30
0
 public AlbumModule(IAlbumService albumService,
                    IReleaseService releaseService,
                    IArtistStatisticsService artistStatisticsService,
                    IMapCoversToLocal coverMapper,
                    IUpgradableSpecification upgradableSpecification,
                    IBroadcastSignalRMessage signalRBroadcaster)
     : base(albumService, artistStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster)
 {
     _releaseService = releaseService;
     GetResourceAll  = GetAlbums;
     UpdateResource  = UpdateAlbum;
     Put("/monitor", x => SetAlbumsMonitored());
 }