Skip to content

Commit 2475013

Browse files
Optimization that removes the need for EventRouteService
1 parent 8d2502d commit 2475013

File tree

4 files changed

+16
-101
lines changed

4 files changed

+16
-101
lines changed

src/Core/AdminConsole/Services/Implementations/EventRouteService.cs

Lines changed: 0 additions & 34 deletions
This file was deleted.

src/Events/Startup.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Globalization;
2+
using Bit.Core;
23
using Bit.Core.AdminConsole.Services.Implementations;
34
using Bit.Core.AdminConsole.Services.NoopImplementations;
45
using Bit.Core.Context;
@@ -93,7 +94,13 @@ public void ConfigureServices(IServiceCollection services)
9394
services.AddKeyedSingleton<IEventWriteService, NoopEventWriteService>("broadcast");
9495
}
9596
}
96-
services.AddScoped<IEventWriteService, EventRouteService>();
97+
services.AddScoped<IEventWriteService>(sp =>
98+
{
99+
var featureService = sp.GetRequiredService<IFeatureService>();
100+
var key = featureService.IsEnabled(FeatureFlagKeys.EventBasedOrganizationIntegrations)
101+
? "broadcast" : "storage";
102+
return sp.GetRequiredKeyedService<IEventWriteService>(key);
103+
});
97104
services.AddScoped<IEventService, EventService>();
98105

99106
services.AddOptionality();

src/SharedWeb/Utilities/ServiceCollectionExtensions.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Security.Cryptography.X509Certificates;
55
using AspNetCoreRateLimit;
66
using Azure.Storage.Queues;
7+
using Bit.Core;
78
using Bit.Core.AdminConsole.Models.Business.Tokenables;
89
using Bit.Core.AdminConsole.OrganizationFeatures.Policies;
910
using Bit.Core.AdminConsole.Services;
@@ -365,7 +366,13 @@ public static void AddDefaultServices(this IServiceCollection services, GlobalSe
365366
services.AddKeyedSingleton<IEventWriteService, NoopEventWriteService>("storage");
366367
services.AddKeyedSingleton<IEventWriteService, NoopEventWriteService>("broadcast");
367368
}
368-
services.AddScoped<IEventWriteService, EventRouteService>();
369+
services.AddScoped<IEventWriteService>(sp =>
370+
{
371+
var featureService = sp.GetRequiredService<IFeatureService>();
372+
var key = featureService.IsEnabled(FeatureFlagKeys.EventBasedOrganizationIntegrations)
373+
? "broadcast" : "storage";
374+
return sp.GetRequiredKeyedService<IEventWriteService>(key);
375+
});
369376

370377
if (CoreHelpers.SettingHasValue(globalSettings.Attachment.ConnectionString))
371378
{

test/Core.Test/AdminConsole/Services/EventRouteServiceTests.cs

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)