github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/platform/api/svc/request/analytics.go (about)

     1  package request
     2  
     3  type AnalyticsEvent struct {
     4  	category       string
     5  	action         string
     6  	source         string
     7  	label          string
     8  	dimensionsJson string
     9  }
    10  
    11  func NewAnalyticsEvent(category, action, source, label, dimensionsJson string) *AnalyticsEvent {
    12  	return &AnalyticsEvent{
    13  		category:       category,
    14  		action:         action,
    15  		source:         source,
    16  		label:          label,
    17  		dimensionsJson: dimensionsJson,
    18  	}
    19  }
    20  
    21  func (e *AnalyticsEvent) Query() string {
    22  	return `query($category: String!, $action: String!, $source: String!, $label: String, $dimensionsJson: String!) {
    23  		analyticsEvent(category: $category, action: $action, source: $source, label: $label, dimensionsJson: $dimensionsJson) {
    24  			sent
    25  		}
    26  	}`
    27  }
    28  
    29  func (e *AnalyticsEvent) Vars() (map[string]interface{}, error) {
    30  	return map[string]interface{}{
    31  		"category":       e.category,
    32  		"action":         e.action,
    33  		"source":         e.source,
    34  		"label":          e.label,
    35  		"dimensionsJson": e.dimensionsJson,
    36  	}, nil
    37  }