From 57e035bf5139c3a885415cbdd8186bc51cf4c199 Mon Sep 17 00:00:00 2001 From: Brandon Date: Thu, 15 May 2025 16:33:10 -0400 Subject: [PATCH] remove looping db call with bulk method --- .../InviteUsers/InviteOrganizationUsersCommand.cs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/InviteUsers/InviteOrganizationUsersCommand.cs b/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/InviteUsers/InviteOrganizationUsersCommand.cs index 66c422f78b..da48a43fef 100644 --- a/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/InviteUsers/InviteOrganizationUsersCommand.cs +++ b/src/Core/AdminConsole/OrganizationFeatures/OrganizationUsers/InviteUsers/InviteOrganizationUsersCommand.cs @@ -10,6 +10,7 @@ using Bit.Core.AdminConsole.Utilities.Commands; using Bit.Core.AdminConsole.Utilities.Errors; using Bit.Core.AdminConsole.Utilities.Validation; using Bit.Core.Context; +using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Models.Business; using Bit.Core.OrganizationFeatures.OrganizationSubscriptions.Interface; @@ -92,16 +93,14 @@ public class InviteOrganizationUsersCommand(IEventService eventService, case Success success when success.Value.InvitedUsers.Any(): - // add a bulk method? + List<(OrganizationUser, EventType, EventSystemUser, DateTime?)> events = new List<(OrganizationUser, EventType, EventSystemUser, DateTime?)>(); foreach (var user in success.Value.InvitedUsers) { - await eventService.LogOrganizationUserEventAsync( - organizationUser: user, - type: EventType.OrganizationUser_Invited, - systemUser: EventSystemUser.PublicApi, - date: request.PerformedAt.UtcDateTime); + events.Add((user, EventType.OrganizationUser_Invited, EventSystemUser.PublicApi, request.PerformedAt.UtcDateTime)); } + await eventService.LogOrganizationUserEventsAsync(events); + return new Success(new InviteOrganizationUsersResponse(success.Value.InvitedUsers, organizationId) );