1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-03 00:52:49 -05:00

Add autoscale to SSO auto provision (#1642)

This commit is contained in:
Matt Gibson
2021-10-19 07:00:44 -05:00
committed by GitHub
parent 86755e130c
commit 18006591fc
5 changed files with 48 additions and 12 deletions

View File

@ -679,7 +679,7 @@ namespace Bit.Core.Services
}
private async Task<string> FinalizeSubscriptionChangeAsync(IStorableSubscriber storableSubscriber,
SubscriptionUpdate subscriptionUpdate)
SubscriptionUpdate subscriptionUpdate, DateTime? prorationDate)
{
var sub = await _stripeAdapter.SubscriptionGetAsync(storableSubscriber.GatewaySubscriptionId);
if (sub == null)
@ -687,7 +687,7 @@ namespace Bit.Core.Services
throw new GatewayException("Subscription not found.");
}
var prorationDate = DateTime.UtcNow;
prorationDate ??= DateTime.UtcNow;
var collectionMethod = sub.CollectionMethod;
var daysUntilDue = sub.DaysUntilDue;
var chargeNow = collectionMethod == "charge_automatically";
@ -793,15 +793,15 @@ namespace Bit.Core.Services
return paymentIntentClientSecret;
}
public Task<string> AdjustSeatsAsync(Organization organization, StaticStore.Plan plan, int additionalSeats)
public Task<string> AdjustSeatsAsync(Organization organization, StaticStore.Plan plan, int additionalSeats, DateTime? prorationDate = null)
{
return FinalizeSubscriptionChangeAsync(organization, new SeatSubscriptionUpdate(organization, plan, additionalSeats));
return FinalizeSubscriptionChangeAsync(organization, new SeatSubscriptionUpdate(organization, plan, additionalSeats), prorationDate);
}
public Task<string> AdjustStorageAsync(IStorableSubscriber storableSubscriber, int additionalStorage,
string storagePlanId)
string storagePlanId, DateTime? prorationDate = null)
{
return FinalizeSubscriptionChangeAsync(storableSubscriber, new StorageSubscriptionUpdate(storagePlanId, additionalStorage));
return FinalizeSubscriptionChangeAsync(storableSubscriber, new StorageSubscriptionUpdate(storagePlanId, additionalStorage), prorationDate);
}
public async Task CancelAndRecoverChargesAsync(ISubscriber subscriber)