Files
genqlient/generate/testdata/snapshots/TestGenerate-QueryWithStructs.graphql-QueryWithStructs.graphql.go
T
Jan-Hendrik BollandGitHub b2422452a1 Add GraphQL Extensions (#184)
This enables accessing the Extensions field, as defined in the response
format: https://spec.graphql.org/October2021/#sec-Response-Format

Extensions can be enabled using configuration option use_extensions.
This will change the return parameters of the generated client
functions. Making it a breaking change if enabled.

Since extensions are untyped as defined in the spec, the Client will
return an interface of type map[string]interface{}.
2022-03-30 13:48:01 -07:00

76 lines
2.1 KiB
Go

// Code generated by github.com/Khan/genqlient, DO NOT EDIT.
package test
import (
"github.com/Khan/genqlient/graphql"
)
// QueryWithStructsResponse is returned by QueryWithStructs on success.
type QueryWithStructsResponse struct {
// user looks up a user by some stuff.
//
// See UserQueryInput for what stuff is supported.
// If query is null, returns the current user.
User QueryWithStructsUser `json:"user"`
}
// GetUser returns QueryWithStructsResponse.User, and is useful for accessing the field via an interface.
func (v *QueryWithStructsResponse) GetUser() QueryWithStructsUser { return v.User }
// QueryWithStructsUser includes the requested fields of the GraphQL type User.
// The GraphQL type's documentation follows.
//
// A User is a user!
type QueryWithStructsUser struct {
AuthMethods []QueryWithStructsUserAuthMethodsAuthMethod `json:"authMethods"`
}
// GetAuthMethods returns QueryWithStructsUser.AuthMethods, and is useful for accessing the field via an interface.
func (v *QueryWithStructsUser) GetAuthMethods() []QueryWithStructsUserAuthMethodsAuthMethod {
return v.AuthMethods
}
// QueryWithStructsUserAuthMethodsAuthMethod includes the requested fields of the GraphQL type AuthMethod.
type QueryWithStructsUserAuthMethodsAuthMethod struct {
Provider string `json:"provider"`
Email string `json:"email"`
}
// GetProvider returns QueryWithStructsUserAuthMethodsAuthMethod.Provider, and is useful for accessing the field via an interface.
func (v *QueryWithStructsUserAuthMethodsAuthMethod) GetProvider() string { return v.Provider }
// GetEmail returns QueryWithStructsUserAuthMethodsAuthMethod.Email, and is useful for accessing the field via an interface.
func (v *QueryWithStructsUserAuthMethodsAuthMethod) GetEmail() string { return v.Email }
func QueryWithStructs(
client graphql.Client,
) (*QueryWithStructsResponse, error) {
req := &graphql.Request{
OpName: "QueryWithStructs",
Query: `
query QueryWithStructs {
user {
authMethods {
provider
email
}
}
}
`,
}
var err error
var data QueryWithStructsResponse
resp := &graphql.Response{Data: &data}
err = client.MakeRequest(
nil,
req,
resp,
)
return &data, err
}