func (client *ClientImpl) GetFeatureFlagByName(ctx context.Context, args GetFeatureFlagByNameArgs) (*FeatureFlag, error) {
	routeValues := make(map[string]string)
	if args.Name == nil || *args.Name == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Name"}
	}
	routeValues["name"] = *args.Name
	queryParams := url.Values{}
	if args.CheckFeatureExists != nil {
		queryParams.Add("checkFeatureExists", strconv.FormatBool(*args.CheckFeatureExists))
	}
	locationId, _ := uuid.Parse("3e2b80f8-9e6f-441e-8393-005610692d9c")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1-preview.1", routeValues, queryParams, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue FeatureFlag
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
[Preview API] Retrieve information on a single feature flag and its current states
package featureavailability
import (
	"bytes"
	"context"
	"encoding/json"
	"github.com/google/uuid"
	"github.com/microsoft/azure-devops-go-api/azuredevops"
	"net/http"
	"net/url"
	"strconv"
)
type Client interface {
	GetAllFeatureFlags(context.Context, GetAllFeatureFlagsArgs) (*[]FeatureFlag, error)
	GetFeatureFlagByName(context.Context, GetFeatureFlagByNameArgs) (*FeatureFlag, error)
	GetFeatureFlagByNameAndUserEmail(context.Context, GetFeatureFlagByNameAndUserEmailArgs) (*FeatureFlag, error)
	GetFeatureFlagByNameAndUserId(context.Context, GetFeatureFlagByNameAndUserIdArgs) (*FeatureFlag, error)
	UpdateFeatureFlag(context.Context, UpdateFeatureFlagArgs) (*FeatureFlag, error)
}
type ClientImpl struct {
	Client azuredevops.Client
}
func NewClient(ctx context.Context, connection *azuredevops.Connection) Client {
	client := connection.GetClientByUrl(connection.BaseUrl)
	return &ClientImpl{
		Client: *client,
	}
}
func (client *ClientImpl) GetAllFeatureFlags(ctx context.Context, args GetAllFeatureFlagsArgs) (*[]FeatureFlag, error) {
	queryParams := url.Values{}
	if args.UserEmail != nil {
		queryParams.Add("userEmail", *args.UserEmail)
	}
	locationId, _ := uuid.Parse("3e2b80f8-9e6f-441e-8393-005610692d9c")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1-preview.1", nil, queryParams, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue []FeatureFlag
	err = client.Client.UnmarshalCollectionBody(resp, &responseValue)
	return &responseValue, err
}
type GetAllFeatureFlagsArgs struct {
	UserEmail *string
}