diff --git a/src/NzbDrone.Core/Datastore/Migration/170_fix_trakt_list_config.cs b/src/NzbDrone.Core/Datastore/Migration/170_fix_trakt_list_config.cs index afc0c0049..bc55a38d1 100644 --- a/src/NzbDrone.Core/Datastore/Migration/170_fix_trakt_list_config.cs +++ b/src/NzbDrone.Core/Datastore/Migration/170_fix_trakt_list_config.cs @@ -57,27 +57,6 @@ namespace NzbDrone.Core.Datastore.Migration private void FixTraktConfig(IDbConnection conn, IDbTransaction tran) { - var config = new Dictionary(); - - using (IDbCommand configCmd = conn.CreateCommand()) - { - configCmd.Transaction = tran; - configCmd.CommandText = @"SELECT * FROM Config"; - using (IDataReader configReader = configCmd.ExecuteReader()) - { - var keyIndex = configReader.GetOrdinal("Key"); - var valueIndex = configReader.GetOrdinal("Value"); - - while (configReader.Read()) - { - var key = configReader.GetString(keyIndex); - var value = configReader.GetString(valueIndex); - - config.Add(key.ToLowerInvariant(), value); - } - } - } - var rows = conn.Query($"SELECT Id, Implementation, ConfigContract, Settings FROM NetImport WHERE Implementation = 'TraktImport'"); var corrected = new List(); @@ -94,12 +73,9 @@ namespace NzbDrone.Core.Datastore.Migration Username = settings.Username, AuthUser = settings.Username, - OAuthUrl = "http://radarr.aeonlucid.com/v1/trakt/redirect", - RenewUri = "http://radarr.aeonlucid.com/v1/trakt/refresh", - ClientId = "964f67b126ade0112c4ae1f0aea3a8fb03190f71117bd83af6a0560a99bc52e6", Scope = settings.Scope, - AccessToken = settings.AccessToken.IsNotNullOrWhiteSpace() ? settings.AccessToken : GetConfigValue(config, "TraktAuthToken", "localhost") ?? "", - RefreshToken = settings.RefreshToken.IsNotNullOrWhiteSpace() ? settings.RefreshToken : GetConfigValue(config, "TraktRefreshToken", "localhost") ?? "", + AccessToken = settings.AccessToken.IsNotNullOrWhiteSpace() ? settings.AccessToken : "", + RefreshToken = settings.RefreshToken.IsNotNullOrWhiteSpace() ? settings.RefreshToken : "", Expires = settings.Expires > DateTime.UtcNow ? settings.Expires : DateTime.UtcNow, Link = settings.Link, Rating = settings.Rating, @@ -126,12 +102,9 @@ namespace NzbDrone.Core.Datastore.Migration TraktListType = settings.TraktListType, AuthUser = settings.Username, - OAuthUrl = "http://radarr.aeonlucid.com/v1/trakt/redirect", - RenewUri = "http://radarr.aeonlucid.com/v1/trakt/refresh", - ClientId = "964f67b126ade0112c4ae1f0aea3a8fb03190f71117bd83af6a0560a99bc52e6", Scope = settings.Scope, - AccessToken = settings.AccessToken.IsNotNullOrWhiteSpace() ? settings.AccessToken : GetConfigValue(config, "TraktAuthToken", "localhost") ?? "", - RefreshToken = settings.RefreshToken.IsNotNullOrWhiteSpace() ? settings.RefreshToken : GetConfigValue(config, "TraktRefreshToken", "localhost") ?? "", + AccessToken = settings.AccessToken.IsNotNullOrWhiteSpace() ? settings.AccessToken : "", + RefreshToken = settings.RefreshToken.IsNotNullOrWhiteSpace() ? settings.RefreshToken : "", Expires = settings.Expires > DateTime.UtcNow ? settings.Expires : DateTime.UtcNow, Link = settings.Link, Rating = settings.Rating, @@ -158,12 +131,9 @@ namespace NzbDrone.Core.Datastore.Migration TraktListType = (int)Enum.Parse(typeof(TraktPopularListType170), Enum.GetName(typeof(TraktListType169), settings.TraktListType)), AuthUser = settings.Username, - OAuthUrl = "http://radarr.aeonlucid.com/v1/trakt/redirect", - RenewUri = "http://radarr.aeonlucid.com/v1/trakt/refresh", - ClientId = "964f67b126ade0112c4ae1f0aea3a8fb03190f71117bd83af6a0560a99bc52e6", Scope = settings.Scope, - AccessToken = settings.AccessToken.IsNotNullOrWhiteSpace() ? settings.AccessToken : GetConfigValue(config, "TraktAuthToken", "localhost") ?? "", - RefreshToken = settings.RefreshToken.IsNotNullOrWhiteSpace() ? settings.RefreshToken : GetConfigValue(config, "TraktRefreshToken", "localhost") ?? "", + AccessToken = settings.AccessToken.IsNotNullOrWhiteSpace() ? settings.AccessToken : "", + RefreshToken = settings.RefreshToken.IsNotNullOrWhiteSpace() ? settings.RefreshToken : "", Expires = settings.Expires > DateTime.UtcNow ? settings.Expires : DateTime.UtcNow, Link = settings.Link, Rating = settings.Rating, @@ -190,18 +160,6 @@ namespace NzbDrone.Core.Datastore.Migration var updateSql = "UPDATE NetImport SET Implementation = @Implementation, ConfigContract = @ConfigContract, Settings = @Settings WHERE Id = @Id"; conn.Execute(updateSql, corrected, transaction: tran); } - - private T GetConfigValue(Dictionary config, string key, T defaultValue) - { - key = key.ToLowerInvariant(); - - if (config.ContainsKey(key)) - { - return (T)Convert.ChangeType(config[key], typeof(T)); - } - - return defaultValue; - } } public class ProviderDefinition169 : ModelBase @@ -213,9 +171,6 @@ namespace NzbDrone.Core.Datastore.Migration public class TraktBaseSettings170 { - public string OAuthUrl { get; set; } - public string RenewUri { get; set; } - public string ClientId { get; set; } public string Scope { get; set; } public string AuthUser { get; set; } public string AccessToken { get; set; } diff --git a/src/NzbDrone.Core/NetImport/Trakt/List/TraktListImport.cs b/src/NzbDrone.Core/NetImport/Trakt/List/TraktListImport.cs index 41e39c5a5..690c97dbe 100644 --- a/src/NzbDrone.Core/NetImport/Trakt/List/TraktListImport.cs +++ b/src/NzbDrone.Core/NetImport/Trakt/List/TraktListImport.cs @@ -25,7 +25,8 @@ namespace NzbDrone.Core.NetImport.Trakt.List { return new TraktListRequestGenerator() { - Settings = Settings + Settings = Settings, + ClientId = ClientId }; } } diff --git a/src/NzbDrone.Core/NetImport/Trakt/List/TraktListRequestGenerator.cs b/src/NzbDrone.Core/NetImport/Trakt/List/TraktListRequestGenerator.cs index 59c6c1737..ab80c3829 100644 --- a/src/NzbDrone.Core/NetImport/Trakt/List/TraktListRequestGenerator.cs +++ b/src/NzbDrone.Core/NetImport/Trakt/List/TraktListRequestGenerator.cs @@ -7,6 +7,7 @@ namespace NzbDrone.Core.NetImport.Trakt.List public class TraktListRequestGenerator : INetImportRequestGenerator { public TraktListSettings Settings { get; set; } + public string ClientId { get; set; } public TraktListRequestGenerator() { @@ -31,7 +32,7 @@ namespace NzbDrone.Core.NetImport.Trakt.List var request = new NetImportRequest($"{link}", HttpAccept.Json); request.HttpRequest.Headers.Add("trakt-api-version", "2"); - request.HttpRequest.Headers.Add("trakt-api-key", Settings.ClientId); //aeon + request.HttpRequest.Headers.Add("trakt-api-key", ClientId); //aeon if (Settings.AccessToken.IsNotNullOrWhiteSpace()) { diff --git a/src/NzbDrone.Core/NetImport/Trakt/Popular/TraktPopularImport.cs b/src/NzbDrone.Core/NetImport/Trakt/Popular/TraktPopularImport.cs index 042490fb1..b1bde3f41 100644 --- a/src/NzbDrone.Core/NetImport/Trakt/Popular/TraktPopularImport.cs +++ b/src/NzbDrone.Core/NetImport/Trakt/Popular/TraktPopularImport.cs @@ -30,7 +30,8 @@ namespace NzbDrone.Core.NetImport.Trakt.Popular { return new TraktPopularRequestGenerator() { - Settings = Settings + Settings = Settings, + ClientId = ClientId }; } } diff --git a/src/NzbDrone.Core/NetImport/Trakt/Popular/TraktPopularRequestGenerator.cs b/src/NzbDrone.Core/NetImport/Trakt/Popular/TraktPopularRequestGenerator.cs index f8215a61a..2a547b246 100644 --- a/src/NzbDrone.Core/NetImport/Trakt/Popular/TraktPopularRequestGenerator.cs +++ b/src/NzbDrone.Core/NetImport/Trakt/Popular/TraktPopularRequestGenerator.cs @@ -8,6 +8,8 @@ namespace NzbDrone.Core.NetImport.Trakt.Popular { public TraktPopularSettings Settings { get; set; } + public string ClientId { get; set; } + public TraktPopularRequestGenerator() { } @@ -58,7 +60,7 @@ namespace NzbDrone.Core.NetImport.Trakt.Popular var request = new NetImportRequest($"{link}", HttpAccept.Json); request.HttpRequest.Headers.Add("trakt-api-version", "2"); - request.HttpRequest.Headers.Add("trakt-api-key", Settings.ClientId); //aeon + request.HttpRequest.Headers.Add("trakt-api-key", ClientId); //aeon if (Settings.AccessToken.IsNotNullOrWhiteSpace()) { diff --git a/src/NzbDrone.Core/NetImport/Trakt/TraktImportBase.cs b/src/NzbDrone.Core/NetImport/Trakt/TraktImportBase.cs index 864542264..a339ed6de 100644 --- a/src/NzbDrone.Core/NetImport/Trakt/TraktImportBase.cs +++ b/src/NzbDrone.Core/NetImport/Trakt/TraktImportBase.cs @@ -14,6 +14,11 @@ namespace NzbDrone.Core.NetImport.Trakt { public override NetImportType ListType => NetImportType.Trakt; + public const string OAuthUrl = "https://api.trakt.tv/oauth/authorize"; + public const string RedirectUri = "https://auth.servarr.com/v1/trakt/auth"; + public const string RenewUri = "https://auth.servarr.com/v1/trakt/renew"; + public const string ClientId = "64508a8bf370cee550dde4806469922fd7cd70afb2d5690e3ee7f75ae784b70e"; + private INetImportRepository _netImportRepository; protected TraktImportBase(INetImportRepository netImportRepository, @@ -50,10 +55,10 @@ namespace NzbDrone.Core.NetImport.Trakt { if (action == "startOAuth") { - var request = new HttpRequestBuilder(Settings.OAuthUrl) - .AddQueryParam("client_id", Settings.ClientId) + var request = new HttpRequestBuilder(OAuthUrl) + .AddQueryParam("client_id", ClientId) .AddQueryParam("response_type", "code") - .AddQueryParam("redirect_uri", Settings.RedirectUri) + .AddQueryParam("redirect_uri", RedirectUri) .AddQueryParam("state", query["callbackUrl"]) .Build(); @@ -82,7 +87,7 @@ namespace NzbDrone.Core.NetImport.Trakt .Build(); request.Headers.Add("trakt-api-version", "2"); - request.Headers.Add("trakt-api-key", Settings.ClientId); //aeon + request.Headers.Add("trakt-api-key", ClientId); if (accessToken.IsNotNullOrWhiteSpace()) { @@ -112,7 +117,7 @@ namespace NzbDrone.Core.NetImport.Trakt Settings.Validate().Filter("RefreshToken").ThrowOnError(); - var request = new HttpRequestBuilder(Settings.RenewUri) + var request = new HttpRequestBuilder(RenewUri) .AddQueryParam("refresh_token", Settings.RefreshToken) .Build(); diff --git a/src/NzbDrone.Core/NetImport/Trakt/TraktSettingsBase.cs b/src/NzbDrone.Core/NetImport/Trakt/TraktSettingsBase.cs index 80e79ae25..6a1b60a5c 100644 --- a/src/NzbDrone.Core/NetImport/Trakt/TraktSettingsBase.cs +++ b/src/NzbDrone.Core/NetImport/Trakt/TraktSettingsBase.cs @@ -59,10 +59,6 @@ namespace NzbDrone.Core.NetImport.Trakt } public string Link => "https://api.trakt.tv"; - public string OAuthUrl => "https://api.trakt.tv/oauth/authorize"; - public string RedirectUri => "https://auth.servarr.com/v1/trakt/auth"; - public string RenewUri => "https://auth.servarr.com/v1/trakt/renew"; - public string ClientId => "64508a8bf370cee550dde4806469922fd7cd70afb2d5690e3ee7f75ae784b70e"; public virtual string Scope => ""; [FieldDefinition(0, Label = "Access Token", Type = FieldType.Textbox, Hidden = HiddenType.Hidden)] diff --git a/src/NzbDrone.Core/NetImport/Trakt/User/TraktUserImport.cs b/src/NzbDrone.Core/NetImport/Trakt/User/TraktUserImport.cs index c0257362a..687391083 100644 --- a/src/NzbDrone.Core/NetImport/Trakt/User/TraktUserImport.cs +++ b/src/NzbDrone.Core/NetImport/Trakt/User/TraktUserImport.cs @@ -25,7 +25,8 @@ namespace NzbDrone.Core.NetImport.Trakt.User { return new TraktUserRequestGenerator() { - Settings = Settings + Settings = Settings, + ClientId = ClientId }; } } diff --git a/src/NzbDrone.Core/NetImport/Trakt/User/TraktUserRequestGenerator.cs b/src/NzbDrone.Core/NetImport/Trakt/User/TraktUserRequestGenerator.cs index 044a26675..3d042dc89 100644 --- a/src/NzbDrone.Core/NetImport/Trakt/User/TraktUserRequestGenerator.cs +++ b/src/NzbDrone.Core/NetImport/Trakt/User/TraktUserRequestGenerator.cs @@ -8,6 +8,8 @@ namespace NzbDrone.Core.NetImport.Trakt.User { public TraktUserSettings Settings { get; set; } + public string ClientId { get; set; } + public TraktUserRequestGenerator() { } @@ -41,7 +43,7 @@ namespace NzbDrone.Core.NetImport.Trakt.User var request = new NetImportRequest($"{link}", HttpAccept.Json); request.HttpRequest.Headers.Add("trakt-api-version", "2"); - request.HttpRequest.Headers.Add("trakt-api-key", Settings.ClientId); + request.HttpRequest.Headers.Add("trakt-api-key", ClientId); if (Settings.AccessToken.IsNotNullOrWhiteSpace()) {