more wiring for configurable context/client, theoretically should be good enough for khan use
This commit is contained in:
@@ -75,7 +75,7 @@ Generated code:
|
|||||||
|
|
||||||
Config options:
|
Config options:
|
||||||
- (+) proper config/arguments setup (e.g. with [viper](https://github.com/spf13/viper))
|
- (+) proper config/arguments setup (e.g. with [viper](https://github.com/spf13/viper))
|
||||||
- (+) fix up context/client wiring (see DESIGN)
|
- make client/context wiring a bit more documented and usable by humans (and allow imports for the client-getter)
|
||||||
- get schema via HTTP (perhaps even via GraphQL introspection)
|
- get schema via HTTP (perhaps even via GraphQL introspection)
|
||||||
- send hash rather than full query
|
- send hash rather than full query
|
||||||
- whether names should be exported
|
- whether names should be exported
|
||||||
|
|||||||
+23
-6
@@ -24,31 +24,48 @@ type getViewerViewerUser struct {
|
|||||||
MyName string
|
MyName string
|
||||||
}
|
}
|
||||||
|
|
||||||
func getViewer(ctx context.Context, client *graphql.Client) (*getViewerResponse, error) {
|
func getViewer(
|
||||||
|
ctx context.Context,
|
||||||
|
client *graphql.Client,
|
||||||
|
) (*getViewerResponse, error) {
|
||||||
var retval getViewerResponse
|
var retval getViewerResponse
|
||||||
err := client.MakeRequest(ctx, `
|
err := client.MakeRequest(
|
||||||
|
ctx,
|
||||||
|
`
|
||||||
query getViewer {
|
query getViewer {
|
||||||
viewer {
|
viewer {
|
||||||
MyName: name
|
MyName: name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, nil)
|
`,
|
||||||
|
&retval,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// getUser gets the given user's name from their username.
|
// getUser gets the given user's name from their username.
|
||||||
func getUser(ctx context.Context, client *graphql.Client, login string) (*getUserResponse, error) {
|
func getUser(
|
||||||
|
ctx context.Context,
|
||||||
|
client *graphql.Client,
|
||||||
|
login string,
|
||||||
|
) (*getUserResponse, error) {
|
||||||
variables := map[string]interface{}{
|
variables := map[string]interface{}{
|
||||||
"Login": login,
|
"Login": login,
|
||||||
}
|
}
|
||||||
|
|
||||||
var retval getUserResponse
|
var retval getUserResponse
|
||||||
err := client.MakeRequest(ctx, `
|
err := client.MakeRequest(
|
||||||
|
ctx,
|
||||||
|
`
|
||||||
query getUser ($Login: String!) {
|
query getUser ($Login: String!) {
|
||||||
user(login: $Login) {
|
user(login: $Login) {
|
||||||
theirName: name
|
theirName: name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, variables)
|
`,
|
||||||
|
&retval,
|
||||||
|
variables,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -35,7 +35,6 @@ type Config struct {
|
|||||||
// accept and use as the context.Context for HTTP requests. Defaults to
|
// accept and use as the context.Context for HTTP requests. Defaults to
|
||||||
// context.Context; set to the empty string to omit context entirely.
|
// context.Context; set to the empty string to omit context entirely.
|
||||||
ContextType string `yaml:"context_type"`
|
ContextType string `yaml:"context_type"`
|
||||||
// TODO: implement client-getters
|
|
||||||
// If set, a snippet of Go code to get a *graphql.Client from the context
|
// If set, a snippet of Go code to get a *graphql.Client from the context
|
||||||
// (which will be named ctx). For example, this might do
|
// (which will be named ctx). For example, this might do
|
||||||
// ctx.Value(myKey).(*graphql.Client). If omitted, client must be
|
// ctx.Value(myKey).(*graphql.Client). If omitted, client must be
|
||||||
@@ -43,7 +42,7 @@ type Config struct {
|
|||||||
// TODO: what if you want to do an import in this snippet, e.g. for a
|
// TODO: what if you want to do an import in this snippet, e.g. for a
|
||||||
// getter function, global var, or a context-key-type?
|
// getter function, global var, or a context-key-type?
|
||||||
// TODO: what if you want to return err?
|
// TODO: what if you want to return err?
|
||||||
// ClientGetter string `yaml:"client_getter"`
|
ClientGetter string `yaml:"client_getter"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Config) ValidateAndFillDefaults() error {
|
func (c *Config) ValidateAndFillDefaults() error {
|
||||||
|
|||||||
@@ -19,7 +19,17 @@ import (
|
|||||||
|
|
||||||
{{range .Operations}}
|
{{range .Operations}}
|
||||||
{{.Doc}}
|
{{.Doc}}
|
||||||
func {{.Name}}({{if $.Config.ContextType}}ctx {{$.Config.ContextType}}, {{end}}client *graphql.Client{{range .Args}}, {{.GoName}} {{.GoType}}{{end}}) (*{{.ResponseName}}, error) {
|
func {{.Name}}(
|
||||||
|
{{if $.Config.ContextType -}}
|
||||||
|
ctx {{$.Config.ContextType}},
|
||||||
|
{{end}}
|
||||||
|
{{- if not $.Config.ClientGetter -}}
|
||||||
|
client *graphql.Client,
|
||||||
|
{{end}}
|
||||||
|
{{- range .Args -}}
|
||||||
|
{{.GoName}} {{.GoType}},
|
||||||
|
{{end -}}
|
||||||
|
) (*{{.ResponseName}}, error) {
|
||||||
{{- if .Args -}}
|
{{- if .Args -}}
|
||||||
variables := map[string]interface{}{
|
variables := map[string]interface{}{
|
||||||
{{range .Args -}}
|
{{range .Args -}}
|
||||||
@@ -28,7 +38,12 @@ func {{.Name}}({{if $.Config.ContextType}}ctx {{$.Config.ContextType}}, {{end}}c
|
|||||||
}
|
}
|
||||||
{{end}}
|
{{end}}
|
||||||
var retval {{.ResponseName}}
|
var retval {{.ResponseName}}
|
||||||
err := client.MakeRequest({{if $.Config.ContextType}}ctx{{else}}nil{{end}}, `{{.Body}}`, &retval, {{if .Args}}variables{{else}}nil{{end}})
|
err := {{if $.Config.ClientGetter}}{{$.Config.ClientGetter}}{{else}}client{{end}}.MakeRequest(
|
||||||
|
{{if $.Config.ContextType}}ctx{{else}}nil{{end}},
|
||||||
|
`{{.Body}}`,
|
||||||
|
&retval,
|
||||||
|
{{if .Args}}variables{{else}}nil{{end}},
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|||||||
+11
-3
@@ -29,18 +29,26 @@ const (
|
|||||||
UserQueryInputRoleTeacher UserQueryInputRole = "TEACHER"
|
UserQueryInputRoleTeacher UserQueryInputRole = "TEACHER"
|
||||||
)
|
)
|
||||||
|
|
||||||
func InputObjectQuery(client *graphql.Client, query UserQueryInput) (*InputObjectQueryResponse, error) {
|
func InputObjectQuery(
|
||||||
|
client *graphql.Client,
|
||||||
|
query UserQueryInput,
|
||||||
|
) (*InputObjectQueryResponse, error) {
|
||||||
variables := map[string]interface{}{
|
variables := map[string]interface{}{
|
||||||
"query": query,
|
"query": query,
|
||||||
}
|
}
|
||||||
|
|
||||||
var retval InputObjectQueryResponse
|
var retval InputObjectQueryResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query InputObjectQuery ($query: UserQueryInput) {
|
query InputObjectQuery ($query: UserQueryInput) {
|
||||||
user(query: $query) {
|
user(query: $query) {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, variables)
|
`,
|
||||||
|
&retval,
|
||||||
|
variables,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -93,9 +93,13 @@ type InterfaceNoFragmentsQueryRootTopicChildrenVideo struct {
|
|||||||
func (v InterfaceNoFragmentsQueryRootTopicChildrenVideo) implementsGraphQLInterfaceInterfaceNoFragmentsQueryRootTopicChildrenContent() {
|
func (v InterfaceNoFragmentsQueryRootTopicChildrenVideo) implementsGraphQLInterfaceInterfaceNoFragmentsQueryRootTopicChildrenContent() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func InterfaceNoFragmentsQuery(client *graphql.Client) (*InterfaceNoFragmentsQueryResponse, error) {
|
func InterfaceNoFragmentsQuery(
|
||||||
|
client *graphql.Client,
|
||||||
|
) (*InterfaceNoFragmentsQueryResponse, error) {
|
||||||
var retval InterfaceNoFragmentsQueryResponse
|
var retval InterfaceNoFragmentsQueryResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query InterfaceNoFragmentsQuery {
|
query InterfaceNoFragmentsQuery {
|
||||||
root {
|
root {
|
||||||
id
|
id
|
||||||
@@ -106,6 +110,9 @@ query InterfaceNoFragmentsQuery {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, nil)
|
`,
|
||||||
|
&retval,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-3
@@ -14,18 +14,26 @@ type ListInputQueryUser struct {
|
|||||||
Id string `json:"id"`
|
Id string `json:"id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func ListInputQuery(client *graphql.Client, names []string) (*ListInputQueryResponse, error) {
|
func ListInputQuery(
|
||||||
|
client *graphql.Client,
|
||||||
|
names []string,
|
||||||
|
) (*ListInputQueryResponse, error) {
|
||||||
variables := map[string]interface{}{
|
variables := map[string]interface{}{
|
||||||
"names": names,
|
"names": names,
|
||||||
}
|
}
|
||||||
|
|
||||||
var retval ListInputQueryResponse
|
var retval ListInputQueryResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query ListInputQuery ($names: [String]) {
|
query ListInputQuery ($names: [String]) {
|
||||||
user(query: {names:$names}) {
|
user(query: {names:$names}) {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, variables)
|
`,
|
||||||
|
&retval,
|
||||||
|
variables,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -14,14 +14,21 @@ type QueryWithAliasUser struct {
|
|||||||
ID string
|
ID string
|
||||||
}
|
}
|
||||||
|
|
||||||
func QueryWithAlias(client *graphql.Client) (*QueryWithAliasResponse, error) {
|
func QueryWithAlias(
|
||||||
|
client *graphql.Client,
|
||||||
|
) (*QueryWithAliasResponse, error) {
|
||||||
var retval QueryWithAliasResponse
|
var retval QueryWithAliasResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query QueryWithAlias {
|
query QueryWithAlias {
|
||||||
User: user {
|
User: user {
|
||||||
ID: id
|
ID: id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, nil)
|
`,
|
||||||
|
&retval,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -15,15 +15,22 @@ type QueryWithDoubleAliasUser struct {
|
|||||||
AlsoID string
|
AlsoID string
|
||||||
}
|
}
|
||||||
|
|
||||||
func QueryWithDoubleAlias(client *graphql.Client) (*QueryWithDoubleAliasResponse, error) {
|
func QueryWithDoubleAlias(
|
||||||
|
client *graphql.Client,
|
||||||
|
) (*QueryWithDoubleAliasResponse, error) {
|
||||||
var retval QueryWithDoubleAliasResponse
|
var retval QueryWithDoubleAliasResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query QueryWithDoubleAlias {
|
query QueryWithDoubleAlias {
|
||||||
user {
|
user {
|
||||||
ID: id
|
ID: id
|
||||||
AlsoID: id
|
AlsoID: id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, nil)
|
`,
|
||||||
|
&retval,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -21,14 +21,21 @@ const (
|
|||||||
QueryWithEnumsUserRolesRoleTeacher QueryWithEnumsUserRolesRole = "TEACHER"
|
QueryWithEnumsUserRolesRoleTeacher QueryWithEnumsUserRolesRole = "TEACHER"
|
||||||
)
|
)
|
||||||
|
|
||||||
func QueryWithEnums(client *graphql.Client) (*QueryWithEnumsResponse, error) {
|
func QueryWithEnums(
|
||||||
|
client *graphql.Client,
|
||||||
|
) (*QueryWithEnumsResponse, error) {
|
||||||
var retval QueryWithEnumsResponse
|
var retval QueryWithEnumsResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query QueryWithEnums {
|
query QueryWithEnums {
|
||||||
user {
|
user {
|
||||||
roles
|
roles
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, nil)
|
`,
|
||||||
|
&retval,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -17,9 +17,13 @@ type QueryWithSlicesUser struct {
|
|||||||
EmailsWithNullsOrNull []string `json:"emailsWithNullsOrNull"`
|
EmailsWithNullsOrNull []string `json:"emailsWithNullsOrNull"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func QueryWithSlices(client *graphql.Client) (*QueryWithSlicesResponse, error) {
|
func QueryWithSlices(
|
||||||
|
client *graphql.Client,
|
||||||
|
) (*QueryWithSlicesResponse, error) {
|
||||||
var retval QueryWithSlicesResponse
|
var retval QueryWithSlicesResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query QueryWithSlices {
|
query QueryWithSlices {
|
||||||
user {
|
user {
|
||||||
emails
|
emails
|
||||||
@@ -28,6 +32,9 @@ query QueryWithSlices {
|
|||||||
emailsWithNullsOrNull
|
emailsWithNullsOrNull
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, nil)
|
`,
|
||||||
|
&retval,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -19,9 +19,13 @@ type QueryWithStructsUserAuthMethodsAuthMethod struct {
|
|||||||
Email string `json:"email"`
|
Email string `json:"email"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func QueryWithStructs(client *graphql.Client) (*QueryWithStructsResponse, error) {
|
func QueryWithStructs(
|
||||||
|
client *graphql.Client,
|
||||||
|
) (*QueryWithStructsResponse, error) {
|
||||||
var retval QueryWithStructsResponse
|
var retval QueryWithStructsResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query QueryWithStructs {
|
query QueryWithStructs {
|
||||||
user {
|
user {
|
||||||
authMethods {
|
authMethods {
|
||||||
@@ -30,6 +34,9 @@ query QueryWithStructs {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, nil)
|
`,
|
||||||
|
&retval,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-3
@@ -14,18 +14,26 @@ type SimpleInputQueryUser struct {
|
|||||||
Id string `json:"id"`
|
Id string `json:"id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func SimpleInputQuery(client *graphql.Client, name string) (*SimpleInputQueryResponse, error) {
|
func SimpleInputQuery(
|
||||||
|
client *graphql.Client,
|
||||||
|
name string,
|
||||||
|
) (*SimpleInputQueryResponse, error) {
|
||||||
variables := map[string]interface{}{
|
variables := map[string]interface{}{
|
||||||
"name": name,
|
"name": name,
|
||||||
}
|
}
|
||||||
|
|
||||||
var retval SimpleInputQueryResponse
|
var retval SimpleInputQueryResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query SimpleInputQuery ($name: String!) {
|
query SimpleInputQuery ($name: String!) {
|
||||||
user(query: {name:$name}) {
|
user(query: {name:$name}) {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, variables)
|
`,
|
||||||
|
&retval,
|
||||||
|
variables,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -14,14 +14,21 @@ type SimpleQueryUser struct {
|
|||||||
Id string `json:"id"`
|
Id string `json:"id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func SimpleQuery(client *graphql.Client) (*SimpleQueryResponse, error) {
|
func SimpleQuery(
|
||||||
|
client *graphql.Client,
|
||||||
|
) (*SimpleQueryResponse, error) {
|
||||||
var retval SimpleQueryResponse
|
var retval SimpleQueryResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query SimpleQuery {
|
query SimpleQuery {
|
||||||
user {
|
user {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, nil)
|
`,
|
||||||
|
&retval,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -15,15 +15,22 @@ type TypeNameQueryUser struct {
|
|||||||
Id string `json:"id"`
|
Id string `json:"id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func TypeNameQuery(client *graphql.Client) (*TypeNameQueryResponse, error) {
|
func TypeNameQuery(
|
||||||
|
client *graphql.Client,
|
||||||
|
) (*TypeNameQueryResponse, error) {
|
||||||
var retval TypeNameQueryResponse
|
var retval TypeNameQueryResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query TypeNameQuery {
|
query TypeNameQuery {
|
||||||
user {
|
user {
|
||||||
__typename
|
__typename
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, nil)
|
`,
|
||||||
|
&retval,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -71,14 +71,21 @@ func (v *UnionNoFragmentsQueryResponse) UnmarshalJSON(b []byte) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func UnionNoFragmentsQuery(client *graphql.Client) (*UnionNoFragmentsQueryResponse, error) {
|
func UnionNoFragmentsQuery(
|
||||||
|
client *graphql.Client,
|
||||||
|
) (*UnionNoFragmentsQueryResponse, error) {
|
||||||
var retval UnionNoFragmentsQueryResponse
|
var retval UnionNoFragmentsQueryResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query UnionNoFragmentsQuery {
|
query UnionNoFragmentsQuery {
|
||||||
randomLeaf {
|
randomLeaf {
|
||||||
__typename
|
__typename
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, nil)
|
`,
|
||||||
|
&retval,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -33,9 +33,13 @@ type UsesEnumTwiceQueryResponse struct {
|
|||||||
OtherUser UsesEnumTwiceQueryOtherUser
|
OtherUser UsesEnumTwiceQueryOtherUser
|
||||||
}
|
}
|
||||||
|
|
||||||
func UsesEnumTwiceQuery(client *graphql.Client) (*UsesEnumTwiceQueryResponse, error) {
|
func UsesEnumTwiceQuery(
|
||||||
|
client *graphql.Client,
|
||||||
|
) (*UsesEnumTwiceQueryResponse, error) {
|
||||||
var retval UsesEnumTwiceQueryResponse
|
var retval UsesEnumTwiceQueryResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query UsesEnumTwiceQuery {
|
query UsesEnumTwiceQuery {
|
||||||
Me: user {
|
Me: user {
|
||||||
roles
|
roles
|
||||||
@@ -44,6 +48,9 @@ query UsesEnumTwiceQuery {
|
|||||||
roles
|
roles
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, nil)
|
`,
|
||||||
|
&retval,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-3
@@ -29,18 +29,26 @@ const (
|
|||||||
userQueryInputRoleTeacher userQueryInputRole = "TEACHER"
|
userQueryInputRoleTeacher userQueryInputRole = "TEACHER"
|
||||||
)
|
)
|
||||||
|
|
||||||
func unexported(client *graphql.Client, query userQueryInput) (*unexportedResponse, error) {
|
func unexported(
|
||||||
|
client *graphql.Client,
|
||||||
|
query userQueryInput,
|
||||||
|
) (*unexportedResponse, error) {
|
||||||
variables := map[string]interface{}{
|
variables := map[string]interface{}{
|
||||||
"query": query,
|
"query": query,
|
||||||
}
|
}
|
||||||
|
|
||||||
var retval unexportedResponse
|
var retval unexportedResponse
|
||||||
err := client.MakeRequest(nil, `
|
err := client.MakeRequest(
|
||||||
|
nil,
|
||||||
|
`
|
||||||
query unexported ($query: UserQueryInput) {
|
query unexported ($query: UserQueryInput) {
|
||||||
user(query: $query) {
|
user(query: $query) {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, &retval, variables)
|
`,
|
||||||
|
&retval,
|
||||||
|
variables,
|
||||||
|
)
|
||||||
return &retval, err
|
return &retval, err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user