From 7a8c1f587b5c502f9eea83459f7c0cf92b5fe3c1 Mon Sep 17 00:00:00 2001 From: Nathaniel Allred Date: Tue, 28 Feb 2023 15:39:23 -0600 Subject: [PATCH] Mm 49495 Show past invoices for prior self-hosted purchases (#22397) * future proof license queries * add client method for fetching self-hosted invoices --- model/client4.go | 24 ++++++++++++++++++++++++ store/sqlstore/license_store.go | 6 +++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/model/client4.go b/model/client4.go index 1587df0e00..7a7742b957 100644 --- a/model/client4.go +++ b/model/client4.go @@ -8677,6 +8677,30 @@ func (c *Client4) SelfHostedSignupConfirm(form *SelfHostedConfirmPaymentMethodRe return BuildResponse(r), &response, nil } +func (c *Client4) GetSelfHostedInvoices() (*Response, []*Invoice, error) { + r, err := c.DoAPIGet(c.hostedCustomerRoute()+"/invoices", "") + + if err != nil { + return BuildResponse(r), nil, err + } + + data, err := io.ReadAll(r.Body) + if err != nil { + return BuildResponse(r), nil, err + } + defer closeBody(r) + + invoices := []*Invoice{} + err = json.Unmarshal(data, &invoices) + if err != nil { + return BuildResponse(r), nil, err + } + + defer closeBody(r) + + return BuildResponse(r), invoices, nil +} + func (c *Client4) GetPostInfo(postId string) (*PostInfo, *Response, error) { r, err := c.DoAPIGet(c.postRoute(postId)+"/info", "") if err != nil { diff --git a/store/sqlstore/license_store.go b/store/sqlstore/license_store.go index f85f889e52..479d81b793 100644 --- a/store/sqlstore/license_store.go +++ b/store/sqlstore/license_store.go @@ -33,7 +33,7 @@ func (ls SqlLicenseStore) Save(license *model.LicenseRecord) (*model.LicenseReco return nil, err } query := ls.getQueryBuilder(). - Select("*"). + Select("Id, CreateAt, Bytes"). From("Licenses"). Where(sq.Eq{"Id": license.Id}) queryString, args, err := query.ToSql() @@ -64,7 +64,7 @@ func (ls SqlLicenseStore) Save(license *model.LicenseRecord) (*model.LicenseReco // http.StatusNotFound in the StatusCode field. func (ls SqlLicenseStore) Get(id string) (*model.LicenseRecord, error) { query := ls.getQueryBuilder(). - Select("*"). + Select("Id, CreateAt, Bytes"). From("Licenses"). Where(sq.Eq{"Id": id}) @@ -82,7 +82,7 @@ func (ls SqlLicenseStore) Get(id string) (*model.LicenseRecord, error) { func (ls SqlLicenseStore) GetAll() ([]*model.LicenseRecord, error) { query := ls.getQueryBuilder(). - Select("*"). + Select("Id, CreateAt, Bytes"). From("Licenses") queryString, _, err := query.ToSql()