1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-04 01:22:50 -05:00

Properly handle new policy enrollments in the public API (#4003)

* Test the use case

* Properly instantiate model from null

* Rename query parameter
This commit is contained in:
Addison Beck
2024-04-18 17:04:04 -05:00
committed by GitHub
parent 9827ee5f6a
commit 19a7aa500d
3 changed files with 41 additions and 4 deletions

View File

@ -83,7 +83,7 @@ public class PoliciesController : Controller
/// </remarks>
/// <param name="type">The type of policy to be updated.</param>
/// <param name="model">The request model.</param>
[HttpPut("{id}")]
[HttpPut("{type}")]
[ProducesResponseType(typeof(PolicyResponseModel), (int)HttpStatusCode.OK)]
[ProducesResponseType(typeof(ErrorResponseModel), (int)HttpStatusCode.BadRequest)]
[ProducesResponseType((int)HttpStatusCode.NotFound)]
@ -93,7 +93,7 @@ public class PoliciesController : Controller
_currentContext.OrganizationId.Value, type);
if (policy == null)
{
policy = model.ToPolicy(_currentContext.OrganizationId.Value);
policy = model.ToPolicy(_currentContext.OrganizationId.Value, type);
}
else
{

View File

@ -1,15 +1,19 @@
using System.Text.Json;
using Bit.Core.AdminConsole.Entities;
using Bit.Core.AdminConsole.Enums;
namespace Bit.Api.AdminConsole.Public.Models.Request;
public class PolicyUpdateRequestModel : PolicyBaseModel
{
public Policy ToPolicy(Guid orgId)
public Policy ToPolicy(Guid orgId, PolicyType type)
{
return ToPolicy(new Policy
{
OrganizationId = orgId
OrganizationId = orgId,
Enabled = Enabled.GetValueOrDefault(),
Data = Data != null ? JsonSerializer.Serialize(Data) : null,
Type = type
});
}