From 59a4e067b35110ebda5d5cf1e3ef96cab2fcbfe5 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Sat, 6 Jul 2019 20:42:59 -0500 Subject: [PATCH] extract FilterListsApi__BaseUrl to config --- .env | 11 ++++++----- docker-compose.yml | 11 ++++++----- .../AppSettings/FilterListsApiSettings.cs | 10 ++++++++++ .../Extensions/ServiceCollectionExtensions.cs | 1 + .../Infrastructure/Clients/FilterListsApiClient.cs | 8 +++++--- src/FilterLists.Agent/appsettings.json | 7 +++++-- 6 files changed, 33 insertions(+), 15 deletions(-) create mode 100644 src/FilterLists.Agent/AppSettings/FilterListsApiSettings.cs diff --git a/.env b/.env index 0c2a1f476..4bb3241f2 100644 --- a/.env +++ b/.env @@ -5,11 +5,12 @@ API_MYSQL_USER=filterlists API_MYSQL_PASSWORD=filterlists AGENT_APPLICATION_INSIGHTS_INSTRUMENTATION_KEY= +AGENT_ARCHIVE_GIT_REPOSITORY_DIRECTORY=archives +AGENT_ARCHIVE_GIT_SIGNATURE_NAME= +AGENT_ARCHIVE_GIT_SIGNATURE_EMAIL= +AGENT_ARCHIVE_GIT_COMMIT_MESSAGE_SUFFIX= FilterLists archive by FilterLists.Agent +AGENT_FILTERLISTS_API_BASE_URL=https://filterlists.com/api/v1 AGENT_GITHUB_PRODUCT_HEADER_VALUE= AGENT_GITHUB_PERSONAL_ACCESS_TOKEN= AGENT_GITHUB_REPOSITORY_OWNER=collinbarrett -AGENT_GITHUB_REPOSITORY=FilterLists -AGENT_ARCHIVE_GIT_COMMIT_MESSAGE_SUFFIX= -AGENT_ARCHIVE_GIT_REPOSITORY_DIRECTORY= -AGENT_ARCHIVE_GIT_SIGNATURE_NAME= -AGENT_ARCHIVE_GIT_SIGNATURE_EMAIL= \ No newline at end of file +AGENT_GITHUB_REPOSITORY=FilterLists \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index d0966ab59..c7df6a56a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -65,16 +65,17 @@ services: volumes: - archives:/app/archives environment: - ConnectionString__FilterListsConnection: ${API_CONNECTION_STRING} ApplicationInsights__InstrumentationKey: ${AGENT_APPLICATION_INSIGHTS_INSTRUMENTATION_KEY} + Archive__RepositoryDirectory: ${AGENT_ARCHIVE_GIT_REPOSITORY_DIRECTORY} + Archive__SignatureName: ${AGENT_ARCHIVE_GIT_SIGNATURE_NAME} + Archive__SignatureEmail: ${AGENT_ARCHIVE_GIT_SIGNATURE_EMAIL} + Archive__CommitMessageSuffix: ${AGENT_ARCHIVE_GIT_COMMIT_MESSAGE_SUFFIX} + ConnectionString__FilterListsConnection: ${API_CONNECTION_STRING} + FilterListsApi__BaseUrl: ${AGENT_FILTERLISTS_API_BASE_URL} GitHub__ProductHeaderValue: ${AGENT_GITHUB_PRODUCT_HEADER_VALUE} GitHub__PersonalAccessToken: ${AGENT_GITHUB_PERSONAL_ACCESS_TOKEN} GitHub__RepositoryOwner: ${AGENT_GITHUB_REPOSITORY_OWNER} GitHub__Repository: ${AGENT_GITHUB_REPOSITORY} - Archive__CommitMessageSuffix: ${AGENT_ARCHIVE_GIT_COMMIT_MESSAGE_SUFFIX} - Archive__RepositoryDirectory: ${AGENT_ARCHIVE_GIT_REPOSITORY_DIRECTORY} - Archive__SignatureName: ${AGENT_ARCHIVE_GIT_SIGNATURE_NAME} - Archive__SignatureEmail: ${AGENT_ARCHIVE_GIT_SIGNATURE_EMAIL} networks: reverse-proxy: diff --git a/src/FilterLists.Agent/AppSettings/FilterListsApiSettings.cs b/src/FilterLists.Agent/AppSettings/FilterListsApiSettings.cs new file mode 100644 index 000000000..948d3a5ca --- /dev/null +++ b/src/FilterLists.Agent/AppSettings/FilterListsApiSettings.cs @@ -0,0 +1,10 @@ +using System; +using JetBrains.Annotations; + +namespace FilterLists.Agent.AppSettings +{ + public class FilterListsApiSettings + { + public Uri BaseUrl { get; [UsedImplicitly] set; } + } +} \ No newline at end of file diff --git a/src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs b/src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs index 77f8b4987..c1e268384 100644 --- a/src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs +++ b/src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs @@ -48,6 +48,7 @@ private static void AddConfiguration(this IServiceCollection services) services.ConfigureCustom(config); services.ConfigureCustom(config); services.ConfigureCustom(config); + services.ConfigureCustom(config); services.ConfigureCustom(config); } diff --git a/src/FilterLists.Agent/Infrastructure/Clients/FilterListsApiClient.cs b/src/FilterLists.Agent/Infrastructure/Clients/FilterListsApiClient.cs index ca86378de..cb03068e0 100644 --- a/src/FilterLists.Agent/Infrastructure/Clients/FilterListsApiClient.cs +++ b/src/FilterLists.Agent/Infrastructure/Clients/FilterListsApiClient.cs @@ -1,21 +1,23 @@ using System; using System.Threading.Tasks; +using FilterLists.Agent.AppSettings; using FilterLists.Agent.Core.Interfaces.Clients; using Microsoft.Extensions.Localization; +using Microsoft.Extensions.Options; using RestSharp; namespace FilterLists.Agent.Infrastructure.Clients { public class FilterListsApiClient : IFilterListsApiClient { - private const string FilterListsApiBaseUrl = "https://filterlists.com/api/v1"; private readonly IStringLocalizer _localizer; private readonly IRestClient _restClient; - public FilterListsApiClient(IStringLocalizer stringLocalizer) + public FilterListsApiClient(IStringLocalizer stringLocalizer, + IOptions filterListsApiOptions) { _localizer = stringLocalizer; - _restClient = new RestClient(FilterListsApiBaseUrl) {UserAgent = "FilterLists.Agent"}; + _restClient = new RestClient(filterListsApiOptions.Value.BaseUrl) {UserAgent = "FilterLists.Agent"}; } public async Task ExecuteAsync(IRestRequest request) diff --git a/src/FilterLists.Agent/appsettings.json b/src/FilterLists.Agent/appsettings.json index 90605d914..f7e080a7b 100644 --- a/src/FilterLists.Agent/appsettings.json +++ b/src/FilterLists.Agent/appsettings.json @@ -3,14 +3,17 @@ "InstrumentationKey": "" }, "Archive": { - "RepositoryDirectory": "", + "RepositoryDirectory": "archives", "SignatureName": "", "SignatureEmail": "", - "CommitMessageSuffix": "" + "CommitMessageSuffix": " FilterLists archive by FilterLists.Agent" }, "ConnectionString": { "FilterListsConnection": "" }, + "FilterListsApi": { + "BaseUrl": "https://filterlists.com/api/v1" + }, "GitHub": { "ProductHeaderValue": "", "PersonalAccessToken:": "",