[MM-45580] Send deliquency since to end users and allow new notify admin request

Этот коммит содержится в:
Said Atrahouch
2022-09-12 17:39:17 +02:00
родитель e14fd1d955
Коммит 10ae097589
3 изменённых файлов: 47 добавлений и 40 удалений

Просмотреть файл

@@ -67,20 +67,21 @@ func getSubscription(c *Context, w http.ResponseWriter, r *http.Request) {
// if it is an end user, return basic subscription data without sensitive information
if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionSysconsoleReadBilling) {
subscription = &model.Subscription{
ID: subscription.ID,
ProductID: subscription.ProductID,
IsFreeTrial: subscription.IsFreeTrial,
TrialEndAt: subscription.TrialEndAt,
CustomerID: "",
AddOns: []string{},
StartAt: 0,
EndAt: 0,
CreateAt: 0,
Seats: 0,
Status: "",
DNS: "",
IsPaidTier: "",
LastInvoice: &model.Invoice{},
ID: subscription.ID,
ProductID: subscription.ProductID,
IsFreeTrial: subscription.IsFreeTrial,
TrialEndAt: subscription.TrialEndAt,
CustomerID: "",
AddOns: []string{},
StartAt: 0,
EndAt: 0,
CreateAt: 0,
Seats: 0,
Status: "",
DNS: "",
IsPaidTier: "",
LastInvoice: &model.Invoice{},
DelinquentSince: subscription.DelinquentSince,
}
}

Просмотреть файл

@@ -111,36 +111,40 @@ func Test_getCloudLimits(t *testing.T) {
}
func Test_GetSubscription(t *testing.T) {
deliquencySince := int64(2000000000)
subscription := &model.Subscription{
ID: "MySubscriptionID",
CustomerID: "MyCustomer",
ProductID: "SomeProductId",
AddOns: []string{},
StartAt: 1000000000,
EndAt: 2000000000,
CreateAt: 1000000000,
Seats: 10,
IsFreeTrial: "true",
DNS: "some.dns.server",
IsPaidTier: "false",
TrialEndAt: 2000000000,
LastInvoice: &model.Invoice{},
ID: "MySubscriptionID",
CustomerID: "MyCustomer",
ProductID: "SomeProductId",
AddOns: []string{},
StartAt: 1000000000,
EndAt: 2000000000,
CreateAt: 1000000000,
Seats: 10,
IsFreeTrial: "true",
DNS: "some.dns.server",
IsPaidTier: "false",
TrialEndAt: 2000000000,
LastInvoice: &model.Invoice{},
DelinquentSince: &deliquencySince,
}
userFacingSubscription := &model.Subscription{
ID: "MySubscriptionID",
CustomerID: "",
ProductID: "SomeProductId",
AddOns: []string{},
StartAt: 0,
EndAt: 0,
CreateAt: 0,
Seats: 0,
IsFreeTrial: "true",
DNS: "",
IsPaidTier: "",
TrialEndAt: 2000000000,
LastInvoice: &model.Invoice{},
ID: "MySubscriptionID",
CustomerID: "",
ProductID: "SomeProductId",
AddOns: []string{},
StartAt: 0,
EndAt: 0,
CreateAt: 0,
Seats: 0,
IsFreeTrial: "true",
DNS: "",
IsPaidTier: "",
TrialEndAt: 2000000000,
LastInvoice: &model.Invoice{},
DelinquentSince: &deliquencySince,
}
t.Run("NON Admin users receive the user facing subscription", func(t *testing.T) {

Просмотреть файл

@@ -22,6 +22,7 @@ const (
PaidFeatureUnlimitedBoardcards = MattermostPaidFeature("mattermost.feature.unlimited_board_cards")
PaidFeatureAllProfessionalfeatures = MattermostPaidFeature("mattermost.feature.all_professional")
PaidFeatureAllEnterprisefeatures = MattermostPaidFeature("mattermost.feature.all_enterprise")
UpgradeDowngradeWorkspace = MattermostPaidFeature("mattermost.feature.upgrade_downgrade_workspace")
)
var validSKUs map[string]struct{} = map[string]struct{}{
@@ -42,6 +43,7 @@ var paidFeatures map[MattermostPaidFeature]struct{} = map[MattermostPaidFeature]
PaidFeatureUnlimitedBoardcards: {},
PaidFeatureAllProfessionalfeatures: {},
PaidFeatureAllEnterprisefeatures: {},
UpgradeDowngradeWorkspace: {},
}
type NotifyAdminToUpgradeRequest struct {