1
0
mirror of https://github.com/bitwarden/server synced 2026-01-27 23:03:31 +00:00

feat: update return type for DeleteByGrantorIdAsync

This commit is contained in:
Ike Kottlowski
2026-01-20 15:22:12 -05:00
parent 0a186fe2ee
commit 77fc1ada0b
2 changed files with 11 additions and 5 deletions

View File

@@ -24,15 +24,21 @@ public class DeleteEmergencyAccessCommand(
await _emergencyAccessRepository.DeleteAsync(emergencyAccess);
// Send notification email to grantor
await SendEmailAsync(emergencyAccess.GrantorEmail, [emergencyAccess.GranteeName]);
await SendEmergencyAccessRemoveGranteesEmailAsync(emergencyAccess.GrantorEmail, [emergencyAccess.GranteeName]);
return emergencyAccess;
}
/// <inheritdoc />
public async Task<ICollection<EmergencyAccessDetails>> DeleteAllByGrantorIdAsync(Guid grantorId)
public async Task<ICollection<EmergencyAccessDetails>?> DeleteAllByGrantorIdAsync(Guid grantorId)
{
var emergencyAccessDetails = await _emergencyAccessRepository.GetManyDetailsByGrantorIdAsync(grantorId);
// if there is nothing return an empty array
if (emergencyAccessDetails == null || emergencyAccessDetails.Count == 0)
{
return emergencyAccessDetails;
}
foreach (var details in emergencyAccessDetails)
{
var emergencyAccess = details.ToEmergencyAccess();
@@ -40,14 +46,14 @@ public class DeleteEmergencyAccessCommand(
}
// Send notification email to grantor
await SendEmailAsync(
await SendEmergencyAccessRemoveGranteesEmailAsync(
emergencyAccessDetails.FirstOrDefault()?.GrantorEmail ?? string.Empty,
[.. emergencyAccessDetails.Select(e => e.GranteeName)]);
return emergencyAccessDetails;
}
private async Task SendEmailAsync(string grantorEmail, string[] granteeNames)
private async Task SendEmergencyAccessRemoveGranteesEmailAsync(string grantorEmail, string[] granteeNames)
{
var email = new EmergencyAccessRemoveGranteesMail
{

View File

@@ -24,5 +24,5 @@ public interface IDeleteEmergencyAccessCommand
/// </summary>
/// <param name="grantorId">The ID of the grantor user whose emergency access records should be deleted.</param>
/// <returns>A collection of the deleted emergency access records.</returns>
Task<ICollection<EmergencyAccessDetails>> DeleteAllByGrantorIdAsync(Guid grantorId);
Task<ICollection<EmergencyAccessDetails>?> DeleteAllByGrantorIdAsync(Guid grantorId);
}