From 83a7c98faee998f7d2aa048d8dd694eb12ad0500 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Fri, 8 Dec 2017 16:03:20 -0500 Subject: [PATCH] write events to table storage --- .../TableStorage/EventRepository.cs | 6 ++- .../RepositoryEventWriteService.cs | 5 +- .../Utilities/ServiceCollectionExtensions.cs | 21 +++++--- src/EventsProcessor/EventsProcessor.csproj | 9 +++- src/EventsProcessor/Functions.cs | 52 +++++++++++++++++-- 5 files changed, 78 insertions(+), 15 deletions(-) diff --git a/src/Core/Repositories/TableStorage/EventRepository.cs b/src/Core/Repositories/TableStorage/EventRepository.cs index 3e739d89f9..af3e57248c 100644 --- a/src/Core/Repositories/TableStorage/EventRepository.cs +++ b/src/Core/Repositories/TableStorage/EventRepository.cs @@ -12,8 +12,12 @@ namespace Bit.Core.Repositories.TableStorage public class EventRepository : IEventRepository { public EventRepository(GlobalSettings globalSettings) + : this(globalSettings.Storage.ConnectionString) + { } + + public EventRepository(string storageConnectionString) { - var storageAccount = CloudStorageAccount.Parse(globalSettings.Storage.ConnectionString); + var storageAccount = CloudStorageAccount.Parse(storageConnectionString); var tableClient = storageAccount.CreateCloudTableClient(); Table = tableClient.GetTableReference("event"); } diff --git a/src/Core/Services/Implementations/RepositoryEventWriteService.cs b/src/Core/Services/Implementations/RepositoryEventWriteService.cs index 5171015d01..9f717ad56b 100644 --- a/src/Core/Services/Implementations/RepositoryEventWriteService.cs +++ b/src/Core/Services/Implementations/RepositoryEventWriteService.cs @@ -8,14 +8,11 @@ namespace Bit.Core.Services public class RepositoryEventWriteService : IEventWriteService { private readonly IEventRepository _eventRepository; - private readonly GlobalSettings _globalSettings; public RepositoryEventWriteService( - IEventRepository eventRepository, - GlobalSettings globalSettings) + IEventRepository eventRepository) { _eventRepository = eventRepository; - _globalSettings = globalSettings; } public async Task CreateAsync(EventTableEntity entity) diff --git a/src/Core/Utilities/ServiceCollectionExtensions.cs b/src/Core/Utilities/ServiceCollectionExtensions.cs index 511f12ec1f..5ac3a60877 100644 --- a/src/Core/Utilities/ServiceCollectionExtensions.cs +++ b/src/Core/Utilities/ServiceCollectionExtensions.cs @@ -20,8 +20,8 @@ using Microsoft.WindowsAzure.Storage; using System; using System.IO; using SqlServerRepos = Bit.Core.Repositories.SqlServer; -using TableStorageRepos = Bit.Core.Repositories.TableStorage; using System.Threading.Tasks; +using TableStorageRepos = Bit.Core.Repositories.TableStorage; namespace Bit.Core.Utilities { @@ -44,7 +44,7 @@ namespace Bit.Core.Utilities if(globalSettings.SelfHosted) { - // TODO: Sql server repo + // TODO: Sql server event repo } else { @@ -59,7 +59,7 @@ namespace Bit.Core.Utilities services.AddScoped(); services.AddScoped(); services.AddScoped(); - services.AddScoped(); + services.AddScoped(); services.AddSingleton(); } @@ -105,15 +105,24 @@ namespace Bit.Core.Utilities if(!globalSettings.SelfHosted && CoreHelpers.SettingHasValue(globalSettings.Storage.ConnectionString)) { services.AddSingleton(); - //services.AddSingleton(); } else { services.AddSingleton(); - //services.AddSingleton(); } - services.AddSingleton(); + if(!globalSettings.SelfHosted && CoreHelpers.SettingHasValue(globalSettings.Storage.ConnectionString)) + { + services.AddSingleton(); + } + else if(globalSettings.SelfHosted) + { + services.AddSingleton(); + } + else + { + services.AddSingleton(); + } if(CoreHelpers.SettingHasValue(globalSettings.Attachment.ConnectionString)) { diff --git a/src/EventsProcessor/EventsProcessor.csproj b/src/EventsProcessor/EventsProcessor.csproj index e49261a0bf..cfd0750e9b 100644 --- a/src/EventsProcessor/EventsProcessor.csproj +++ b/src/EventsProcessor/EventsProcessor.csproj @@ -13,6 +13,7 @@ 512 true + false publish\ true Disk @@ -25,7 +26,6 @@ true 0 1.0.0.%2a - false false true @@ -78,6 +78,7 @@ ..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + ..\..\packages\System.Spatial.5.8.3\lib\net40\System.Spatial.dll @@ -111,6 +112,12 @@ false + + + {3973d21b-a692-4b60-9b70-3631c057423a} + Core + +