Skip to content

Commit cf6d0d1

Browse files
committed
Refactor SavePolicyModel to simplify constructor usage by removing EmptyMetadataModel parameter. Update related usages across the codebase to reflect the new constructor overloads.
1 parent f6d582f commit cf6d0d1

File tree

11 files changed

+55
-41
lines changed

11 files changed

+55
-41
lines changed

src/Core/AdminConsole/OrganizationFeatures/OrganizationDomains/VerifyOrganizationDomainCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ private async Task EnableSingleOrganizationPolicyAsync(Guid organizationId, IAct
146146

147147
if (featureService.IsEnabled(FeatureFlagKeys.PolicyValidatorsRefactor))
148148
{
149-
var savePolicyModel = new SavePolicyModel(policyUpdate, actingUser, new EmptyMetadataModel());
149+
var savePolicyModel = new SavePolicyModel(policyUpdate, actingUser);
150150
await vNextSavePolicyCommand.SaveAsync(savePolicyModel);
151151
}
152152
else

src/Core/AdminConsole/OrganizationFeatures/Policies/Models/SavePolicyModel.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,18 @@ namespace Bit.Core.AdminConsole.OrganizationFeatures.Policies.Models;
55

66
public record SavePolicyModel(PolicyUpdate PolicyUpdate, IActingUser? PerformedBy, IPolicyMetadataModel Metadata)
77
{
8+
public SavePolicyModel(PolicyUpdate PolicyUpdate)
9+
: this(PolicyUpdate, null, new EmptyMetadataModel())
10+
{
11+
}
12+
13+
public SavePolicyModel(PolicyUpdate PolicyUpdate, IActingUser performedBy)
14+
: this(PolicyUpdate, performedBy, new EmptyMetadataModel())
15+
{
16+
}
17+
18+
public SavePolicyModel(PolicyUpdate PolicyUpdate, IPolicyMetadataModel metadata)
19+
: this(PolicyUpdate, null, metadata)
20+
{
21+
}
822
}

src/Core/Auth/Services/Implementations/SsoConfigService.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,9 @@ public async Task SaveAsync(SsoConfig config, Organization organization)
100100
if (_featureService.IsEnabled(FeatureFlagKeys.PolicyValidatorsRefactor))
101101
{
102102
var performedBy = new SystemUser(EventSystemUser.Unknown);
103-
await _vNextSavePolicyCommand.SaveAsync(new SavePolicyModel(singleOrgPolicy, performedBy, new EmptyMetadataModel()));
104-
await _vNextSavePolicyCommand.SaveAsync(new SavePolicyModel(resetPasswordPolicy, performedBy, new EmptyMetadataModel()));
105-
await _vNextSavePolicyCommand.SaveAsync(new SavePolicyModel(requireSsoPolicy, performedBy, new EmptyMetadataModel()));
103+
await _vNextSavePolicyCommand.SaveAsync(new SavePolicyModel(singleOrgPolicy, performedBy));
104+
await _vNextSavePolicyCommand.SaveAsync(new SavePolicyModel(resetPasswordPolicy, performedBy));
105+
await _vNextSavePolicyCommand.SaveAsync(new SavePolicyModel(requireSsoPolicy, performedBy));
106106
}
107107
else
108108
{

test/Core.Test/AdminConsole/OrganizationFeatures/Policies/PolicyValidators/FreeFamiliesForEnterprisePolicyValidatorTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public async Task ExecutePreUpsertSideEffectAsync_DoesNotNotifyUserWhenPolicyDis
9292
.GetManyBySponsoringOrganizationAsync(policyUpdate.OrganizationId)
9393
.Returns(organizationSponsorships);
9494

95-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
95+
var savePolicyModel = new SavePolicyModel(policyUpdate);
9696

9797
await sutProvider.Sut.ExecutePreUpsertSideEffectAsync(savePolicyModel, policy);
9898

@@ -120,7 +120,7 @@ public async Task ExecutePreUpsertSideEffectAsync_DoesNotifyUserWhenPolicyEnable
120120
.GetManyBySponsoringOrganizationAsync(policyUpdate.OrganizationId)
121121
.Returns(organizationSponsorships);
122122

123-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
123+
var savePolicyModel = new SavePolicyModel(policyUpdate);
124124

125125
await sutProvider.Sut.ExecutePreUpsertSideEffectAsync(savePolicyModel, policy);
126126

test/Core.Test/AdminConsole/OrganizationFeatures/Policies/PolicyValidators/OrganizationDataOwnershipPolicyValidatorTests.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public async Task ExecuteSideEffectsAsync_FeatureFlagDisabled_DoesNothing(
3232
.IsEnabled(FeatureFlagKeys.CreateDefaultLocation)
3333
.Returns(false);
3434

35-
var policyRequest = new SavePolicyModel(policyUpdate, null, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
35+
var policyRequest = new SavePolicyModel(policyUpdate, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
3636

3737
// Act
3838
await sutProvider.Sut.ExecuteSideEffectsAsync(policyRequest, postUpdatedPolicy, previousPolicyState);
@@ -58,7 +58,7 @@ public async Task ExecuteSideEffectsAsync_PolicyAlreadyEnabled_DoesNothing(
5858
.IsEnabled(FeatureFlagKeys.CreateDefaultLocation)
5959
.Returns(true);
6060

61-
var policyRequest = new SavePolicyModel(policyUpdate, null, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
61+
var policyRequest = new SavePolicyModel(policyUpdate, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
6262

6363
// Act
6464
await sutProvider.Sut.ExecuteSideEffectsAsync(policyRequest, postUpdatedPolicy, previousPolicyState);
@@ -84,7 +84,7 @@ public async Task ExecuteSideEffectsAsync_PolicyBeingDisabled_DoesNothing(
8484
.IsEnabled(FeatureFlagKeys.CreateDefaultLocation)
8585
.Returns(true);
8686

87-
var policyRequest = new SavePolicyModel(policyUpdate, null, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
87+
var policyRequest = new SavePolicyModel(policyUpdate, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
8888

8989
// Act
9090
await sutProvider.Sut.ExecuteSideEffectsAsync(policyRequest, postUpdatedPolicy, previousPolicyState);
@@ -110,7 +110,7 @@ public async Task ExecuteSideEffectsAsync_WhenNoUsersExist_DoNothing(
110110
var collectionRepository = Substitute.For<ICollectionRepository>();
111111

112112
var sut = ArrangeSut(factory, policyRepository, collectionRepository);
113-
var policyRequest = new SavePolicyModel(policyUpdate, null, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
113+
var policyRequest = new SavePolicyModel(policyUpdate, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
114114

115115
// Act
116116
await sut.ExecuteSideEffectsAsync(policyRequest, postUpdatedPolicy, previousPolicyState);
@@ -199,7 +199,7 @@ public async Task ExecuteSideEffectsAsync_WithRequirements_ShouldUpsertDefaultCo
199199
var collectionRepository = Substitute.For<ICollectionRepository>();
200200

201201
var sut = ArrangeSut(factory, policyRepository, collectionRepository);
202-
var policyRequest = new SavePolicyModel(policyUpdate, null, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
202+
var policyRequest = new SavePolicyModel(policyUpdate, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
203203

204204
// Act
205205
await sut.ExecuteSideEffectsAsync(policyRequest, postUpdatedPolicy, previousPolicyState);
@@ -238,7 +238,7 @@ public async Task ExecuteSideEffectsAsync_WhenDefaultCollectionNameIsInvalid_Doe
238238
.IsEnabled(FeatureFlagKeys.CreateDefaultLocation)
239239
.Returns(true);
240240

241-
var policyRequest = new SavePolicyModel(policyUpdate, null, metadata);
241+
var policyRequest = new SavePolicyModel(policyUpdate, metadata);
242242

243243
// Act
244244
await sutProvider.Sut.ExecuteSideEffectsAsync(policyRequest, postUpdatedPolicy, previousPolicyState);
@@ -286,7 +286,7 @@ public async Task ExecutePostUpsertSideEffectAsync_FeatureFlagDisabled_DoesNothi
286286
.IsEnabled(FeatureFlagKeys.CreateDefaultLocation)
287287
.Returns(false);
288288

289-
var policyRequest = new SavePolicyModel(policyUpdate, null, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
289+
var policyRequest = new SavePolicyModel(policyUpdate, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
290290

291291
// Act
292292
await sutProvider.Sut.ExecutePostUpsertSideEffectAsync(policyRequest, postUpdatedPolicy, previousPolicyState);
@@ -312,7 +312,7 @@ public async Task ExecutePostUpsertSideEffectAsync_PolicyAlreadyEnabled_DoesNoth
312312
.IsEnabled(FeatureFlagKeys.CreateDefaultLocation)
313313
.Returns(true);
314314

315-
var policyRequest = new SavePolicyModel(policyUpdate, null, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
315+
var policyRequest = new SavePolicyModel(policyUpdate, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
316316

317317
// Act
318318
await sutProvider.Sut.ExecutePostUpsertSideEffectAsync(policyRequest, postUpdatedPolicy, previousPolicyState);
@@ -338,7 +338,7 @@ public async Task ExecutePostUpsertSideEffectAsync_PolicyBeingDisabled_DoesNothi
338338
.IsEnabled(FeatureFlagKeys.CreateDefaultLocation)
339339
.Returns(true);
340340

341-
var policyRequest = new SavePolicyModel(policyUpdate, null, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
341+
var policyRequest = new SavePolicyModel(policyUpdate, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
342342

343343
// Act
344344
await sutProvider.Sut.ExecutePostUpsertSideEffectAsync(policyRequest, postUpdatedPolicy, previousPolicyState);
@@ -364,7 +364,7 @@ public async Task ExecutePostUpsertSideEffectAsync_WhenNoUsersExist_DoNothing(
364364
var collectionRepository = Substitute.For<ICollectionRepository>();
365365

366366
var sut = ArrangeSut(factory, policyRepository, collectionRepository);
367-
var policyRequest = new SavePolicyModel(policyUpdate, null, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
367+
var policyRequest = new SavePolicyModel(policyUpdate, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
368368

369369
// Act
370370
await sut.ExecutePostUpsertSideEffectAsync(policyRequest, postUpdatedPolicy, previousPolicyState);
@@ -404,7 +404,7 @@ public async Task ExecutePostUpsertSideEffectAsync_WithRequirements_ShouldUpsert
404404
var collectionRepository = Substitute.For<ICollectionRepository>();
405405

406406
var sut = ArrangeSut(factory, policyRepository, collectionRepository);
407-
var policyRequest = new SavePolicyModel(policyUpdate, null, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
407+
var policyRequest = new SavePolicyModel(policyUpdate, new OrganizationModelOwnershipPolicyModel(_defaultUserCollectionName));
408408

409409
// Act
410410
await sut.ExecutePostUpsertSideEffectAsync(policyRequest, postUpdatedPolicy, previousPolicyState);
@@ -436,7 +436,7 @@ public async Task ExecutePostUpsertSideEffectAsync_WhenDefaultCollectionNameIsIn
436436
.IsEnabled(FeatureFlagKeys.CreateDefaultLocation)
437437
.Returns(true);
438438

439-
var policyRequest = new SavePolicyModel(policyUpdate, null, metadata);
439+
var policyRequest = new SavePolicyModel(policyUpdate, metadata);
440440

441441
// Act
442442
await sutProvider.Sut.ExecutePostUpsertSideEffectAsync(policyRequest, postUpdatedPolicy, previousPolicyState);

test/Core.Test/AdminConsole/OrganizationFeatures/Policies/PolicyValidators/RequireSsoPolicyValidatorTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public async Task ValidateAsync_WithSavePolicyModel_DisablingPolicy_KeyConnector
8888
.GetByOrganizationIdAsync(policyUpdate.OrganizationId)
8989
.Returns(ssoConfig);
9090

91-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
91+
var savePolicyModel = new SavePolicyModel(policyUpdate);
9292

9393
var result = await sutProvider.Sut.ValidateAsync(savePolicyModel, policy);
9494
Assert.Contains("Key Connector is enabled", result, StringComparison.OrdinalIgnoreCase);
@@ -109,7 +109,7 @@ public async Task ValidateAsync_WithSavePolicyModel_DisablingPolicy_TdeEnabled_V
109109
.GetByOrganizationIdAsync(policyUpdate.OrganizationId)
110110
.Returns(ssoConfig);
111111

112-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
112+
var savePolicyModel = new SavePolicyModel(policyUpdate);
113113

114114
var result = await sutProvider.Sut.ValidateAsync(savePolicyModel, policy);
115115
Assert.Contains("Trusted device encryption is on", result, StringComparison.OrdinalIgnoreCase);
@@ -129,7 +129,7 @@ public async Task ValidateAsync_WithSavePolicyModel_DisablingPolicy_DecryptionOp
129129
.GetByOrganizationIdAsync(policyUpdate.OrganizationId)
130130
.Returns(ssoConfig);
131131

132-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
132+
var savePolicyModel = new SavePolicyModel(policyUpdate);
133133

134134
var result = await sutProvider.Sut.ValidateAsync(savePolicyModel, policy);
135135
Assert.True(string.IsNullOrEmpty(result));

test/Core.Test/AdminConsole/OrganizationFeatures/Policies/PolicyValidators/ResetPasswordPolicyValidatorTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public async Task ValidateAsync_WithSavePolicyModel_DisablingPolicy_TdeEnabled_V
9494
.GetByOrganizationIdAsync(policyUpdate.OrganizationId)
9595
.Returns(ssoConfig);
9696

97-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
97+
var savePolicyModel = new SavePolicyModel(policyUpdate);
9898

9999
var result = await sutProvider.Sut.ValidateAsync(savePolicyModel, policy);
100100
Assert.Contains("Trusted device encryption is on and requires this policy.", result, StringComparison.OrdinalIgnoreCase);
@@ -118,7 +118,7 @@ public async Task ValidateAsync_WithSavePolicyModel_DisablingPolicy_TdeNotEnable
118118
.GetByOrganizationIdAsync(policyUpdate.OrganizationId)
119119
.Returns(ssoConfig);
120120

121-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
121+
var savePolicyModel = new SavePolicyModel(policyUpdate);
122122

123123
var result = await sutProvider.Sut.ValidateAsync(savePolicyModel, policy);
124124
Assert.True(string.IsNullOrEmpty(result));

test/Core.Test/AdminConsole/OrganizationFeatures/Policies/PolicyValidators/SingleOrgPolicyValidatorTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ public async Task ValidateAsync_WithSavePolicyModel_DisablingPolicy_KeyConnector
162162
.GetByOrganizationIdAsync(policyUpdate.OrganizationId)
163163
.Returns(ssoConfig);
164164

165-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
165+
var savePolicyModel = new SavePolicyModel(policyUpdate);
166166

167167
var result = await sutProvider.Sut.ValidateAsync(savePolicyModel, policy);
168168
Assert.Contains("Key Connector is enabled", result, StringComparison.OrdinalIgnoreCase);
@@ -186,7 +186,7 @@ public async Task ValidateAsync_WithSavePolicyModel_DisablingPolicy_KeyConnector
186186
.HasVerifiedDomainsAsync(policyUpdate.OrganizationId)
187187
.Returns(false);
188188

189-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
189+
var savePolicyModel = new SavePolicyModel(policyUpdate);
190190

191191
var result = await sutProvider.Sut.ValidateAsync(savePolicyModel, policy);
192192
Assert.True(string.IsNullOrEmpty(result));
@@ -256,7 +256,7 @@ public async Task ExecutePreUpsertSideEffectAsync_RevokesNonCompliantUsers(
256256
.RevokeNonCompliantOrganizationUsersAsync(Arg.Any<RevokeOrganizationUsersRequest>())
257257
.Returns(new CommandResult());
258258

259-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
259+
var savePolicyModel = new SavePolicyModel(policyUpdate);
260260

261261
await sutProvider.Sut.ExecutePreUpsertSideEffectAsync(savePolicyModel, policy);
262262

test/Core.Test/AdminConsole/OrganizationFeatures/Policies/PolicyValidators/TwoFactorAuthenticationPolicyValidatorTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ public async Task ExecutePreUpsertSideEffectAsync_GivenNonCompliantUsersWithoutM
169169
(orgUserDetailUserWithout2Fa, false),
170170
});
171171

172-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
172+
var savePolicyModel = new SavePolicyModel(policyUpdate);
173173

174174
var exception = await Assert.ThrowsAsync<BadRequestException>(() =>
175175
sutProvider.Sut.ExecutePreUpsertSideEffectAsync(savePolicyModel, policy));
@@ -228,7 +228,7 @@ public async Task ExecutePreUpsertSideEffectAsync_RevokesOnlyNonCompliantUsers(
228228
.RevokeNonCompliantOrganizationUsersAsync(Arg.Any<RevokeOrganizationUsersRequest>())
229229
.Returns(new CommandResult());
230230

231-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
231+
var savePolicyModel = new SavePolicyModel(policyUpdate);
232232

233233
// Act
234234
await sutProvider.Sut.ExecutePreUpsertSideEffectAsync(savePolicyModel, policy);

test/Core.Test/AdminConsole/OrganizationFeatures/Policies/SavePolicyCommandTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ public async Task VNextSaveAsync_OrganizationDataOwnershipPolicy_ExecutesPostSav
288288
{
289289
// Arrange
290290
var sutProvider = SutProviderFactory();
291-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
291+
var savePolicyModel = new SavePolicyModel(policyUpdate);
292292

293293
currentPolicy.OrganizationId = policyUpdate.OrganizationId;
294294
sutProvider.GetDependency<IPolicyRepository>()
@@ -332,7 +332,7 @@ public async Task VNextSaveAsync_NonOrganizationDataOwnershipPolicy_DoesNotExecu
332332

333333

334334
var sutProvider = SutProviderFactory();
335-
var savePolicyModel = new SavePolicyModel(policyUpdate, null, new EmptyMetadataModel());
335+
var savePolicyModel = new SavePolicyModel(policyUpdate);
336336

337337
sutProvider.GetDependency<IPolicyRepository>()
338338
.GetByOrganizationIdTypeAsync(policyUpdate.OrganizationId, policyUpdate.Type)

0 commit comments

Comments
 (0)