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 }