mirror of
https://github.com/bitwarden/server.git
synced 2025-06-30 23:52:50 -05:00
[Emergency Access] Add premium check (#1815)
This commit is contained in:
@ -15,7 +15,7 @@ namespace Bit.Core.Services
|
||||
Task DeleteAsync(Guid emergencyAccessId, Guid grantorId);
|
||||
Task<EmergencyAccess> ConfirmUserAsync(Guid emergencyAccessId, string key, Guid grantorId);
|
||||
Task<EmergencyAccessDetails> GetAsync(Guid emergencyAccessId, Guid userId);
|
||||
Task SaveAsync(EmergencyAccess emergencyAccess, Guid savingUserId);
|
||||
Task SaveAsync(EmergencyAccess emergencyAccess, User savingUser);
|
||||
Task InitiateAsync(Guid id, User initiatingUser);
|
||||
Task ApproveAsync(Guid id, User approvingUser);
|
||||
Task RejectAsync(Guid id, User rejectingUser);
|
||||
|
@ -189,9 +189,14 @@ namespace Bit.Core.Services
|
||||
return emergencyAccess;
|
||||
}
|
||||
|
||||
public async Task SaveAsync(EmergencyAccess emergencyAccess, Guid savingUserId)
|
||||
public async Task SaveAsync(EmergencyAccess emergencyAccess, User savingUser)
|
||||
{
|
||||
if (emergencyAccess.GrantorId != savingUserId)
|
||||
if (!await _userService.CanAccessPremium(savingUser))
|
||||
{
|
||||
throw new BadRequestException("Not a premium user.");
|
||||
}
|
||||
|
||||
if (emergencyAccess.GrantorId != savingUser.Id)
|
||||
{
|
||||
throw new BadRequestException("Emergency Access not valid.");
|
||||
}
|
||||
|
Reference in New Issue
Block a user