diff --git a/src/Api/AdminConsole/Controllers/OrganizationUsersController.cs b/src/Api/AdminConsole/Controllers/OrganizationUsersController.cs index 315839137c..6375d42ea4 100644 --- a/src/Api/AdminConsole/Controllers/OrganizationUsersController.cs +++ b/src/Api/AdminConsole/Controllers/OrganizationUsersController.cs @@ -357,7 +357,7 @@ public class OrganizationUsersController : BaseAdminConsoleController return false; } - var masterPasswordPolicy = await _policyQuery.GetByOrganizationIdTypeAsync(orgId, PolicyType.ResetPassword); + var masterPasswordPolicy = await _policyQuery.RunAsync(orgId, PolicyType.ResetPassword); var useMasterPasswordPolicy = masterPasswordPolicy.Enabled && masterPasswordPolicy.GetDataModel().AutoEnrollEnabled; diff --git a/src/Api/AdminConsole/Controllers/PoliciesController.cs b/src/Api/AdminConsole/Controllers/PoliciesController.cs index 99ad36cd5a..eee732cd1f 100644 --- a/src/Api/AdminConsole/Controllers/PoliciesController.cs +++ b/src/Api/AdminConsole/Controllers/PoliciesController.cs @@ -81,7 +81,7 @@ public class PoliciesController : Controller throw new NotFoundException(); } - var policy = await _policyQuery.GetByOrganizationIdTypeAsync(orgId, (PolicyType)type); + var policy = await _policyQuery.RunAsync(orgId, (PolicyType)type); if (policy.Type is PolicyType.SingleOrg) { return await policy.GetSingleOrgPolicyDetailResponseAsync(_organizationHasVerifiedDomainsQuery); diff --git a/src/Api/AdminConsole/Models/Response/Helpers/PolicyDetailResponses.cs b/src/Api/AdminConsole/Models/Response/Helpers/PolicyDetailResponses.cs index dded6a4c89..3414f09a02 100644 --- a/src/Api/AdminConsole/Models/Response/Helpers/PolicyDetailResponses.cs +++ b/src/Api/AdminConsole/Models/Response/Helpers/PolicyDetailResponses.cs @@ -1,13 +1,15 @@ using Bit.Api.AdminConsole.Models.Response.Organizations; using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.Enums; +using Bit.Core.AdminConsole.Models.Data.Organizations.Policies; using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationDomains.Interfaces; namespace Bit.Api.AdminConsole.Models.Response.Helpers; public static class PolicyDetailResponses { - public static async Task GetSingleOrgPolicyDetailResponseAsync(this Policy policy, IOrganizationHasVerifiedDomainsQuery hasVerifiedDomainsQuery) + public static async Task GetSingleOrgPolicyDetailResponseAsync( + this PolicyData policy, IOrganizationHasVerifiedDomainsQuery hasVerifiedDomainsQuery) { if (policy.Type is not PolicyType.SingleOrg) { @@ -25,5 +27,4 @@ public static class PolicyDetailResponses return !policy.Enabled; } } - } diff --git a/src/Api/AdminConsole/Models/Response/Organizations/PolicyDetailResponseModel.cs b/src/Api/AdminConsole/Models/Response/Organizations/PolicyDetailResponseModel.cs index cb5560e689..9e4bd0e0aa 100644 --- a/src/Api/AdminConsole/Models/Response/Organizations/PolicyDetailResponseModel.cs +++ b/src/Api/AdminConsole/Models/Response/Organizations/PolicyDetailResponseModel.cs @@ -1,14 +1,18 @@ using Bit.Core.AdminConsole.Entities; +using Bit.Core.AdminConsole.Models.Data.Organizations.Policies; namespace Bit.Api.AdminConsole.Models.Response.Organizations; public class PolicyDetailResponseModel : PolicyResponseModel { - public PolicyDetailResponseModel(Policy policy, string obj = "policy") : base(policy, obj) + public PolicyDetailResponseModel(PolicyData policy, bool canToggleState = true) : base(new Policy { - } - - public PolicyDetailResponseModel(Policy policy, bool canToggleState) : base(policy) + OrganizationId = policy.OrganizationId, + Data = policy.Data, + Enabled = policy.Enabled, + Type = policy.Type, + Id = Guid.Empty + }) { CanToggleState = canToggleState; } @@ -16,5 +20,5 @@ public class PolicyDetailResponseModel : PolicyResponseModel /// /// Indicates whether the Policy can be enabled/disabled /// - public bool CanToggleState { get; set; } = true; + public bool CanToggleState { get; set; } } diff --git a/test/Api.Test/AdminConsole/Models/Response/Helpers/PolicyDetailResponsesTests.cs b/test/Api.Test/AdminConsole/Models/Response/Helpers/PolicyDetailResponsesTests.cs index 9b863091db..4de2fef9ac 100644 --- a/test/Api.Test/AdminConsole/Models/Response/Helpers/PolicyDetailResponsesTests.cs +++ b/test/Api.Test/AdminConsole/Models/Response/Helpers/PolicyDetailResponsesTests.cs @@ -1,7 +1,7 @@ using AutoFixture; using Bit.Api.AdminConsole.Models.Response.Helpers; -using Bit.Core.AdminConsole.Entities; using Bit.Core.AdminConsole.Enums; +using Bit.Core.AdminConsole.Models.Data.Organizations.Policies; using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationDomains.Interfaces; using NSubstitute; using Xunit; @@ -19,7 +19,7 @@ public class PolicyDetailResponsesTests { var fixture = new Fixture(); - var policy = fixture.Build() + var policy = fixture.Build() .Without(p => p.Data) .With(p => p.Type, PolicyType.SingleOrg) .With(p => p.Enabled, policyEnabled) @@ -39,7 +39,7 @@ public class PolicyDetailResponsesTests { var fixture = new Fixture(); - var policy = fixture.Build() + var policy = fixture.Build() .Without(p => p.Data) .With(p => p.Type, PolicyType.TwoFactorAuthentication) .Create(); @@ -58,7 +58,7 @@ public class PolicyDetailResponsesTests { var fixture = new Fixture(); - var policy = fixture.Build() + var policy = fixture.Build() .Without(p => p.Data) .With(p => p.Type, PolicyType.SingleOrg) .Create();