1
0
mirror of https://github.com/bitwarden/server synced 2025-12-18 09:13:19 +00:00

Added percent off to discount, removed discount from user sub (#3326)

This commit is contained in:
Alex Morask
2023-10-23 10:02:02 -04:00
committed by GitHub
parent d7c544a116
commit 19e2215376
4 changed files with 10 additions and 8 deletions

View File

@@ -112,7 +112,7 @@ public class OrganizationSubscriptionResponseModel : OrganizationResponseModel
{ {
Subscription = subscription.Subscription != null ? new BillingSubscription(subscription.Subscription) : null; Subscription = subscription.Subscription != null ? new BillingSubscription(subscription.Subscription) : null;
UpcomingInvoice = subscription.UpcomingInvoice != null ? new BillingSubscriptionUpcomingInvoice(subscription.UpcomingInvoice) : null; UpcomingInvoice = subscription.UpcomingInvoice != null ? new BillingSubscriptionUpcomingInvoice(subscription.UpcomingInvoice) : null;
Discount = subscription.Discount != null ? new BillingCustomerDiscount(subscription.Discount) : null; CustomerDiscount = subscription.CustomerDiscount != null ? new BillingCustomerDiscount(subscription.CustomerDiscount) : null;
Expiration = DateTime.UtcNow.AddYears(1); // Not used, so just give it a value. Expiration = DateTime.UtcNow.AddYears(1); // Not used, so just give it a value.
if (hideSensitiveData) if (hideSensitiveData)
@@ -143,7 +143,7 @@ public class OrganizationSubscriptionResponseModel : OrganizationResponseModel
public string StorageName { get; set; } public string StorageName { get; set; }
public double? StorageGb { get; set; } public double? StorageGb { get; set; }
public BillingCustomerDiscount Discount { get; set; } public BillingCustomerDiscount CustomerDiscount { get; set; }
public BillingSubscription Subscription { get; set; } public BillingSubscription Subscription { get; set; }
public BillingSubscriptionUpcomingInvoice UpcomingInvoice { get; set; } public BillingSubscriptionUpcomingInvoice UpcomingInvoice { get; set; }

View File

@@ -13,7 +13,6 @@ public class SubscriptionResponseModel : ResponseModel
Subscription = subscription.Subscription != null ? new BillingSubscription(subscription.Subscription) : null; Subscription = subscription.Subscription != null ? new BillingSubscription(subscription.Subscription) : null;
UpcomingInvoice = subscription.UpcomingInvoice != null ? UpcomingInvoice = subscription.UpcomingInvoice != null ?
new BillingSubscriptionUpcomingInvoice(subscription.UpcomingInvoice) : null; new BillingSubscriptionUpcomingInvoice(subscription.UpcomingInvoice) : null;
Discount = subscription.Discount != null ? new BillingCustomerDiscount(subscription.Discount) : null;
StorageName = user.Storage.HasValue ? CoreHelpers.ReadableBytesSize(user.Storage.Value) : null; StorageName = user.Storage.HasValue ? CoreHelpers.ReadableBytesSize(user.Storage.Value) : null;
StorageGb = user.Storage.HasValue ? Math.Round(user.Storage.Value / 1073741824D, 2) : 0; // 1 GB StorageGb = user.Storage.HasValue ? Math.Round(user.Storage.Value / 1073741824D, 2) : 0; // 1 GB
MaxStorageGb = user.MaxStorageGb; MaxStorageGb = user.MaxStorageGb;
@@ -41,7 +40,6 @@ public class SubscriptionResponseModel : ResponseModel
public short? MaxStorageGb { get; set; } public short? MaxStorageGb { get; set; }
public BillingSubscriptionUpcomingInvoice UpcomingInvoice { get; set; } public BillingSubscriptionUpcomingInvoice UpcomingInvoice { get; set; }
public BillingSubscription Subscription { get; set; } public BillingSubscription Subscription { get; set; }
public BillingCustomerDiscount Discount { get; set; }
public UserLicense License { get; set; } public UserLicense License { get; set; }
public DateTime? Expiration { get; set; } public DateTime? Expiration { get; set; }
public bool UsingInAppPurchase { get; set; } public bool UsingInAppPurchase { get; set; }
@@ -53,10 +51,12 @@ public class BillingCustomerDiscount
{ {
Id = discount.Id; Id = discount.Id;
Active = discount.Active; Active = discount.Active;
PercentOff = discount.PercentOff;
} }
public string Id { get; set; } public string Id { get; }
public bool Active { get; set; } public bool Active { get; }
public decimal? PercentOff { get; }
} }
public class BillingSubscription public class BillingSubscription

View File

@@ -4,7 +4,7 @@ namespace Bit.Core.Models.Business;
public class SubscriptionInfo public class SubscriptionInfo
{ {
public BillingCustomerDiscount Discount { get; set; } public BillingCustomerDiscount CustomerDiscount { get; set; }
public BillingSubscription Subscription { get; set; } public BillingSubscription Subscription { get; set; }
public BillingUpcomingInvoice UpcomingInvoice { get; set; } public BillingUpcomingInvoice UpcomingInvoice { get; set; }
public bool UsingInAppPurchase { get; set; } public bool UsingInAppPurchase { get; set; }
@@ -17,10 +17,12 @@ public class SubscriptionInfo
{ {
Id = discount.Id; Id = discount.Id;
Active = discount.Start != null && discount.End == null; Active = discount.Start != null && discount.End == null;
PercentOff = discount.Coupon?.PercentOff;
} }
public string Id { get; } public string Id { get; }
public bool Active { get; } public bool Active { get; }
public decimal? PercentOff { get; }
} }
public class BillingSubscription public class BillingSubscription

View File

@@ -1568,7 +1568,7 @@ public class StripePaymentService : IPaymentService
if (customer.Discount != null) if (customer.Discount != null)
{ {
subscriptionInfo.Discount = new SubscriptionInfo.BillingCustomerDiscount(customer.Discount); subscriptionInfo.CustomerDiscount = new SubscriptionInfo.BillingCustomerDiscount(customer.Discount);
} }
if (subscriber.IsUser()) if (subscriber.IsUser())