mirror of
https://github.com/bitwarden/server.git
synced 2025-06-07 03:30:32 -05:00
[PM-21603]Invite Member sub text seat count does not account for sponsorships (#5889)
* Add Occupied Seats at part metadata * resolve the failing test Signed-off-by: Cy Okeke <cokeke@bitwarden.com> --------- Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
This commit is contained in:
parent
930fe29c82
commit
5972ac147e
@ -12,7 +12,8 @@ public record OrganizationMetadataResponse(
|
|||||||
bool IsSubscriptionCanceled,
|
bool IsSubscriptionCanceled,
|
||||||
DateTime? InvoiceDueDate,
|
DateTime? InvoiceDueDate,
|
||||||
DateTime? InvoiceCreatedDate,
|
DateTime? InvoiceCreatedDate,
|
||||||
DateTime? SubPeriodEndDate)
|
DateTime? SubPeriodEndDate,
|
||||||
|
int OrganizationOccupiedSeats)
|
||||||
{
|
{
|
||||||
public static OrganizationMetadataResponse From(OrganizationMetadata metadata)
|
public static OrganizationMetadataResponse From(OrganizationMetadata metadata)
|
||||||
=> new(
|
=> new(
|
||||||
@ -25,5 +26,6 @@ public record OrganizationMetadataResponse(
|
|||||||
metadata.IsSubscriptionCanceled,
|
metadata.IsSubscriptionCanceled,
|
||||||
metadata.InvoiceDueDate,
|
metadata.InvoiceDueDate,
|
||||||
metadata.InvoiceCreatedDate,
|
metadata.InvoiceCreatedDate,
|
||||||
metadata.SubPeriodEndDate);
|
metadata.SubPeriodEndDate,
|
||||||
|
metadata.OrganizationOccupiedSeats);
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,8 @@ public record OrganizationMetadata(
|
|||||||
bool IsSubscriptionCanceled,
|
bool IsSubscriptionCanceled,
|
||||||
DateTime? InvoiceDueDate,
|
DateTime? InvoiceDueDate,
|
||||||
DateTime? InvoiceCreatedDate,
|
DateTime? InvoiceCreatedDate,
|
||||||
DateTime? SubPeriodEndDate)
|
DateTime? SubPeriodEndDate,
|
||||||
|
int OrganizationOccupiedSeats)
|
||||||
{
|
{
|
||||||
public static OrganizationMetadata Default => new OrganizationMetadata(
|
public static OrganizationMetadata Default => new OrganizationMetadata(
|
||||||
false,
|
false,
|
||||||
@ -22,5 +23,6 @@ public record OrganizationMetadata(
|
|||||||
false,
|
false,
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
null);
|
null,
|
||||||
|
0);
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@ public class OrganizationBillingService(
|
|||||||
IGlobalSettings globalSettings,
|
IGlobalSettings globalSettings,
|
||||||
ILogger<OrganizationBillingService> logger,
|
ILogger<OrganizationBillingService> logger,
|
||||||
IOrganizationRepository organizationRepository,
|
IOrganizationRepository organizationRepository,
|
||||||
|
IOrganizationUserRepository organizationUserRepository,
|
||||||
IPricingClient pricingClient,
|
IPricingClient pricingClient,
|
||||||
ISetupIntentCache setupIntentCache,
|
ISetupIntentCache setupIntentCache,
|
||||||
IStripeAdapter stripeAdapter,
|
IStripeAdapter stripeAdapter,
|
||||||
@ -107,6 +108,8 @@ public class OrganizationBillingService(
|
|||||||
? await stripeAdapter.InvoiceGetAsync(subscription.LatestInvoiceId, new InvoiceGetOptions())
|
? await stripeAdapter.InvoiceGetAsync(subscription.LatestInvoiceId, new InvoiceGetOptions())
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
|
var orgOccupiedSeats = await organizationUserRepository.GetOccupiedSeatCountByOrganizationIdAsync(organization.Id);
|
||||||
|
|
||||||
return new OrganizationMetadata(
|
return new OrganizationMetadata(
|
||||||
isEligibleForSelfHost,
|
isEligibleForSelfHost,
|
||||||
isManaged,
|
isManaged,
|
||||||
@ -117,7 +120,8 @@ public class OrganizationBillingService(
|
|||||||
subscription.Status == StripeConstants.SubscriptionStatus.Canceled,
|
subscription.Status == StripeConstants.SubscriptionStatus.Canceled,
|
||||||
invoice?.DueDate,
|
invoice?.DueDate,
|
||||||
invoice?.Created,
|
invoice?.Created,
|
||||||
subscription.CurrentPeriodEnd);
|
subscription.CurrentPeriodEnd,
|
||||||
|
orgOccupiedSeats);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task
|
public async Task
|
||||||
|
@ -52,7 +52,7 @@ public class OrganizationBillingControllerTests
|
|||||||
{
|
{
|
||||||
sutProvider.GetDependency<ICurrentContext>().OrganizationUser(organizationId).Returns(true);
|
sutProvider.GetDependency<ICurrentContext>().OrganizationUser(organizationId).Returns(true);
|
||||||
sutProvider.GetDependency<IOrganizationBillingService>().GetMetadata(organizationId)
|
sutProvider.GetDependency<IOrganizationBillingService>().GetMetadata(organizationId)
|
||||||
.Returns(new OrganizationMetadata(true, true, true, true, true, true, true, null, null, null));
|
.Returns(new OrganizationMetadata(true, true, true, true, true, true, true, null, null, null, 0));
|
||||||
|
|
||||||
var result = await sutProvider.Sut.GetMetadataAsync(organizationId);
|
var result = await sutProvider.Sut.GetMetadataAsync(organizationId);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user