in controller/platform/platform.go [44:63]
func (c controller) GetDistinctValues(ctx context.Context, index string, field string) ([]interface{}, error) {
if len(index) == 0 || len(field) == 0 {
return nil, fmt.Errorf("index and field cannot be empty")
}
response, err := c.gateway.SearchDistinctValues(ctx, index, field)
if err != nil {
return nil, err
}
var data platform.Response
err = json.Unmarshal(response, &data)
if err != nil {
return nil, err
}
var values []interface{}
for _, bucket := range data.Aggregations.Items.Buckets {
values = append(values, bucket.Key)
}
return values, nil
}