1
0
mirror of https://github.com/bitwarden/server.git synced 2025-06-30 23:52:50 -05:00

[AC-1191] TDE admin approval email (#3044)

* feat: add new command for updating request and emailing user, refs AC-1191

* feat: inject service with organization service collection extensions, refs AC-1191

* feat: add function to send admin approval email to mail services (interface/noop/handlebars), refs AC-1191

* feat: add html/text mail templates and add view model for email data, refs AC-1191

* feat: update org auth request controller to use new command during auth request update, refs AC-1191

* fix: dotnet format, refs AC-1191

* refactor: update user not found error, FirstOrDefault for enum type display name, refs AC-1191

* refactor: update user not found to log error instead of throws, refs AC-1191

* fix: remove whitespace lint errors, refs AC-1191

* refactor: update hardcoded UTC timezone string, refs AC-1191

* refactor: add unit test for new command, refs AC-1191

* refactor: improve enum name fallback and identifier string creation, refs AC-1191

* refactor: add addtional unit tests, refs AC-1191

* refactor: update success test to use more generated params, refs AC-1191

* fix: dotnet format...again, refs AC-1191

* refactor: make UTC display a constant for handlebars mail service, refs AC-1191

* refactor: update displayTypeIdentifer to displayTypeAndIdentifier for clarity, refs AC-1191
This commit is contained in:
Vincent Salucci
2023-07-06 10:03:49 -05:00
committed by GitHub
parent 62beb7d1e8
commit 3b4c8afea0
11 changed files with 243 additions and 8 deletions

View File

@ -2,6 +2,7 @@
using Bit.Api.Auth.Models.Response;
using Bit.Api.Models.Response;
using Bit.Core;
using Bit.Core.AdminConsole.OrganizationAuth.Interfaces;
using Bit.Core.Auth.Models.Api.Request.AuthRequest;
using Bit.Core.Auth.Services;
using Bit.Core.Context;
@ -21,13 +22,16 @@ public class OrganizationAuthRequestsController : Controller
private readonly IAuthRequestRepository _authRequestRepository;
private readonly ICurrentContext _currentContext;
private readonly IAuthRequestService _authRequestService;
private readonly IUpdateOrganizationAuthRequestCommand _updateOrganizationAuthRequestCommand;
public OrganizationAuthRequestsController(IAuthRequestRepository authRequestRepository,
ICurrentContext currentContext, IAuthRequestService authRequestService)
ICurrentContext currentContext, IAuthRequestService authRequestService,
IUpdateOrganizationAuthRequestCommand updateOrganizationAuthRequestCommand)
{
_authRequestRepository = authRequestRepository;
_currentContext = currentContext;
_authRequestService = authRequestService;
_updateOrganizationAuthRequestCommand = updateOrganizationAuthRequestCommand;
}
[HttpGet("")]
@ -55,8 +59,7 @@ public class OrganizationAuthRequestsController : Controller
throw new NotFoundException();
}
await _authRequestService.UpdateAuthRequestAsync(authRequest.Id, authRequest.UserId,
new AuthRequestUpdateRequestModel { RequestApproved = model.RequestApproved, Key = model.EncryptedUserKey });
await _updateOrganizationAuthRequestCommand.UpdateAsync(authRequest.Id, authRequest.UserId, model.RequestApproved, model.EncryptedUserKey);
}
[HttpPost("deny")]
@ -81,3 +84,4 @@ public class OrganizationAuthRequestsController : Controller
}
}
}