Skip to content

Commit

Permalink
Revert "Support customer scoped Activities and unscoped Activities [c… (
Browse files Browse the repository at this point in the history
#45)

* Revert "Support customer scoped Activities and unscoped Activities [ch30595] (#42)"

This reverts commit e06a2f7.

* Added go 1.6 in build matrix
  • Loading branch information
hassansin committed Jul 30, 2021
1 parent 4d1334a commit 938ecf7
Show file tree
Hide file tree
Showing 13 changed files with 106 additions and 335 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
go-versions: ['1.11', '1.12', '1.13', '1.14']
go-versions: ['1.11', '1.12', '1.13', '1.14', '1.16']
steps:
- uses: actions/checkout@v2

Expand Down
8 changes: 0 additions & 8 deletions 2.0-Upgrade.md

This file was deleted.

6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,10 +190,8 @@ api.MetricsRetrieveCustomerChurnRate(&MetricsFilter{})
api.MetricsRetrieveMRRChurnRate(&MetricsFilter{})
api.MetricsRetrieveLTV(&MetricsFilter{})

api.MetricsListCustomerSubscriptions(&Cursor{}, "customerUUID")
api.MetricsListCustomerActivities(&Cursor{}, "customerUUID")

api.MetricsListActivities(&cm.MetricsListActivitiesParams{StartDate: "2016-09-16", AnchorCursor: cm.AnchorCursor{PerPage: 5, StartAfter: "b45b1d3f-3823-424f-ab47-5a1d0c00a7f6"}})
api.MetricsListSubscriptions(&Cursor{}, "customerUUID")
api.MetricsListActivities(&Cursor{}, "customerUUID")

api.MetricsCreateActivitiesExport(&cm.CreateMetricsActivitiesExportParam{StartDate: "2016-09-16",Type: "contraction"})
api.MetricsRetrieveActivitiesExport("activitiesExportUUID")
Expand Down
12 changes: 2 additions & 10 deletions chartmogul.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,8 @@ type IApi interface {
MetricsRetrieveLTV(metricsFilter *MetricsFilter) (*LTVResult, error)

// Metrics - Subscriptions & Activities
MetricsListCustomerSubscriptions(cursor *Cursor, customerUUID string) (*MetricsCustomerSubscriptions, error)
MetricsListCustomerActivities(cursor *Cursor, customerUUID string) (*MetricsCustomerActivities, error)
MetricsListActivities(MetricsListActivitiesParams *MetricsListActivitiesParams) (*MetricsActivities, error)
MetricsListSubscriptions(cursor *Cursor, customerUUID string) (*MetricsSubscriptions, error)
MetricsListActivities(cursor *Cursor, customerUUID string) (*MetricsActivities, error)
MetricsCreateActivitiesExport(CreateMetricsActivitiesExportParam *CreateMetricsActivitiesExportParam) (*MetricsActivitiesExport, error)
MetricsRetrieveActivitiesExport(activitiesExportUUID string) (*MetricsActivitiesExport, error)

Expand All @@ -146,13 +145,6 @@ type Cursor struct {
PerPage uint32 `json:"per_page,omitempty"`
}

// AnchorCursor contains query parameters for anchor based pagination used for some APIs in ChartMogul.
type AnchorCursor struct {
PerPage uint32 `json:"per-page,omitempty"`
//StartAfter is used to get the next set of Entries and its value should be the UUID of last Entry from previous response.
StartAfter string `json:"start-after,omitempty"`
}

// Errors contains error feedback from ChartMogul
type Errors map[string]string

Expand Down
2 changes: 1 addition & 1 deletion integration_tests/connect_subscription_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ func TestConnectSubscriptions(t *testing.T) {
t.Fatal(err)
}
//time.Sleep(time.Minute)
msubs, err := api.MetricsListCustomerSubscriptions(&cm.Cursor{PerPage: 200}, cus.UUID)
msubs, err := api.MetricsListSubscriptions(&cm.Cursor{PerPage: 200}, cus.UUID)
if err != nil {
t.Fatal(err)
}
Expand Down
49 changes: 21 additions & 28 deletions metrics_activities.go
Original file line number Diff line number Diff line change
@@ -1,46 +1,39 @@
package chartmogul

import "strings"

// MetricsActivity represents Metrics API activity in ChartMogul.
type MetricsActivity struct {
Date string `json:"date"`
ActivityArr float64 `json:"activity-arr"`
ActivityMrr float64 `json:"activity-mrr"`
ActivityMrrMovement float64 `json:"activity-mrr-movement"`
Currency string `json:"currency"`
Description string `json:"description"`
Type string `json:"type"`
SubscriptionExternalID string `json:"subscription-external-id"`
PlanExternalID string `json:"plan-external-id"`
CustomerName string `json:"customer-name"`
CustomerUUID string `json:"customer-uuid"`
CustomerExternalID string `json:"customer-external-id"`
BillingConnectorUUID string `json:"billing-connector-uuid"`
UUID string `json:"uuid"`
ID uint64 `json:"id"`
Date string `json:"date"`
ActivityArr float64 `json:"activity-arr"`
ActivityMrr float64 `json:"activity-mrr"`
ActivityMrrMovement float64 `json:"activity-mrr-movement"`
Currency string `json:"currency"`
CurrencySign string `json:"currency-sign"`
Description string `json:"description"`
Type string `json:"type"`
}

// MetricsActivities is the result of listing activities in Metrics API.
type MetricsActivities struct {
Entries []*MetricsActivity `json:"entries"`
HasMore bool `json:"has_more"`
PerPage uint32 `json:"per_page"`
Page uint32 `json:"page"`
}

type MetricsListActivitiesParams struct {
Type string `json:"type,omitempty"`
StartDate string `json:"start-date,omitempty"`
EndDate string `json:"end-date,omitempty"`
Order string `json:"order,omitempty"`
AnchorCursor
}

const metricsActivitiesEndpoint = "activities"
const metricsActivitiesEndpoint = "customers/:uuid/activities"

// MetricsListActivities lists all activities for an account
func (api API) MetricsListActivities(listActivitiesParams *MetricsListActivitiesParams) (*MetricsActivities, error) {
// MetricsListActivities lists all activities for cutomer of a given UUID.
//
// See https://dev.chartmogul.com/v1.0/reference#list-customer-activities
func (api API) MetricsListActivities(cursor *Cursor, customerUUID string) (*MetricsActivities, error) {
result := &MetricsActivities{}
path := strings.Replace(metricsActivitiesEndpoint, ":uuid", customerUUID, 1)
query := make([]interface{}, 0, 1)
if listActivitiesParams != nil {
query = append(query, *listActivitiesParams)
if cursor != nil {
query = append(query, *cursor)
}
return result, api.list(metricsActivitiesEndpoint, result, query...)
return result, api.list(path, result, query...)
}
61 changes: 0 additions & 61 deletions metrics_activities_test.go

This file was deleted.

39 changes: 0 additions & 39 deletions metrics_customer_activities.go

This file was deleted.

58 changes: 0 additions & 58 deletions metrics_customer_activities_test.go

This file was deleted.

43 changes: 0 additions & 43 deletions metrics_customer_subscriptions.go

This file was deleted.

Loading

0 comments on commit 938ecf7

Please sign in to comment.