Browse Source

[AC-1046] add browser autofill policy (#2751)

* [EC-1046] add browser autofill policy

* [AC-1046] check plan when activating policy

* [AC-1046] add useActivateAutofillPolicy to Organization response

* [AC-1046] add UseActivateAutofillPolicy to provider org response
pull/2800/head
Jake Fink 3 years ago committed by GitHub
parent
commit
e5aafe1c8b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      src/Api/Models/Response/ProfileOrganizationResponseModel.cs
  2. 2
      src/Api/Models/Response/ProfileProviderOrganizationResponseModel.cs
  3. 1
      src/Core/Enums/PolicyType.cs
  4. 16
      src/Core/Services/Implementations/PolicyService.cs

3
src/Api/Models/Response/ProfileOrganizationResponseModel.cs

@ -28,6 +28,8 @@ public class ProfileOrganizationResponseModel : ResponseModel @@ -28,6 +28,8 @@ public class ProfileOrganizationResponseModel : ResponseModel
UseSecretsManager = organization.UseSecretsManager;
UsersGetPremium = organization.UsersGetPremium;
UseCustomPermissions = organization.UseCustomPermissions;
UseActivateAutofillPolicy = organization.PlanType == PlanType.EnterpriseAnnually ||
organization.PlanType == PlanType.EnterpriseMonthly;
SelfHost = organization.SelfHost;
Seats = organization.Seats;
MaxCollections = organization.MaxCollections;
@ -78,6 +80,7 @@ public class ProfileOrganizationResponseModel : ResponseModel @@ -78,6 +80,7 @@ public class ProfileOrganizationResponseModel : ResponseModel
public bool UseSecretsManager { get; set; }
public bool UsersGetPremium { get; set; }
public bool UseCustomPermissions { get; set; }
public bool UseActivateAutofillPolicy { get; set; }
public bool SelfHost { get; set; }
public int? Seats { get; set; }
public short? MaxCollections { get; set; }

2
src/Api/Models/Response/ProfileProviderOrganizationResponseModel.cs

@ -24,6 +24,8 @@ public class ProfileProviderOrganizationResponseModel : ProfileOrganizationRespo @@ -24,6 +24,8 @@ public class ProfileProviderOrganizationResponseModel : ProfileOrganizationRespo
UseResetPassword = organization.UseResetPassword;
UsersGetPremium = organization.UsersGetPremium;
UseCustomPermissions = organization.UseCustomPermissions;
UseActivateAutofillPolicy = organization.PlanType == PlanType.EnterpriseAnnually ||
organization.PlanType == PlanType.EnterpriseMonthly;
SelfHost = organization.SelfHost;
Seats = organization.Seats;
MaxCollections = organization.MaxCollections;

1
src/Core/Enums/PolicyType.cs

@ -13,4 +13,5 @@ public enum PolicyType : byte @@ -13,4 +13,5 @@ public enum PolicyType : byte
ResetPassword = 8,
MaximumVaultTimeout = 9,
DisablePersonalVaultExport = 10,
ActivateAutofill = 11,
}

16
src/Core/Services/Implementations/PolicyService.cs

@ -73,6 +73,14 @@ public class PolicyService : IPolicyService @@ -73,6 +73,14 @@ public class PolicyService : IPolicyService
await DependsOnSingleOrgAsync(org);
}
break;
// Activate Autofill is only available to Enterprise 2020-current plans
case PolicyType.ActivateAutofill:
if (policy.Enabled)
{
LockedTo2020Plan(org);
}
break;
}
var now = DateTime.UtcNow;
@ -168,4 +176,12 @@ public class PolicyService : IPolicyService @@ -168,4 +176,12 @@ public class PolicyService : IPolicyService
throw new BadRequestException("Maximum Vault Timeout policy is enabled.");
}
}
private void LockedTo2020Plan(Organization org)
{
if (org.PlanType != PlanType.EnterpriseAnnually && org.PlanType != PlanType.EnterpriseMonthly)
{
throw new BadRequestException("This policy is only available to 2020 Enterprise plans.");
}
}
}

Loading…
Cancel
Save