mirror of
https://github.com/bitwarden/server.git
synced 2025-07-15 06:37:54 -05:00
[PM-13837] Switch provider price IDs (#5518)
* Add ProviderPriceAdapter This is a temporary utility that will be used to manage retrieval of provider price IDs until all providers can be migrated to the new price structure. * Updated ProviderBillingService.ChangePlan * Update ProviderBillingService.SetupSubscription * Update ProviderBillingService.UpdateSeatMinimums * Update ProviderBillingService.CurrySeatScalingUpdate * Mark StripeProviderPortalSeatPlanId obsolete * Run dotnet format
This commit is contained in:
@ -1,62 +0,0 @@
|
||||
using Bit.Core.Billing;
|
||||
using Bit.Core.Billing.Enums;
|
||||
using Bit.Core.Billing.Extensions;
|
||||
using Stripe;
|
||||
using Plan = Bit.Core.Models.StaticStore.Plan;
|
||||
|
||||
namespace Bit.Core.Models.Business;
|
||||
|
||||
public class ProviderSubscriptionUpdate : SubscriptionUpdate
|
||||
{
|
||||
private readonly string _planId;
|
||||
private readonly int _previouslyPurchasedSeats;
|
||||
private readonly int _newlyPurchasedSeats;
|
||||
|
||||
protected override List<string> PlanIds => [_planId];
|
||||
|
||||
public ProviderSubscriptionUpdate(
|
||||
Plan plan,
|
||||
int previouslyPurchasedSeats,
|
||||
int newlyPurchasedSeats)
|
||||
{
|
||||
if (!plan.Type.SupportsConsolidatedBilling())
|
||||
{
|
||||
throw new BillingException(
|
||||
message: $"Cannot create a {nameof(ProviderSubscriptionUpdate)} for {nameof(PlanType)} that doesn't support consolidated billing");
|
||||
}
|
||||
|
||||
_planId = plan.PasswordManager.StripeProviderPortalSeatPlanId;
|
||||
_previouslyPurchasedSeats = previouslyPurchasedSeats;
|
||||
_newlyPurchasedSeats = newlyPurchasedSeats;
|
||||
}
|
||||
|
||||
public override List<SubscriptionItemOptions> RevertItemsOptions(Subscription subscription)
|
||||
{
|
||||
var subscriptionItem = FindSubscriptionItem(subscription, _planId);
|
||||
|
||||
return
|
||||
[
|
||||
new SubscriptionItemOptions
|
||||
{
|
||||
Id = subscriptionItem.Id,
|
||||
Price = _planId,
|
||||
Quantity = _previouslyPurchasedSeats
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
public override List<SubscriptionItemOptions> UpgradeItemsOptions(Subscription subscription)
|
||||
{
|
||||
var subscriptionItem = FindSubscriptionItem(subscription, _planId);
|
||||
|
||||
return
|
||||
[
|
||||
new SubscriptionItemOptions
|
||||
{
|
||||
Id = subscriptionItem.Id,
|
||||
Price = _planId,
|
||||
Quantity = _newlyPurchasedSeats
|
||||
}
|
||||
];
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user