mirror of
https://github.com/bitwarden/server.git
synced 2025-06-30 23:52:50 -05:00
Refactor PolicyService to remove uneeded calls
This commit is contained in:
@ -82,7 +82,6 @@ namespace Bit.Core.Services
|
|||||||
var currentPolicy = await _policyRepository.GetByIdAsync(policy.Id);
|
var currentPolicy = await _policyRepository.GetByIdAsync(policy.Id);
|
||||||
if (!currentPolicy?.Enabled ?? true)
|
if (!currentPolicy?.Enabled ?? true)
|
||||||
{
|
{
|
||||||
Organization organization = null;
|
|
||||||
var orgUsers = await _organizationUserRepository.GetManyDetailsByOrganizationAsync(
|
var orgUsers = await _organizationUserRepository.GetManyDetailsByOrganizationAsync(
|
||||||
policy.OrganizationId);
|
policy.OrganizationId);
|
||||||
var removableOrgUsers = orgUsers.Where(ou =>
|
var removableOrgUsers = orgUsers.Where(ou =>
|
||||||
@ -96,28 +95,26 @@ namespace Bit.Core.Services
|
|||||||
{
|
{
|
||||||
if (!await userService.TwoFactorIsEnabledAsync(orgUser))
|
if (!await userService.TwoFactorIsEnabledAsync(orgUser))
|
||||||
{
|
{
|
||||||
organization = organization ?? await _organizationRepository.GetByIdAsync(policy.OrganizationId);
|
|
||||||
await organizationService.DeleteUserAsync(policy.OrganizationId, orgUser.Id,
|
await organizationService.DeleteUserAsync(policy.OrganizationId, orgUser.Id,
|
||||||
savingUserId);
|
savingUserId);
|
||||||
await _mailService.SendOrganizationUserRemovedForPolicyTwoStepEmailAsync(
|
await _mailService.SendOrganizationUserRemovedForPolicyTwoStepEmailAsync(
|
||||||
organization.Name, orgUser.Email);
|
org.Name, orgUser.Email);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Enums.PolicyType.SingleOrg:
|
case Enums.PolicyType.SingleOrg:
|
||||||
var userOrgs = await _organizationUserRepository.GetManyByManyUsersAsync(
|
var userOrgs = await _organizationUserRepository.GetManyByManyUsersAsync(
|
||||||
removableOrgUsers.Select(ou => ou.UserId.Value));
|
removableOrgUsers.Select(ou => ou.UserId.Value));
|
||||||
organization = organization ?? await _organizationRepository.GetByIdAsync(policy.OrganizationId);
|
|
||||||
foreach (var orgUser in removableOrgUsers)
|
foreach (var orgUser in removableOrgUsers)
|
||||||
{
|
{
|
||||||
if (userOrgs.Any(ou => ou.UserId == orgUser.UserId
|
if (userOrgs.Any(ou => ou.UserId == orgUser.UserId
|
||||||
&& ou.OrganizationId != organization.Id
|
&& ou.OrganizationId != org.Id
|
||||||
&& ou.Status != OrganizationUserStatusType.Invited))
|
&& ou.Status != OrganizationUserStatusType.Invited))
|
||||||
{
|
{
|
||||||
await organizationService.DeleteUserAsync(policy.OrganizationId, orgUser.Id,
|
await organizationService.DeleteUserAsync(policy.OrganizationId, orgUser.Id,
|
||||||
savingUserId);
|
savingUserId);
|
||||||
await _mailService.SendOrganizationUserRemovedForPolicySingleOrgEmailAsync(
|
await _mailService.SendOrganizationUserRemovedForPolicySingleOrgEmailAsync(
|
||||||
organization.Name, orgUser.Email);
|
org.Name, orgUser.Email);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -126,7 +123,7 @@ namespace Bit.Core.Services
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
policy.RevisionDate = DateTime.UtcNow;
|
policy.RevisionDate = now;
|
||||||
await _policyRepository.UpsertAsync(policy);
|
await _policyRepository.UpsertAsync(policy);
|
||||||
await _eventService.LogPolicyEventAsync(policy, Enums.EventType.Policy_Updated);
|
await _eventService.LogPolicyEventAsync(policy, Enums.EventType.Policy_Updated);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user