func SearchService()

in pkg/graphql/metadata/metadata.go [52:77]


func SearchService(ctx context.Context, serviceCode string) (service api.Service, err error) {
	var response map[string]api.Service

	majorVersion, _, err := BackendVersion(ctx)
	if err != nil {
		return api.Service{}, err
	}
	var request *graphql.Request
	if majorVersion >= 9 {
		request = graphql.NewRequest(assets.Read("graphqls/metadata/v2/FindService.graphql"))
		request.Var("serviceName", serviceCode)
	} else {
		request = graphql.NewRequest(assets.Read("graphqls/metadata/v1/SearchService.graphql"))
		request.Var("serviceCode", serviceCode)
	}

	err = client.ExecuteQuery(ctx, request, &response)

	service = response["result"]

	if service.ID == "" {
		return service, fmt.Errorf("no such service [%s]", serviceCode)
	}

	return service, err
}