using System; using System.Collections.Generic; using System.Net.Http; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using Ombi.Api.Radarr.Models; namespace Ombi.Api.Radarr { public class RadarrApi : IRadarrApi { public RadarrApi(ILogger logger) { Api = new Api(); Logger = logger; } private Api Api { get; } private ILogger Logger { get; } public async Task> GetProfiles(string apiKey, string baseUrl) { var request = new Request(baseUrl, "/api/profile", HttpMethod.Get); AddHeaders(request, apiKey); return await Api.Request>(request); } public async Task> GetRootFolders(string apiKey, string baseUrl) { var request = new Request(baseUrl, "/api/rootfolder", HttpMethod.Get); AddHeaders(request, apiKey); return await Api.Request>(request); } public async Task SystemStatus(string apiKey, string baseUrl) { var request = new Request(baseUrl, "/api/system/status", HttpMethod.Get); AddHeaders(request, apiKey); return await Api.Request(request); } public async Task> GetMovies(string apiKey, string baseUrl) { var request = new Request(baseUrl, "/api/movie", HttpMethod.Get); AddHeaders(request, apiKey); return await Api.Request>(request); } /// /// Adds the required headers and also the authorization header /// /// /// private void AddHeaders(Request request, string key) { request.AddHeader("X-Api-Key", key); } } }