diff --git a/api4/cloud.go b/api4/cloud.go index 0930059354..4537a0ef15 100644 --- a/api4/cloud.go +++ b/api4/cloud.go @@ -138,7 +138,10 @@ func getCloudProducts(c *Context, w http.ResponseWriter, r *http.Request) { return } - products, err := c.App.Cloud().GetCloudProducts(c.AppContext.Session().UserId) + includeLegacyProducts := r.URL.Query().Get("include_legacy") == "true" + + products, err := c.App.Cloud().GetCloudProducts(c.AppContext.Session().UserId, includeLegacyProducts) + if err != nil { c.Err = model.NewAppError("Api4.getCloudProducts", "api.cloud.request_error", nil, err.Error(), http.StatusInternalServerError) return diff --git a/einterfaces/cloud.go b/einterfaces/cloud.go index e07590c5fb..e1119d1569 100644 --- a/einterfaces/cloud.go +++ b/einterfaces/cloud.go @@ -8,7 +8,7 @@ import ( ) type CloudInterface interface { - GetCloudProducts(userID string) ([]*model.Product, error) + GetCloudProducts(userID string, includeLegacyProducts bool) ([]*model.Product, error) CreateCustomerPayment(userID string) (*model.StripeSetupIntent, error) ConfirmCustomerPayment(userID string, confirmRequest *model.ConfirmPaymentMethodRequest) error diff --git a/einterfaces/mocks/CloudInterface.go b/einterfaces/mocks/CloudInterface.go index 1796b51371..5327ffb4bd 100644 --- a/einterfaces/mocks/CloudInterface.go +++ b/einterfaces/mocks/CloudInterface.go @@ -97,13 +97,13 @@ func (_m *CloudInterface) GetCloudCustomer(userID string) (*model.CloudCustomer, return r0, r1 } -// GetCloudProducts provides a mock function with given fields: userID -func (_m *CloudInterface) GetCloudProducts(userID string) ([]*model.Product, error) { - ret := _m.Called(userID) +// GetCloudProducts provides a mock function with given fields: userID, includeLegacyProducts +func (_m *CloudInterface) GetCloudProducts(userID string, includeLegacyProducts bool) ([]*model.Product, error) { + ret := _m.Called(userID, includeLegacyProducts) var r0 []*model.Product - if rf, ok := ret.Get(0).(func(string) []*model.Product); ok { - r0 = rf(userID) + if rf, ok := ret.Get(0).(func(string, bool) []*model.Product); ok { + r0 = rf(userID, includeLegacyProducts) } else { if ret.Get(0) != nil { r0 = ret.Get(0).([]*model.Product) @@ -111,8 +111,8 @@ func (_m *CloudInterface) GetCloudProducts(userID string) ([]*model.Product, err } var r1 error - if rf, ok := ret.Get(1).(func(string) error); ok { - r1 = rf(userID) + if rf, ok := ret.Get(1).(func(string, bool) error); ok { + r1 = rf(userID, includeLegacyProducts) } else { r1 = ret.Error(1) }