mirror of
https://github.com/bitwarden/server.git
synced 2025-07-06 02:22:49 -05:00
[PM-16684] Integrate Pricing Service behind FF (#5276)
* Remove gRPC and convert PricingClient to HttpClient wrapper * Add PlanType.GetProductTier extension Many instances of StaticStore use are just to get the ProductTierType of a PlanType, but this can be derived from the PlanType itself without having to fetch the entire plan. * Remove invocations of the StaticStore in non-Test code * Deprecate StaticStore entry points * Run dotnet format * Matt's feedback * Run dotnet format * Rui's feedback * Run dotnet format * Replacements since approval * Run dotnet format
This commit is contained in:
@ -1,24 +1,11 @@
|
||||
using Bit.Core.Billing.Entities;
|
||||
using Bit.Core.Billing.Enums;
|
||||
using Bit.Core.Models.StaticStore;
|
||||
|
||||
namespace Bit.Core.Billing.Models;
|
||||
|
||||
public record ConfiguredProviderPlan(
|
||||
Guid Id,
|
||||
Guid ProviderId,
|
||||
PlanType PlanType,
|
||||
Plan Plan,
|
||||
int SeatMinimum,
|
||||
int PurchasedSeats,
|
||||
int AssignedSeats)
|
||||
{
|
||||
public static ConfiguredProviderPlan From(ProviderPlan providerPlan) =>
|
||||
providerPlan.IsConfigured()
|
||||
? new ConfiguredProviderPlan(
|
||||
providerPlan.Id,
|
||||
providerPlan.ProviderId,
|
||||
providerPlan.PlanType,
|
||||
providerPlan.SeatMinimum.GetValueOrDefault(0),
|
||||
providerPlan.PurchasedSeats.GetValueOrDefault(0),
|
||||
providerPlan.AllocatedSeats.GetValueOrDefault(0))
|
||||
: null;
|
||||
}
|
||||
int AssignedSeats);
|
||||
|
@ -10,4 +10,17 @@ public record OrganizationMetadata(
|
||||
bool IsSubscriptionCanceled,
|
||||
DateTime? InvoiceDueDate,
|
||||
DateTime? InvoiceCreatedDate,
|
||||
DateTime? SubPeriodEndDate);
|
||||
DateTime? SubPeriodEndDate)
|
||||
{
|
||||
public static OrganizationMetadata Default => new OrganizationMetadata(
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
null,
|
||||
null,
|
||||
null);
|
||||
}
|
||||
|
@ -76,8 +76,6 @@ public class OrganizationSale
|
||||
|
||||
private static SubscriptionSetup GetSubscriptionSetup(OrganizationUpgrade upgrade)
|
||||
{
|
||||
var plan = Core.Utilities.StaticStore.GetPlan(upgrade.Plan);
|
||||
|
||||
var passwordManagerOptions = new SubscriptionSetup.PasswordManager
|
||||
{
|
||||
Seats = upgrade.AdditionalSeats,
|
||||
@ -95,7 +93,7 @@ public class OrganizationSale
|
||||
|
||||
return new SubscriptionSetup
|
||||
{
|
||||
Plan = plan,
|
||||
PlanType = upgrade.Plan,
|
||||
PasswordManagerOptions = passwordManagerOptions,
|
||||
SecretsManagerOptions = secretsManagerOptions
|
||||
};
|
||||
|
@ -1,4 +1,4 @@
|
||||
using Bit.Core.Models.StaticStore;
|
||||
using Bit.Core.Billing.Enums;
|
||||
|
||||
namespace Bit.Core.Billing.Models.Sales;
|
||||
|
||||
@ -6,7 +6,7 @@ namespace Bit.Core.Billing.Models.Sales;
|
||||
|
||||
public class SubscriptionSetup
|
||||
{
|
||||
public required Plan Plan { get; set; }
|
||||
public required PlanType PlanType { get; set; }
|
||||
public required PasswordManager PasswordManagerOptions { get; set; }
|
||||
public SecretsManager? SecretsManagerOptions { get; set; }
|
||||
public bool SkipTrial = false;
|
||||
|
Reference in New Issue
Block a user