func()

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
}