mirror of
https://github.com/bitwarden/server.git
synced 2024-11-25 12:45:18 +01:00
Merge branch 'main' into pm-13347-web-app-impacts
This commit is contained in:
commit
e7df25347d
@ -213,7 +213,7 @@ public class MembersController : Controller
|
|||||||
{
|
{
|
||||||
return new NotFoundResult();
|
return new NotFoundResult();
|
||||||
}
|
}
|
||||||
await _updateOrganizationUserGroupsCommand.UpdateUserGroupsAsync(existingUser, model.GroupIds, null);
|
await _updateOrganizationUserGroupsCommand.UpdateUserGroupsAsync(existingUser, model.GroupIds);
|
||||||
return new OkResult();
|
return new OkResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,5 +4,5 @@ namespace Bit.Core.AdminConsole.OrganizationFeatures.OrganizationUsers.Interface
|
|||||||
|
|
||||||
public interface IUpdateOrganizationUserGroupsCommand
|
public interface IUpdateOrganizationUserGroupsCommand
|
||||||
{
|
{
|
||||||
Task UpdateUserGroupsAsync(OrganizationUser organizationUser, IEnumerable<Guid> groupIds, Guid? loggedInUserId);
|
Task UpdateUserGroupsAsync(OrganizationUser organizationUser, IEnumerable<Guid> groupIds);
|
||||||
}
|
}
|
||||||
|
@ -9,25 +9,18 @@ namespace Bit.Core.AdminConsole.OrganizationFeatures.OrganizationUsers;
|
|||||||
public class UpdateOrganizationUserGroupsCommand : IUpdateOrganizationUserGroupsCommand
|
public class UpdateOrganizationUserGroupsCommand : IUpdateOrganizationUserGroupsCommand
|
||||||
{
|
{
|
||||||
private readonly IEventService _eventService;
|
private readonly IEventService _eventService;
|
||||||
private readonly IOrganizationService _organizationService;
|
|
||||||
private readonly IOrganizationUserRepository _organizationUserRepository;
|
private readonly IOrganizationUserRepository _organizationUserRepository;
|
||||||
|
|
||||||
public UpdateOrganizationUserGroupsCommand(
|
public UpdateOrganizationUserGroupsCommand(
|
||||||
IEventService eventService,
|
IEventService eventService,
|
||||||
IOrganizationService organizationService,
|
|
||||||
IOrganizationUserRepository organizationUserRepository)
|
IOrganizationUserRepository organizationUserRepository)
|
||||||
{
|
{
|
||||||
_eventService = eventService;
|
_eventService = eventService;
|
||||||
_organizationService = organizationService;
|
|
||||||
_organizationUserRepository = organizationUserRepository;
|
_organizationUserRepository = organizationUserRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task UpdateUserGroupsAsync(OrganizationUser organizationUser, IEnumerable<Guid> groupIds, Guid? loggedInUserId)
|
public async Task UpdateUserGroupsAsync(OrganizationUser organizationUser, IEnumerable<Guid> groupIds)
|
||||||
{
|
{
|
||||||
if (loggedInUserId.HasValue)
|
|
||||||
{
|
|
||||||
await _organizationService.ValidateOrganizationUserUpdatePermissions(organizationUser.OrganizationId, organizationUser.Type, null, organizationUser.GetPermissions());
|
|
||||||
}
|
|
||||||
await _organizationUserRepository.UpdateGroupsAsync(organizationUser.Id, groupIds);
|
await _organizationUserRepository.UpdateGroupsAsync(organizationUser.Id, groupIds);
|
||||||
await _eventService.LogOrganizationUserEventAsync(organizationUser, EventType.OrganizationUser_UpdatedGroups);
|
await _eventService.LogOrganizationUserEventAsync(organizationUser, EventType.OrganizationUser_UpdatedGroups);
|
||||||
}
|
}
|
||||||
|
@ -768,8 +768,9 @@ public class SubscriberService(
|
|||||||
{
|
{
|
||||||
var metadata = customer.Metadata ?? new Dictionary<string, string>();
|
var metadata = customer.Metadata ?? new Dictionary<string, string>();
|
||||||
|
|
||||||
if (metadata.ContainsKey(BraintreeCustomerIdKey))
|
if (metadata.TryGetValue(BraintreeCustomerIdKey, out var value))
|
||||||
{
|
{
|
||||||
|
metadata[BraintreeCustomerIdOldKey] = value;
|
||||||
metadata[BraintreeCustomerIdKey] = null;
|
metadata[BraintreeCustomerIdKey] = null;
|
||||||
|
|
||||||
await stripeAdapter.CustomerUpdateAsync(customer.Id, new CustomerUpdateOptions
|
await stripeAdapter.CustomerUpdateAsync(customer.Id, new CustomerUpdateOptions
|
||||||
|
@ -14,34 +14,13 @@ namespace Bit.Core.Test.AdminConsole.OrganizationFeatures.OrganizationUsers;
|
|||||||
public class UpdateOrganizationUserGroupsCommandTests
|
public class UpdateOrganizationUserGroupsCommandTests
|
||||||
{
|
{
|
||||||
[Theory, BitAutoData]
|
[Theory, BitAutoData]
|
||||||
public async Task UpdateUserGroups_Passes(
|
public async Task UpdateUserGroups_ShouldUpdateUserGroupsAndLogUserEvent(
|
||||||
OrganizationUser organizationUser,
|
OrganizationUser organizationUser,
|
||||||
IEnumerable<Guid> groupIds,
|
IEnumerable<Guid> groupIds,
|
||||||
SutProvider<UpdateOrganizationUserGroupsCommand> sutProvider)
|
SutProvider<UpdateOrganizationUserGroupsCommand> sutProvider)
|
||||||
{
|
{
|
||||||
await sutProvider.Sut.UpdateUserGroupsAsync(organizationUser, groupIds, null);
|
await sutProvider.Sut.UpdateUserGroupsAsync(organizationUser, groupIds);
|
||||||
|
|
||||||
await sutProvider.GetDependency<IOrganizationService>().DidNotReceiveWithAnyArgs()
|
|
||||||
.ValidateOrganizationUserUpdatePermissions(default, default, default, default);
|
|
||||||
await sutProvider.GetDependency<IOrganizationUserRepository>().Received(1)
|
|
||||||
.UpdateGroupsAsync(organizationUser.Id, groupIds);
|
|
||||||
await sutProvider.GetDependency<IEventService>().Received(1)
|
|
||||||
.LogOrganizationUserEventAsync(organizationUser, EventType.OrganizationUser_UpdatedGroups);
|
|
||||||
}
|
|
||||||
|
|
||||||
[Theory, BitAutoData]
|
|
||||||
public async Task UpdateUserGroups_WithSavingUserId_Passes(
|
|
||||||
OrganizationUser organizationUser,
|
|
||||||
IEnumerable<Guid> groupIds,
|
|
||||||
Guid savingUserId,
|
|
||||||
SutProvider<UpdateOrganizationUserGroupsCommand> sutProvider)
|
|
||||||
{
|
|
||||||
organizationUser.Permissions = null;
|
|
||||||
|
|
||||||
await sutProvider.Sut.UpdateUserGroupsAsync(organizationUser, groupIds, savingUserId);
|
|
||||||
|
|
||||||
await sutProvider.GetDependency<IOrganizationService>().Received(1)
|
|
||||||
.ValidateOrganizationUserUpdatePermissions(organizationUser.OrganizationId, organizationUser.Type, null, organizationUser.GetPermissions());
|
|
||||||
await sutProvider.GetDependency<IOrganizationUserRepository>().Received(1)
|
await sutProvider.GetDependency<IOrganizationUserRepository>().Received(1)
|
||||||
.UpdateGroupsAsync(organizationUser.Id, groupIds);
|
.UpdateGroupsAsync(organizationUser.Id, groupIds);
|
||||||
await sutProvider.GetDependency<IEventService>().Received(1)
|
await sutProvider.GetDependency<IEventService>().Received(1)
|
||||||
|
Loading…
Reference in New Issue
Block a user