50 lines
829 B
Go
50 lines
829 B
Go
package example
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/Khan/genql/graphql"
|
|
)
|
|
|
|
type getViewerResponse = struct {
|
|
Viewer struct {
|
|
Name *string
|
|
}
|
|
}
|
|
|
|
// TODO
|
|
func getViewer(ctx context.Context, client *graphql.Client) (*getViewerResponse, error) {
|
|
var retval getViewerResponse
|
|
err := client.MakeRequest(ctx, `
|
|
query getViewer {
|
|
Viewer: viewer {
|
|
Name: name
|
|
}
|
|
}
|
|
`, &retval, nil)
|
|
return &retval, err
|
|
}
|
|
|
|
type getUserResponse = struct {
|
|
User *struct {
|
|
Name *string
|
|
}
|
|
}
|
|
|
|
// TODO
|
|
func getUser(ctx context.Context, client *graphql.Client, login string) (*getUserResponse, error) {
|
|
variables := map[string]interface{}{
|
|
"login": login,
|
|
}
|
|
|
|
var retval getUserResponse
|
|
err := client.MakeRequest(ctx, `
|
|
query getUser ($login: String!) {
|
|
User: user(login: $login) {
|
|
Name: name
|
|
}
|
|
}
|
|
`, &retval, variables)
|
|
return &retval, err
|
|
}
|