[MM-47566] Add upcominginvoice field to Subscription type (#21717)
* Add upcominginvoice field to Subscription type * Add support for fetching upcoming invoices * Put back upcominginvoice Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
@@ -39,7 +39,7 @@ func (api *API) InitCloud() {
|
|||||||
// GET /api/v4/cloud/subscription
|
// GET /api/v4/cloud/subscription
|
||||||
api.BaseRoutes.Cloud.Handle("/subscription", api.APISessionRequired(getSubscription)).Methods("GET")
|
api.BaseRoutes.Cloud.Handle("/subscription", api.APISessionRequired(getSubscription)).Methods("GET")
|
||||||
api.BaseRoutes.Cloud.Handle("/subscription/invoices", api.APISessionRequired(getInvoicesForSubscription)).Methods("GET")
|
api.BaseRoutes.Cloud.Handle("/subscription/invoices", api.APISessionRequired(getInvoicesForSubscription)).Methods("GET")
|
||||||
api.BaseRoutes.Cloud.Handle("/subscription/invoices/{invoice_id:in_[A-Za-z0-9]+}/pdf", api.APISessionRequired(getSubscriptionInvoicePDF)).Methods("GET")
|
api.BaseRoutes.Cloud.Handle("/subscription/invoices/{invoice_id:[A-Za-z0-9]+}/pdf", api.APISessionRequired(getSubscriptionInvoicePDF)).Methods("GET")
|
||||||
api.BaseRoutes.Cloud.Handle("/subscription", api.APISessionRequired(changeSubscription)).Methods("PUT")
|
api.BaseRoutes.Cloud.Handle("/subscription", api.APISessionRequired(changeSubscription)).Methods("PUT")
|
||||||
|
|
||||||
// GET /api/v4/cloud/request-trial
|
// GET /api/v4/cloud/request-trial
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ const (
|
|||||||
EventTypeTriggerDelinquencyEmail = "trigger-delinquency-email"
|
EventTypeTriggerDelinquencyEmail = "trigger-delinquency-email"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const UpcomingInvoice = "upcoming"
|
||||||
|
|
||||||
var MockCWS string
|
var MockCWS string
|
||||||
|
|
||||||
type BillingScheme string
|
type BillingScheme string
|
||||||
@@ -152,6 +154,7 @@ type Subscription struct {
|
|||||||
DNS string `json:"dns"`
|
DNS string `json:"dns"`
|
||||||
IsPaidTier string `json:"is_paid_tier"`
|
IsPaidTier string `json:"is_paid_tier"`
|
||||||
LastInvoice *Invoice `json:"last_invoice"`
|
LastInvoice *Invoice `json:"last_invoice"`
|
||||||
|
UpcomingInvoice *Invoice `json:"upcoming_invoice"`
|
||||||
IsFreeTrial string `json:"is_free_trial"`
|
IsFreeTrial string `json:"is_free_trial"`
|
||||||
TrialEndAt int64 `json:"trial_end_at"`
|
TrialEndAt int64 `json:"trial_end_at"`
|
||||||
DelinquentSince *int64 `json:"delinquent_since"`
|
DelinquentSince *int64 `json:"delinquent_since"`
|
||||||
|
|||||||
@@ -743,7 +743,7 @@ func (c *Context) RequireInvoiceId() *Context {
|
|||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(c.Params.InvoiceId) != 27 {
|
if len(c.Params.InvoiceId) != 27 && c.Params.InvoiceId != model.UpcomingInvoice {
|
||||||
c.SetInvalidURLParam("invoice_id")
|
c.SetInvalidURLParam("invoice_id")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user