1
0
mirror of https://github.com/bitwarden/server synced 2025-12-25 12:43:14 +00:00

caller will always have to get all org users associated with user id

This commit is contained in:
Jared McCannon
2025-11-26 13:44:32 -06:00
parent 4d1e154e11
commit 69d4218c18
2 changed files with 5 additions and 21 deletions

View File

@@ -23,7 +23,8 @@ public class AutomaticUserConfirmationPolicyEnforcementQuery(
return Invalid(request, new OrganizationEnforcesSingleOrgPolicy());
}
if (automaticUserConfirmationPolicyRequirement.IsEnabledAndUserIsAProvider(request.OrganizationUser.OrganizationId))
if (automaticUserConfirmationPolicyRequirement.IsEnabledAndUserIsAProvider(request.OrganizationUser
.OrganizationId))
{
return Invalid(request, new ProviderUsersCannotJoin());
}
@@ -39,7 +40,6 @@ public class AutomaticUserConfirmationPolicyEnforcementQuery(
private async Task<bool> OrganizationUserBelongsToAnotherOrganizationAsync(
AutomaticUserConfirmationPolicyEnforcementRequest request) =>
request.OtherOrganizationsOrganizationUsers?.ToArray() is { Length: > 0 }
|| (await organizationUserRepository.GetManyByUserAsync(request.User.Id))
.Any(x => x.OrganizationId != request.OrganizationUser.OrganizationId);
(await organizationUserRepository.GetManyByUserAsync(request.User.Id)).Any(x =>
x.OrganizationId != request.OrganizationUser.OrganizationId);
}

View File

@@ -8,7 +8,7 @@ namespace Bit.Core.AdminConsole.OrganizationFeatures.Policies.Enforcement.AutoCo
public record AutomaticUserConfirmationPolicyEnforcementRequest
{
public OrganizationUser OrganizationUser { get; }
public IEnumerable<OrganizationUser>? OtherOrganizationsOrganizationUsers { get; }
public IEnumerable<OrganizationUser> OtherOrganizationsOrganizationUsers { get; }
public User User { get; }
/// <summary>
@@ -31,21 +31,5 @@ public record AutomaticUserConfirmationPolicyEnforcementRequest
OtherOrganizationsOrganizationUsers = organizationUsersForOtherOrganizations;
User = user;
}
/// <summary>
/// Request object for <see cref="AutomaticUserConfirmationPolicyEnforcementQuery"/>
/// </summary>
/// <remarks>
/// Use this constructor when you haven't retrieved the organization user records for other organizations yet.
/// </remarks>
/// <param name="organizationUserToValidate">Organization User to Validate</param>
/// <param name="user">User record for orgUser</param>
public AutomaticUserConfirmationPolicyEnforcementRequest(OrganizationUser organizationUserToValidate,
User user)
{
OrganizationUser = organizationUserToValidate;
OtherOrganizationsOrganizationUsers = null;
User = user;
}
}