mirror of
https://github.com/bitwarden/server.git
synced 2025-05-22 20:11:04 -05:00
[AC-2000] Get 400 response code when a secrets manager is not enabled for Organisation while password Manager is Updated (#3612)
* fix the bug * resolve qa comments
This commit is contained in:
parent
cedbea4a60
commit
506d0aa318
@ -43,12 +43,23 @@ public class OrganizationController : Controller
|
|||||||
[ProducesResponseType((int)HttpStatusCode.NotFound)]
|
[ProducesResponseType((int)HttpStatusCode.NotFound)]
|
||||||
public async Task<IActionResult> PostSubscriptionAsync([FromBody] OrganizationSubscriptionUpdateRequestModel model)
|
public async Task<IActionResult> PostSubscriptionAsync([FromBody] OrganizationSubscriptionUpdateRequestModel model)
|
||||||
{
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
await UpdatePasswordManagerAsync(model, _currentContext.OrganizationId.Value);
|
await UpdatePasswordManagerAsync(model, _currentContext.OrganizationId.Value);
|
||||||
|
|
||||||
await UpdateSecretsManagerAsync(model, _currentContext.OrganizationId.Value);
|
var secretsManagerResult = await UpdateSecretsManagerAsync(model, _currentContext.OrganizationId.Value);
|
||||||
|
|
||||||
return new OkResult();
|
if (!string.IsNullOrEmpty(secretsManagerResult))
|
||||||
|
{
|
||||||
|
return Ok(new { Message = secretsManagerResult });
|
||||||
|
}
|
||||||
|
|
||||||
|
return Ok(new { Message = "Subscription updated successfully." });
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return StatusCode(500, new { Message = "An error occurred while updating the subscription." });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task UpdatePasswordManagerAsync(OrganizationSubscriptionUpdateRequestModel model, Guid organizationId)
|
private async Task UpdatePasswordManagerAsync(OrganizationSubscriptionUpdateRequestModel model, Guid organizationId)
|
||||||
@ -67,15 +78,23 @@ public class OrganizationController : Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task UpdateSecretsManagerAsync(OrganizationSubscriptionUpdateRequestModel model, Guid organizationId)
|
private async Task<string> UpdateSecretsManagerAsync(OrganizationSubscriptionUpdateRequestModel model, Guid organizationId)
|
||||||
{
|
{
|
||||||
if (model.SecretsManager != null)
|
if (model.SecretsManager == null)
|
||||||
{
|
{
|
||||||
var organization =
|
return string.Empty;
|
||||||
await _organizationRepository.GetByIdAsync(organizationId);
|
}
|
||||||
|
|
||||||
var organizationUpdate = model.SecretsManager.ToSecretsManagerSubscriptionUpdate(organization);
|
var organization = await _organizationRepository.GetByIdAsync(organizationId);
|
||||||
await _updateSecretsManagerSubscriptionCommand.UpdateSubscriptionAsync(organizationUpdate);
|
|
||||||
}
|
if (!organization.UseSecretsManager)
|
||||||
|
{
|
||||||
|
return "Organization has no access to Secrets Manager.";
|
||||||
|
}
|
||||||
|
|
||||||
|
var secretsManagerUpdate = model.SecretsManager.ToSecretsManagerSubscriptionUpdate(organization);
|
||||||
|
await _updateSecretsManagerSubscriptionCommand.UpdateSubscriptionAsync(secretsManagerUpdate);
|
||||||
|
|
||||||
|
return string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user