github.com/nathanstitt/genqlient@v0.3.1-0.20211028004951-a2bda3c41ab8/example/generated.go (about)

     1  package main
     2  
     3  // Code generated by github.com/Khan/genqlient, DO NOT EDIT.
     4  
     5  import (
     6  	"context"
     7  	"time"
     8  
     9  	"github.com/Khan/genqlient/graphql"
    10  )
    11  
    12  // __getUserInput is used internally by genqlient
    13  type __getUserInput struct {
    14  	Login string `json:"Login"`
    15  }
    16  
    17  // GetLogin returns __getUserInput.Login, and is useful for accessing the field via an interface.
    18  func (v *__getUserInput) GetLogin() string { return v.Login }
    19  
    20  // getUserResponse is returned by getUser on success.
    21  type getUserResponse struct {
    22  	// Lookup a user by login.
    23  	User getUserUser `json:"user"`
    24  }
    25  
    26  // GetUser returns getUserResponse.User, and is useful for accessing the field via an interface.
    27  func (v *getUserResponse) GetUser() getUserUser { return v.User }
    28  
    29  // getUserUser includes the requested fields of the GraphQL type User.
    30  // The GraphQL type's documentation follows.
    31  //
    32  // A user is an individual's account on GitHub that owns repositories and can make new content.
    33  type getUserUser struct {
    34  	// The user's public profile name.
    35  	TheirName string `json:"theirName"`
    36  	// Identifies the date and time when the object was created.
    37  	CreatedAt time.Time `json:"createdAt"`
    38  }
    39  
    40  // GetTheirName returns getUserUser.TheirName, and is useful for accessing the field via an interface.
    41  func (v *getUserUser) GetTheirName() string { return v.TheirName }
    42  
    43  // GetCreatedAt returns getUserUser.CreatedAt, and is useful for accessing the field via an interface.
    44  func (v *getUserUser) GetCreatedAt() time.Time { return v.CreatedAt }
    45  
    46  // getViewerResponse is returned by getViewer on success.
    47  type getViewerResponse struct {
    48  	// The currently authenticated user.
    49  	Viewer getViewerViewerUser `json:"viewer"`
    50  }
    51  
    52  // GetViewer returns getViewerResponse.Viewer, and is useful for accessing the field via an interface.
    53  func (v *getViewerResponse) GetViewer() getViewerViewerUser { return v.Viewer }
    54  
    55  // getViewerViewerUser includes the requested fields of the GraphQL type User.
    56  // The GraphQL type's documentation follows.
    57  //
    58  // A user is an individual's account on GitHub that owns repositories and can make new content.
    59  type getViewerViewerUser struct {
    60  	// The user's public profile name.
    61  	MyName string `json:"MyName"`
    62  	// Identifies the date and time when the object was created.
    63  	CreatedAt time.Time `json:"createdAt"`
    64  }
    65  
    66  // GetMyName returns getViewerViewerUser.MyName, and is useful for accessing the field via an interface.
    67  func (v *getViewerViewerUser) GetMyName() string { return v.MyName }
    68  
    69  // GetCreatedAt returns getViewerViewerUser.CreatedAt, and is useful for accessing the field via an interface.
    70  func (v *getViewerViewerUser) GetCreatedAt() time.Time { return v.CreatedAt }
    71  
    72  func getViewer(
    73  	ctx context.Context,
    74  	client graphql.Client,
    75  ) (*getViewerResponse, error) {
    76  	var err error
    77  
    78  	var retval getViewerResponse
    79  	err = client.MakeRequest(
    80  		ctx,
    81  		"getViewer",
    82  		`
    83  query getViewer {
    84  	viewer {
    85  		MyName: name
    86  		createdAt
    87  	}
    88  }
    89  `,
    90  		&retval,
    91  		nil,
    92  	)
    93  	return &retval, err
    94  }
    95  
    96  // getUser gets the given user's name from their username.
    97  func getUser(
    98  	ctx context.Context,
    99  	client graphql.Client,
   100  	Login string,
   101  ) (*getUserResponse, error) {
   102  	__input := __getUserInput{
   103  		Login: Login,
   104  	}
   105  	var err error
   106  
   107  	var retval getUserResponse
   108  	err = client.MakeRequest(
   109  		ctx,
   110  		"getUser",
   111  		`
   112  query getUser ($Login: String!) {
   113  	user(login: $Login) {
   114  		theirName: name
   115  		createdAt
   116  	}
   117  }
   118  `,
   119  		&retval,
   120  		&__input,
   121  	)
   122  	return &retval, err
   123  }