mirror of
https://github.com/bitwarden/server.git
synced 2025-05-20 19:14:32 -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")]
|
[HttpPost("{id}/sm-subscription")]
|
||||||
[SelfHosted(NotSelfHostedOnly = true)]
|
[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))
|
if (!await currentContext.EditSubscription(id))
|
||||||
{
|
{
|
||||||
@ -168,17 +168,26 @@ public class OrganizationsController(
|
|||||||
var organizationUpdate = model.ToSecretsManagerSubscriptionUpdate(organization);
|
var organizationUpdate = model.ToSecretsManagerSubscriptionUpdate(organization);
|
||||||
|
|
||||||
await updateSecretsManagerSubscriptionCommand.UpdateSubscriptionAsync(organizationUpdate);
|
await updateSecretsManagerSubscriptionCommand.UpdateSubscriptionAsync(organizationUpdate);
|
||||||
|
|
||||||
|
var userId = userService.GetProperUserId(User)!.Value;
|
||||||
|
|
||||||
|
return await GetProfileOrganizationResponseModelAsync(id, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost("{id:guid}/subscription")]
|
[HttpPost("{id:guid}/subscription")]
|
||||||
[SelfHosted(NotSelfHostedOnly = true)]
|
[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))
|
if (!await currentContext.EditSubscription(id))
|
||||||
{
|
{
|
||||||
throw new NotFoundException();
|
throw new NotFoundException();
|
||||||
}
|
}
|
||||||
|
|
||||||
await organizationService.UpdateSubscription(id, model.SeatAdjustment, model.MaxAutoscaleSeats);
|
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")]
|
[HttpPost("{id:guid}/subscribe-secrets-manager")]
|
||||||
@ -203,13 +212,7 @@ public class OrganizationsController(
|
|||||||
|
|
||||||
await TryGrantOwnerAccessToSecretsManagerAsync(organization.Id, userId);
|
await TryGrantOwnerAccessToSecretsManagerAsync(organization.Id, userId);
|
||||||
|
|
||||||
var organizationDetails = await organizationUserRepository.GetDetailsByUserAsync(userId, organization.Id,
|
return await GetProfileOrganizationResponseModelAsync(organization.Id, userId);
|
||||||
OrganizationUserStatusType.Confirmed);
|
|
||||||
|
|
||||||
var organizationManagingActiveUser = await userService.GetOrganizationsManagingUserAsync(userId);
|
|
||||||
var organizationIdsManagingActiveUser = organizationManagingActiveUser.Select(o => o.Id);
|
|
||||||
|
|
||||||
return new ProfileOrganizationResponseModel(organizationDetails, organizationIdsManagingActiveUser);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost("{id:guid}/seat")]
|
[HttpPost("{id:guid}/seat")]
|
||||||
@ -391,4 +394,19 @@ public class OrganizationsController(
|
|||||||
await organizationInstallationRepository.ReplaceAsync(organizationInstallation);
|
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