diff --git a/.gitignore b/.gitignore
index 206ec90d7..2f9eb9a55 100644
--- a/.gitignore
+++ b/.gitignore
@@ -297,4 +297,5 @@ __pycache__/
# FilterLists Custom Ignores
gs/Private.gs
src/FilterLists.Api/appsettings.Development.json
-src/FilterLists.Api/appsettings.Production.json
\ No newline at end of file
+src/FilterLists.Api/appsettings.Production.json
+src/FilterLists.DataLoad/appsettings.json
diff --git a/src/FilterLists.Api/FilterLists.Api.csproj b/src/FilterLists.Api/FilterLists.Api.csproj
index 712a48d80..d1bbe5b0c 100644
--- a/src/FilterLists.Api/FilterLists.Api.csproj
+++ b/src/FilterLists.Api/FilterLists.Api.csproj
@@ -28,5 +28,10 @@
+
+
+ PreserveNewest
+
+
diff --git a/src/FilterLists.Api/Startup.cs b/src/FilterLists.Api/Startup.cs
index 4a1b43b2e..76b126fa5 100644
--- a/src/FilterLists.Api/Startup.cs
+++ b/src/FilterLists.Api/Startup.cs
@@ -21,7 +21,7 @@ public Startup(IHostingEnvironment env, ILoggerFactory loggerFactory)
.AddEnvironmentVariables();
Configuration = builder.Build();
- //TODO: replace below with serilog
+ //TODO: replace with serilog
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
}
diff --git a/src/FilterLists.DataLoad/DataLoad.cs b/src/FilterLists.DataLoad/DataLoad.cs
deleted file mode 100644
index e0ff6afc0..000000000
--- a/src/FilterLists.DataLoad/DataLoad.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using FilterLists.Services.Contracts;
-using FilterLists.Services.Implementations;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace FilterLists.DataLoad
-{
- //TODO: trigger on job or ideally via GitHub webhook when any .csv is updated
- internal class DataLoad
- {
- private static void Main()
- {
- var serviceProvider = new ServiceCollection()
- .AddLogging()
- .AddSingleton()
- .BuildServiceProvider();
- serviceProvider.GetService().UpdateTables();
- }
- }
-}
\ No newline at end of file
diff --git a/src/FilterLists.DataLoad/DependencyInjection/Extensions/ConfigureServicesCollection.cs b/src/FilterLists.DataLoad/DependencyInjection/Extensions/ConfigureServicesCollection.cs
new file mode 100644
index 000000000..fdc0a43f7
--- /dev/null
+++ b/src/FilterLists.DataLoad/DependencyInjection/Extensions/ConfigureServicesCollection.cs
@@ -0,0 +1,11 @@
+using Microsoft.Extensions.DependencyInjection;
+
+namespace FilterLists.DataLoad.DependencyInjection.Extensions
+{
+ public static class ConfigureServicesCollection
+ {
+ public static void AddFilterListsDataLoad(this IServiceCollection services)
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/FilterLists.DataLoad/FilterLists.DataLoad.csproj b/src/FilterLists.DataLoad/FilterLists.DataLoad.csproj
index 91bbe737c..8a6ea05c9 100644
--- a/src/FilterLists.DataLoad/FilterLists.DataLoad.csproj
+++ b/src/FilterLists.DataLoad/FilterLists.DataLoad.csproj
@@ -5,8 +5,20 @@
netcoreapp1.1
+
+
+
+
+
+
+ PreserveNewest
+
+
+
+
+
diff --git a/src/FilterLists.DataLoad/Program.cs b/src/FilterLists.DataLoad/Program.cs
new file mode 100644
index 000000000..83111bfaf
--- /dev/null
+++ b/src/FilterLists.DataLoad/Program.cs
@@ -0,0 +1,26 @@
+using FilterLists.Services.Contracts;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+
+namespace FilterLists.DataLoad
+{
+ //TODO: trigger on job or ideally via GitHub webhook when any .csv is updated in master
+ public class Program
+ {
+ public static void Main(string[] args)
+ {
+ IServiceCollection services = new ServiceCollection();
+ var startup = new Startup();
+ startup.ConfigureServices(services);
+ var serviceProvider = services.BuildServiceProvider();
+
+ //TODO: replace with serilog
+ var loggerFactory = serviceProvider.GetService();
+ var logger = loggerFactory.CreateLogger();
+
+ logger.LogInformation("Updating Tables");
+ var tableService = serviceProvider.GetService();
+ tableService.UpdateTables();
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/FilterLists.DataLoad/Startup.cs b/src/FilterLists.DataLoad/Startup.cs
new file mode 100644
index 000000000..574a61be7
--- /dev/null
+++ b/src/FilterLists.DataLoad/Startup.cs
@@ -0,0 +1,32 @@
+using System.IO;
+using FilterLists.Data.DependencyInjection.Extensions;
+using FilterLists.DataLoad.DependencyInjection.Extensions;
+using FilterLists.Services.DependencyInjection.Extensions;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+
+namespace FilterLists.DataLoad
+{
+ public class Startup
+ {
+ public Startup()
+ {
+ var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
+ .AddJsonFile("appsettings.json", false, true);
+ Configuration = builder.Build();
+ }
+
+ private IConfigurationRoot Configuration { get; }
+
+ public void ConfigureServices(IServiceCollection services)
+ {
+ var loggerFactory = new LoggerFactory().AddConsole().AddDebug();
+ services.AddSingleton(loggerFactory);
+ services.AddLogging();
+ services.AddFilterListsRepositories(Configuration);
+ services.AddFilterListsServices();
+ services.AddFilterListsDataLoad();
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/FilterLists.Services/DependencyInjection/Extensions/ConfigureServicesCollection.cs b/src/FilterLists.Services/DependencyInjection/Extensions/ConfigureServicesCollection.cs
index ac456e9f8..b54fe1702 100644
--- a/src/FilterLists.Services/DependencyInjection/Extensions/ConfigureServicesCollection.cs
+++ b/src/FilterLists.Services/DependencyInjection/Extensions/ConfigureServicesCollection.cs
@@ -10,6 +10,7 @@ public static class ConfigureServicesCollection
public static void AddFilterListsServices(this IServiceCollection services)
{
services.TryAddScoped();
+ services.TryAddScoped();
}
}
}
\ No newline at end of file
diff --git a/src/FilterLists.Services/Implementations/TableService.cs b/src/FilterLists.Services/Implementations/TableService.cs
index 6ed07a0f9..36885c915 100644
--- a/src/FilterLists.Services/Implementations/TableService.cs
+++ b/src/FilterLists.Services/Implementations/TableService.cs
@@ -9,11 +9,11 @@ namespace FilterLists.Services.Implementations
{
public class TableService : ITableService
{
- //private readonly IListRepository _listRepository;
+ private readonly IListRepository _listRepository;
- public TableService(/*IListRepository listRepository*/)
+ public TableService(IListRepository listRepository)
{
- //_listRepository = listRepository;
+ _listRepository = listRepository;
}
///