55 lines
1.0 KiB
Go
55 lines
1.0 KiB
Go
package example
|
|
|
|
// Code generated by github.com/Khan/genql, DO NOT EDIT.
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/Khan/genql/graphql"
|
|
)
|
|
|
|
type getUserResponse struct {
|
|
User getUserUser `json:"user"`
|
|
}
|
|
|
|
type getUserUser struct {
|
|
TheirName string `json:"theirName"`
|
|
}
|
|
|
|
type getViewerResponse struct {
|
|
Viewer getViewerViewerUser `json:"viewer"`
|
|
}
|
|
|
|
type getViewerViewerUser struct {
|
|
MyName string
|
|
}
|
|
|
|
func getViewer(ctx context.Context, client *graphql.Client) (*getViewerResponse, error) {
|
|
var retval getViewerResponse
|
|
err := client.MakeRequest(ctx, `
|
|
query getViewer {
|
|
viewer {
|
|
MyName: name
|
|
}
|
|
}
|
|
`, &retval, nil)
|
|
return &retval, err
|
|
}
|
|
|
|
// getUser gets the given user's name from their username.
|
|
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(login: $Login) {
|
|
theirName: name
|
|
}
|
|
}
|
|
`, &retval, variables)
|
|
return &retval, err
|
|
}
|