Ejemplo n.º 1
0
 public RequestrrBot(IServiceProvider serviceProvider, ILogger <RequestrrBot> logger, DiscordSettingsProvider discordSettingsProvider)
 {
     _logger                  = logger;
     _serviceProvider         = serviceProvider;
     _discordSettingsProvider = discordSettingsProvider;
     _ombiDownloadClient      = new Ombi(serviceProvider.Get <IHttpClientFactory>(), serviceProvider.Get <ILogger <Ombi> >(), serviceProvider.Get <OmbiSettingsProvider>());
     _radarrDownloadClient    = new Radarr(serviceProvider.Get <IHttpClientFactory>(), serviceProvider.Get <ILogger <Radarr> >(), serviceProvider.Get <RadarrSettingsProvider>());
     _sonarrDownloadClient    = new Sonarr(serviceProvider.Get <IHttpClientFactory>(), serviceProvider.Get <ILogger <Sonarr> >(), serviceProvider.Get <SonarrSettingsProvider>());
 }
        public async Task <IActionResult> TestSonarrSettings([FromBody] TestSonarrSettingsModel model)
        {
            try
            {
                await Sonarr.TestConnectionAsync(_httpClientFactory.CreateClient(), _logger, ConvertToSonarrSettings(model));

                return(Ok(new { ok = true }));
            }
            catch (System.Exception)
            {
                return(BadRequest($"The specified settings are invalid"));
            }
        }
        public async Task <IActionResult> GetSonarrTags([FromBody] TestSonarrSettingsModel model)
        {
            try
            {
                var tags = await Sonarr.GetTags(_httpClientFactory.CreateClient(), _logger, ConvertToSonarrSettings(model));

                return(Ok(tags.Select(x => new SonarrTag
                {
                    Id = x.id,
                    Name = x.label
                })));
            }
            catch (System.Exception)
            {
                return(BadRequest($"Could not load the tags from Sonarr, check your settings."));
            }
        }
        public async Task <IActionResult> GetSonarrRootPaths([FromBody] TestSonarrSettingsModel model)
        {
            try
            {
                var paths = await Sonarr.GetRootPaths(_httpClientFactory.CreateClient(), _logger, ConvertToSonarrSettings(model));

                return(Ok(paths.Select(x => new SonarrPath
                {
                    Id = x.id,
                    Path = x.path
                })));
            }
            catch (System.Exception)
            {
                return(BadRequest($"Could not load the paths from Sonarr, check your settings."));
            }
        }