mirror of
https://github.com/bitwarden/server.git
synced 2025-05-20 11:04:31 -05:00
[PM-14461] Return ProfileOrganizationResponse from subscription update (#5103)
* Return ProviderOrganizationResponse from subscription update * QA: Fix SM trial seat adjustment
This commit is contained in:
parent
97e11774e3
commit
bf2bf3c13f
@ -150,7 +150,7 @@ public class OrganizationsController(
|
||||
|
||||
[HttpPost("{id}/sm-subscription")]
|
||||
[SelfHosted(NotSelfHostedOnly = true)]
|
||||
public async Task PostSmSubscription(Guid id, [FromBody] SecretsManagerSubscriptionUpdateRequestModel model)
|
||||
public async Task<ProfileOrganizationResponseModel> PostSmSubscription(Guid id, [FromBody] SecretsManagerSubscriptionUpdateRequestModel model)
|
||||
{
|
||||
if (!await currentContext.EditSubscription(id))
|
||||
{
|
||||
@ -168,17 +168,26 @@ public class OrganizationsController(
|
||||
var organizationUpdate = model.ToSecretsManagerSubscriptionUpdate(organization);
|
||||
|
||||
await updateSecretsManagerSubscriptionCommand.UpdateSubscriptionAsync(organizationUpdate);
|
||||
|
||||
var userId = userService.GetProperUserId(User)!.Value;
|
||||
|
||||
return await GetProfileOrganizationResponseModelAsync(id, userId);
|
||||
}
|
||||
|
||||
[HttpPost("{id:guid}/subscription")]
|
||||
[SelfHosted(NotSelfHostedOnly = true)]
|
||||
public async Task PostSubscription(Guid id, [FromBody] OrganizationSubscriptionUpdateRequestModel model)
|
||||
public async Task<ProfileOrganizationResponseModel> PostSubscription(Guid id, [FromBody] OrganizationSubscriptionUpdateRequestModel model)
|
||||
{
|
||||
if (!await currentContext.EditSubscription(id))
|
||||
{
|
||||
throw new NotFoundException();
|
||||
}
|
||||
|
||||
await organizationService.UpdateSubscription(id, model.SeatAdjustment, model.MaxAutoscaleSeats);
|
||||
|
||||
var userId = userService.GetProperUserId(User)!.Value;
|
||||
|
||||
return await GetProfileOrganizationResponseModelAsync(id, userId);
|
||||
}
|
||||
|
||||
[HttpPost("{id:guid}/subscribe-secrets-manager")]
|
||||
@ -203,13 +212,7 @@ public class OrganizationsController(
|
||||
|
||||
await TryGrantOwnerAccessToSecretsManagerAsync(organization.Id, userId);
|
||||
|
||||
var organizationDetails = await organizationUserRepository.GetDetailsByUserAsync(userId, organization.Id,
|
||||
OrganizationUserStatusType.Confirmed);
|
||||
|
||||
var organizationManagingActiveUser = await userService.GetOrganizationsManagingUserAsync(userId);
|
||||
var organizationIdsManagingActiveUser = organizationManagingActiveUser.Select(o => o.Id);
|
||||
|
||||
return new ProfileOrganizationResponseModel(organizationDetails, organizationIdsManagingActiveUser);
|
||||
return await GetProfileOrganizationResponseModelAsync(organization.Id, userId);
|
||||
}
|
||||
|
||||
[HttpPost("{id:guid}/seat")]
|
||||
@ -391,4 +394,19 @@ public class OrganizationsController(
|
||||
await organizationInstallationRepository.ReplaceAsync(organizationInstallation);
|
||||
}
|
||||
}
|
||||
|
||||
private async Task<ProfileOrganizationResponseModel> GetProfileOrganizationResponseModelAsync(
|
||||
Guid organizationId,
|
||||
Guid userId)
|
||||
{
|
||||
var organizationUserDetails = await organizationUserRepository.GetDetailsByUserAsync(
|
||||
userId,
|
||||
organizationId,
|
||||
OrganizationUserStatusType.Confirmed);
|
||||
|
||||
var organizationIdsManagingActiveUser = (await userService.GetOrganizationsManagingUserAsync(userId))
|
||||
.Select(o => o.Id);
|
||||
|
||||
return new ProfileOrganizationResponseModel(organizationUserDetails, organizationIdsManagingActiveUser);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user