mirror of
https://github.com/bitwarden/server
synced 2025-12-23 03:33:35 +00:00
Add helpers to further type PlanTypes
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using Bit.Core.Models.Table;
|
||||
|
||||
namespace Bit.Core.Enums
|
||||
{
|
||||
@@ -29,4 +31,24 @@ namespace Bit.Core.Enums
|
||||
[Display(Name = "Enterprise (Annually)")]
|
||||
EnterpriseAnnually= 11,
|
||||
}
|
||||
|
||||
public static class PlanTypeHelper
|
||||
{
|
||||
private static readonly PlanType[] _freePlans = new[] { PlanType.Free };
|
||||
private static readonly PlanType[] _familiesPlans = new[] { PlanType.FamiliesAnnually, PlanType.FamiliesAnnually2019 };
|
||||
private static readonly PlanType[] _teamsPlans = new[] { PlanType.TeamsAnnually, PlanType.TeamsAnnually2019,
|
||||
PlanType.TeamsMonthly, PlanType.TeamsMonthly2019};
|
||||
private static readonly PlanType[] _enterprisePlans = new[] { PlanType.EnterpriseAnnually,
|
||||
PlanType.EnterpriseAnnually2019, PlanType.EnterpriseMonthly, PlanType.EnterpriseMonthly2019 };
|
||||
|
||||
private static bool HasPlan(PlanType[] planTypes, PlanType planType) => planTypes.Any(p => p == planType);
|
||||
public static bool HasFreePlan(Organization org) => IsFree(org.PlanType);
|
||||
public static bool IsFree(PlanType planType) => HasPlan(_freePlans, planType);
|
||||
public static bool HasFamiliesPlan(Organization org) => IsFamilies(org.PlanType);
|
||||
public static bool IsFamilies(PlanType planType) => HasPlan(_familiesPlans, planType);
|
||||
public static bool HasTeamsPlan(Organization org) => IsTeams(org.PlanType);
|
||||
public static bool IsTeams(PlanType planType) => HasPlan(_teamsPlans, planType);
|
||||
public static bool HasEnterprisePlan(Organization org) => IsEnterprise(org.PlanType);
|
||||
public static bool IsEnterprise(PlanType planType) => HasPlan(_enterprisePlans, planType);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user