diff --git a/src/Core/Auth/UserFeatures/EmergencyAccess/Commands/DeleteEmergencyAccessCommand.cs b/src/Core/Auth/UserFeatures/EmergencyAccess/Commands/DeleteEmergencyAccessCommand.cs
index e7ae1ec14f..a6cbe42886 100644
--- a/src/Core/Auth/UserFeatures/EmergencyAccess/Commands/DeleteEmergencyAccessCommand.cs
+++ b/src/Core/Auth/UserFeatures/EmergencyAccess/Commands/DeleteEmergencyAccessCommand.cs
@@ -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;
}
///
- public async Task> DeleteAllByGrantorIdAsync(Guid grantorId)
+ public async Task?> 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
{
diff --git a/src/Core/Auth/UserFeatures/EmergencyAccess/Interfaces/IDeleteEmergencyAccessCommand.cs b/src/Core/Auth/UserFeatures/EmergencyAccess/Interfaces/IDeleteEmergencyAccessCommand.cs
index 5c6838efab..2b6337d2d4 100644
--- a/src/Core/Auth/UserFeatures/EmergencyAccess/Interfaces/IDeleteEmergencyAccessCommand.cs
+++ b/src/Core/Auth/UserFeatures/EmergencyAccess/Interfaces/IDeleteEmergencyAccessCommand.cs
@@ -24,5 +24,5 @@ public interface IDeleteEmergencyAccessCommand
///
/// The ID of the grantor user whose emergency access records should be deleted.
/// A collection of the deleted emergency access records.
- Task> DeleteAllByGrantorIdAsync(Guid grantorId);
+ Task?> DeleteAllByGrantorIdAsync(Guid grantorId);
}