public async Task Setup() { #region Configuration classes var fixture = new ConfigurationFixture(); configurationBuilder = fixture.GenerateConfiguration(); _radarrClient = fixture.radarrClient; #endregion #region Database Con++text _mediaDbContext = fixture.GetDbContext(); if (!_mediaDbContext.Request.Any()) { _mediaDbContext.Request.Add(new Domain.UserRequest { Id = 1, MovieId = "577922", UserId = "bacbb67d-819e-4e7b-bb29-c81ff99b5d1d" }); await _mediaDbContext.SaveChangesAsync(); } #endregion #region Http Helper _httpHelper = new HttpHelper(fixture.ServicePath, fixture.ApiKeys, fixture.radarrClient, fixture.tmdbClient); #endregion _mediator = A.Fake <IMediator>(); }
public HttpHelper(IOptions <ServicePath> path, IOptions <ApiKeys> keys, RadarrClient radarrClient, TMDBClient tmdbClient) { _keys = keys.Value; _path = path.Value; _radarrClient = radarrClient; _tmdbClient = tmdbClient; }
public ChatBot(IServiceProvider serviceProvider, ILogger <ChatBot> logger, DiscordSettingsProvider discordSettingsProvider) { _logger = logger; _serviceProvider = serviceProvider; _discordSettingsProvider = discordSettingsProvider; _ombiDownloadClient = new OmbiClient(serviceProvider.Get <IHttpClientFactory>(), serviceProvider.Get <ILogger <OmbiClient> >(), serviceProvider.Get <OmbiSettingsProvider>()); _radarrDownloadClient = new RadarrClient(serviceProvider.Get <IHttpClientFactory>(), serviceProvider.Get <ILogger <RadarrClient> >(), serviceProvider.Get <RadarrSettingsProvider>()); _sonarrDownloadClient = new SonarrClient(serviceProvider.Get <IHttpClientFactory>(), serviceProvider.Get <ILogger <SonarrClient> >(), serviceProvider.Get <SonarrSettingsProvider>()); }
public void ShouldCreateClientWithCorrectUrl() { // Arrange // Act var sut = new RadarrClient(null, new Uri(ServerAddress)); // Assert Assert.Equal("http://in.nativecode.com:7878/api/", sut.BaseAddress.ToString()); }
public ChatBot(IServiceProvider serviceProvider, ILogger <ChatBot> logger, DiscordSettingsProvider discordSettingsProvider) { _logger = logger; _serviceProvider = serviceProvider; _discordSettingsProvider = discordSettingsProvider; _overseerrClient = new OverseerrClient(serviceProvider.Get <IHttpClientFactory>(), serviceProvider.Get <ILogger <OverseerrClient> >(), serviceProvider.Get <OverseerrSettingsProvider>()); _ombiDownloadClient = new OmbiClient(serviceProvider.Get <IHttpClientFactory>(), serviceProvider.Get <ILogger <OmbiClient> >(), serviceProvider.Get <OmbiSettingsProvider>()); _radarrDownloadClient = new RadarrClient(serviceProvider.Get <IHttpClientFactory>(), serviceProvider.Get <ILogger <RadarrClient> >(), serviceProvider.Get <RadarrSettingsProvider>()); _sonarrDownloadClient = new SonarrClient(serviceProvider.Get <IHttpClientFactory>(), serviceProvider.Get <ILogger <SonarrClient> >(), serviceProvider.Get <SonarrSettingsProvider>()); _movieWorkflowFactory = new MovieWorkflowFactory(_discordSettingsProvider, _movieNotificationRepository, _overseerrClient, _ombiDownloadClient, _radarrDownloadClient); _tvShowWorkflowFactory = new TvShowWorkflowFactory(serviceProvider.Get <TvShowsSettingsProvider>(), _discordSettingsProvider, _tvShowNotificationRepository, _overseerrClient, _ombiDownloadClient, _sonarrDownloadClient); }
public async Task <IActionResult> TestRadarrSettings([FromBody] TestRadarrSettingsModel model) { try { await RadarrClient.TestConnectionAsync(_httpClientFactory.CreateClient(), _logger, ConvertToRadarrSettings(model)); return(Ok(new { ok = true })); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <bool> Start() { if (!string.IsNullOrEmpty(_config.Host) && !string.IsNullOrEmpty(_config.ApiKey)) { _radarrClient = new RadarrClient(_config.Host, _config.Port, _config.ApiKey); var movies = await _radarrClient.Movie.GetMovies(); _logger.LogInformation($"Totale movies {movies.Count}"); } return(true); }
public MovieWorkflowFactory( DiscordSettingsProvider settingsProvider, MovieNotificationsRepository notificationsRepository, OverseerrClient overseerrClient, OmbiClient ombiDownloadClient, RadarrClient radarrDownloadClient) { _settingsProvider = settingsProvider; _notificationsRepository = notificationsRepository; _overseerrClient = overseerrClient; _ombiDownloadClient = ombiDownloadClient; _radarrDownloadClient = radarrDownloadClient; }
/// <summary> /// Initializes a new instance of the <see cref="RadarrViewModel"/> class. /// </summary> public RadarrViewModel() { RadarrClient = new RadarrClient(Settings.Default.RadarrHost, Settings.Default.RadarrPort, Settings.Default.RadarrApiKey, Settings.Default.RadarrUrlBase) { WriteDebug = false }; // Set Radarr URL var sb = new StringBuilder(); sb.Append("http"); if (RadarrClient.UseSsl) { sb.Append("s"); } sb.Append($"://{RadarrClient.Host}:{RadarrClient.Port}"); RadarrUrl = sb.ToString(); RootFolders = new ObservableCollection <RadarrSharp.Models.RootFolder>(); Profiles = new List <RadarrSharp.Models.Profile>(); Movies = new ObservableCollection <RadarrSharp.Models.Movie>(); MovieDiscoveryMovies = new ObservableCollection <RadarrSharp.Models.Movie>(); ExtraFiles = new ObservableCollection <RadarrSharp.Models.ExtraFile>(); // Get root folder path GetRootFoldersCommand.Execute(null); // Get profiles GetProfilesCommand.Execute(null); // Get movies GetMoviesCommand.Execute(null); // Get system info GetRadarrSystemInfo.Execute(null); // Set views MoviesView = CollectionViewSource.GetDefaultView(Movies); MoviesView.SortDescriptions.Add(new SortDescription(nameof(RadarrSharp.Models.Movie.SortTitle), ListSortDirection.Ascending)); MoviesView.Filter = new Predicate <object>(Movies_OnFilter); MovieDiscoveryMoviesView = CollectionViewSource.GetDefaultView(MovieDiscoveryMovies); // design mode props //IsMovieDiscoveryOverlayVisible = true; //MovieDiscoveryIsSearching = true; //MovieDiscoverySearchTerm = "fifty"; //MovieDiscoverySearchCommand.Execute(null); }
public void Setup() { #region Configuration classes var fixture = new ConfigurationFixture(); configurationBuilder = fixture.GenerateConfiguration(); #endregion _httpHelper = new HttpHelper(fixture.ServicePath, fixture.ApiKeys, fixture.radarrClient, fixture.tmdbClient); _mediator = A.Fake <IMediator>(); _mediaDbContext = fixture.GetDbContext(); _servicePath = fixture.ServicePath; _apiKeys = fixture.ApiKeys; _radarrClient = fixture.radarrClient; }
public async Task <IActionResult> GetRadarrTags([FromBody] TestRadarrSettingsModel model) { try { var tags = await RadarrClient.GetTags(_httpClientFactory.CreateClient(), _logger, ConvertToRadarrSettings(model)); return(Ok(tags.Select(x => new RadarrTag { Id = x.id, Name = x.label }))); } catch (System.Exception) { return(BadRequest($"Could not load the tags from Radarr, check your settings.")); } }
public async Task <IActionResult> GetRadarrRootPaths([FromBody] TestRadarrSettingsModel model) { try { var paths = await RadarrClient.GetRootPaths(_httpClientFactory.CreateClient(), _logger, ConvertToRadarrSettings(model)); return(Ok(paths.Select(x => new RadarrPath { Id = x.id, Path = x.path }))); } catch (System.Exception) { return(BadRequest($"Could not load the paths from Radarr, check your settings.")); } }
public override Task <bool> Start() { if (Config.Api.ApiKey == "change_me") { ThrowComponentNeedConfiguration("ApiKey"); } if (Config.Server.Hostname == "change_me") { ThrowComponentNeedConfiguration("Hostname", "Port"); } _isConfigured = true; _radarrClient = new RadarrClient(Config.Server.Hostname, Config.Server.Port, Config.Api.ApiKey); return(base.Start()); }
public ConfigurationFixture() { #region Configuration classes var basePath = Path.GetFullPath("../../../../MediaRequest/"); configurationBuilder = new ConfigurationBuilder() .SetBasePath(basePath) .AddYamlFile("settings.yaml", false, true) .Build(); ServicePath = Options.Create(GetServicePathConfiguration()); ApiKeys = Options.Create(GetApiKeysConfiguration()); #region Sonarr var sonarrHttpClient = new HttpClient() { BaseAddress = new Uri(ServicePath.Value.Sonarr), }; sonarrHttpClient.DefaultRequestHeaders.Add("X-Api-Key", ApiKeys.Value.Sonarr); sonarrClient = new SonarrClient(sonarrHttpClient); #endregion #region Radarr var radarrHttpClient = new HttpClient() { BaseAddress = new Uri(ServicePath.Value.Radarr), }; radarrHttpClient.DefaultRequestHeaders.Add("X-Api-Key", ApiKeys.Value.Radarr); radarrClient = new RadarrClient(radarrHttpClient); #endregion tmdbClient = new TMDBClient(new System.Net.Http.HttpClient() { BaseAddress = new System.Uri(ServicePath.Value.TMDB) }); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="Blacklist"/> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public Blacklist(RadarrClient radarrClient) { _radarrClient = radarrClient; }
/// <summary> /// Initializes a new instance of the <see cref="SystemStatus" /> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public SystemStatus(RadarrClient radarrClient) { _radarrClient = radarrClient; }
/// <summary> /// Initializes a new instance of the <see cref="QualityDefinition"/> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public QualityDefinition(RadarrClient radarrClient) { _radarrClient = radarrClient; }
/// <summary> /// Initializes a new instance of the <see cref="Queue"/> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public Queue(RadarrClient radarrClient) { _radarrClient = radarrClient; }
/// <summary> /// Initializes a new instance of the <see cref="Command" /> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public Command(RadarrClient radarrClient) { _radarrClient = radarrClient; }
public GetSingleMovieHandler(RadarrClient radarrClient) { _radarrClient = radarrClient; }
/// <summary> /// Initializes a new instance of the <see cref="Indexer"/> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public Indexer(RadarrClient radarrClient) { _radarrClient = radarrClient; }
/// <summary> /// Initializes a new instance of the <see cref="History" /> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public History(RadarrClient radarrClient) { _radarrClient = radarrClient; }
/// <summary> /// Initializes a new instance of the <see cref="Movie" /> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public Movie(RadarrClient radarrClient) { _radarrClient = radarrClient; }
/// <summary> /// Initializes a new instance of the <see cref="Notification" /> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public Notification(RadarrClient radarrClient) { _radarrClient = radarrClient; }
/// <summary> /// Initializes a new instance of the <see cref="Wanted" /> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public Wanted(RadarrClient radarrClient) { _radarrClient = radarrClient; }
/// <summary> /// Initializes a new instance of the <see cref="Calendar" /> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public Calendar(RadarrClient radarrClient) { _radarrClient = radarrClient; }
/// <summary> /// Initializes a new instance of the <see cref="Restriction"/> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public Restriction(RadarrClient radarrClient) { _radarrClient = radarrClient; }
private async void Button_Click(object sender, RoutedEventArgs e) { int errors = 0; if (APIKeyValue.Text == "" || APIKeyValue.Text.Length != 32) { APIKeyValue.BorderBrush = new SolidColorBrush(Windows.UI.Colors.Red); SavedText.Visibility = Visibility.Visible; SavedText.Text = "Please enter your Radarr API key."; SavedText.Foreground = new SolidColorBrush(Windows.UI.Colors.Red); return; } roamingSettings.Values["serverURL"] = HostnameValue.Text; roamingSettings.Values["apiKey"] = APIKeyValue.Text; roamingSettings.Values["https"] = UseHTTPS.IsOn; try { int.Parse(PortValue.Text); roamingSettings.Values["port"] = PortValue.Text; } catch (Exception) { errors += 1; } if (errors > 0) { PortValue.BorderBrush = new SolidColorBrush(Windows.UI.Colors.Red); SavedText.Visibility = Visibility.Visible; SavedText.Text = "Please enter a number in the port field."; SavedText.Foreground = new SolidColorBrush(Windows.UI.Colors.Red); } else { try { RadarrService rs = new RadarrService(); RadarrClient rc = rs.GetService(); await rc.Movie.GetMovies(); } catch { var dialog = new MessageDialog("There was an error testing your settings, please ensure the details entered are correct.", "Error testing connection"); _ = await dialog.ShowAsync(); return; } PortValue.BorderBrush = new SolidColorBrush(Windows.UI.Colors.DarkGray); APIKeyValue.BorderBrush = new SolidColorBrush(Windows.UI.Colors.DarkGray); SavedText.Visibility = Visibility.Visible; SavedText.Foreground = new SolidColorBrush(Windows.UI.Colors.Green); SavedText.Text = "Your settings have been saved."; Debug.WriteLine(Frame.Parent.GetType().FullName); NavigationView navView = (NavigationView)Frame.Parent; foreach (NavigationViewItem navItem in navView.MenuItems) { navItem.IsEnabled = true; } } }
/// <summary> /// Initializes a new instance of the <see cref="Config" /> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public Config(RadarrClient radarrClient) { _radarrClient = radarrClient; }
/// <summary> /// Initializes a new instance of the <see cref="Release"/> class. /// </summary> /// <param name="radarrClient">The radarr client.</param> public Release(RadarrClient radarrClient) { _radarrClient = radarrClient; }