2024-06-14 15:34:47 -04:00
|
|
|
|
using Bit.Core.Billing.Enums;
|
|
|
|
|
|
using Bit.Core.Models.StaticStore;
|
2023-10-17 15:56:35 +01:00
|
|
|
|
|
2025-11-19 09:53:30 -06:00
|
|
|
|
namespace Bit.Core.Test.Billing.Mocks.Plans;
|
2023-10-17 15:56:35 +01:00
|
|
|
|
|
2024-06-14 15:34:47 -04:00
|
|
|
|
public record FreePlan : Plan
|
2023-10-17 15:56:35 +01:00
|
|
|
|
{
|
|
|
|
|
|
public FreePlan()
|
|
|
|
|
|
{
|
|
|
|
|
|
Type = PlanType.Free;
|
2024-06-14 15:34:47 -04:00
|
|
|
|
ProductTier = ProductTierType.Free;
|
2023-10-17 15:56:35 +01:00
|
|
|
|
Name = "Free";
|
|
|
|
|
|
NameLocalizationKey = "planNameFree";
|
|
|
|
|
|
DescriptionLocalizationKey = "planDescFree";
|
|
|
|
|
|
|
|
|
|
|
|
UpgradeSortOrder = -1; // Always the lowest plan, cannot be upgraded to
|
|
|
|
|
|
DisplaySortOrder = -1;
|
|
|
|
|
|
|
|
|
|
|
|
PasswordManager = new FreePasswordManagerFeatures();
|
|
|
|
|
|
SecretsManager = new FreeSecretsManagerFeatures();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private record FreeSecretsManagerFeatures : SecretsManagerPlanFeatures
|
|
|
|
|
|
{
|
|
|
|
|
|
public FreeSecretsManagerFeatures()
|
|
|
|
|
|
{
|
|
|
|
|
|
BaseSeats = 2;
|
|
|
|
|
|
BaseServiceAccount = 3;
|
|
|
|
|
|
MaxProjects = 3;
|
|
|
|
|
|
MaxSeats = 2;
|
|
|
|
|
|
MaxServiceAccounts = 3;
|
|
|
|
|
|
|
|
|
|
|
|
AllowSeatAutoscale = false;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private record FreePasswordManagerFeatures : PasswordManagerPlanFeatures
|
|
|
|
|
|
{
|
|
|
|
|
|
public FreePasswordManagerFeatures()
|
|
|
|
|
|
{
|
|
|
|
|
|
BaseSeats = 2;
|
|
|
|
|
|
MaxCollections = 2;
|
|
|
|
|
|
MaxSeats = 2;
|
|
|
|
|
|
|
|
|
|
|
|
AllowSeatAutoscale = false;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|