diff --git a/pkg/analyzer/analyzer_test.go b/pkg/analyzer/analyzer_test.go index 92919a52..9aaf1147 100644 --- a/pkg/analyzer/analyzer_test.go +++ b/pkg/analyzer/analyzer_test.go @@ -92,6 +92,7 @@ func getMaxFilter(eventName string) *Filter { City: []string{"London"}, Referrer: []string{"ref"}, ReferrerName: []string{"refname"}, + Channel: []string{"channel"}, OS: []string{pkg.OSWindows}, OSVersion: []string{"10"}, Browser: []string{pkg.BrowserChrome}, @@ -103,7 +104,6 @@ func getMaxFilter(eventName string) *Filter { UTMCampaign: []string{"campaign"}, UTMContent: []string{"content"}, UTMTerm: []string{"term"}, - Channel: []string{"channel"}, Tags: map[string]string{"key": "value"}, EventName: events, Limit: 42, diff --git a/pkg/analyzer/filter.go b/pkg/analyzer/filter.go index 8f32c703..ce4bfd4d 100644 --- a/pkg/analyzer/filter.go +++ b/pkg/analyzer/filter.go @@ -78,6 +78,9 @@ type Filter struct { // ReferrerName filters for the referrer name. ReferrerName []string + // Channel filters for the channel query parameter. + Channel []string + // OS filters for the operating system. OS []string @@ -111,9 +114,6 @@ type Filter struct { // UTMTerm filters for the utm_term query parameter. UTMTerm []string - // Channel filters for the channel query parameter. - Channel []string - // Tags filters for tag key-value pairs. Tags map[string]string @@ -296,6 +296,7 @@ func (filter *Filter) validate() { filter.City = filter.removeDuplicates(filter.City) filter.Referrer = filter.removeDuplicates(filter.Referrer) filter.ReferrerName = filter.removeDuplicates(filter.ReferrerName) + filter.Channel = filter.removeDuplicates(filter.Channel) filter.OS = filter.removeDuplicates(filter.OS) filter.OSVersion = filter.removeDuplicates(filter.OSVersion) filter.Browser = filter.removeDuplicates(filter.Browser) @@ -306,7 +307,6 @@ func (filter *Filter) validate() { filter.UTMCampaign = filter.removeDuplicates(filter.UTMCampaign) filter.UTMContent = filter.removeDuplicates(filter.UTMContent) filter.UTMTerm = filter.removeDuplicates(filter.UTMTerm) - filter.Channel = filter.removeDuplicates(filter.Channel) filter.Tag = filter.removeDuplicates(filter.Tag) filter.EventName = filter.removeDuplicates(filter.EventName) filter.EventMetaKey = filter.removeDuplicates(filter.EventMetaKey) diff --git a/pkg/analyzer/query.go b/pkg/analyzer/query.go index b336a54b..6bcdcc9d 100644 --- a/pkg/analyzer/query.go +++ b/pkg/analyzer/query.go @@ -122,6 +122,7 @@ func (query *queryBuilder) getFields() []string { query.appendField(&fields, FieldCity.Name, query.filter.City) query.appendField(&fields, FieldReferrer.Name, query.filter.Referrer) query.appendField(&fields, FieldReferrerName.Name, query.filter.ReferrerName) + query.appendField(&fields, FieldChannel.Name, query.filter.Channel) query.appendField(&fields, FieldOS.Name, query.filter.OS) query.appendField(&fields, FieldOSVersion.Name, query.filter.OSVersion) query.appendField(&fields, FieldBrowser.Name, query.filter.Browser) @@ -132,7 +133,6 @@ func (query *queryBuilder) getFields() []string { query.appendField(&fields, FieldUTMCampaign.Name, query.filter.UTMCampaign) query.appendField(&fields, FieldUTMContent.Name, query.filter.UTMContent) query.appendField(&fields, FieldUTMTerm.Name, query.filter.UTMTerm) - query.appendField(&fields, FieldChannel.Name, query.filter.Channel) if query.filter.Platform != "" { platform := query.filter.Platform @@ -598,6 +598,7 @@ func (query *queryBuilder) whereFields() { query.whereField(FieldCity.Name, query.filter.City) query.whereField(FieldReferrer.Name, query.filter.Referrer) query.whereField(FieldReferrerName.Name, query.filter.ReferrerName) + query.whereField(FieldChannel.Name, query.filter.Channel) query.whereField(FieldOS.Name, query.filter.OS) query.whereField(FieldOSVersion.Name, query.filter.OSVersion) query.whereField(FieldBrowser.Name, query.filter.Browser) @@ -608,7 +609,6 @@ func (query *queryBuilder) whereFields() { query.whereField(FieldUTMCampaign.Name, query.filter.UTMCampaign) query.whereField(FieldUTMContent.Name, query.filter.UTMContent) query.whereField(FieldUTMTerm.Name, query.filter.UTMTerm) - query.whereField(FieldChannel.Name, query.filter.Channel) query.whereFieldPlatform() query.whereFieldVisitorSessionID()