Allow building mutations from maps instead of structs
grihabor opened this issue · 0 comments
grihabor commented
Suppose I can create user like this
mutation($login: String!) {
createUser(login: $login) { login }
}
variables {
"login": "grihabor"
}
Now I'd like to create multiple users in single request
mutation($login1: String!, $login2: String!, $login3: String!) {
createUser(login: $login1) { login }
createUser(login: $login2) { login }
createUser(login: $login3) { login }
}
variables {
"login1": "grihabor",
"login2": "diman",
"login3": "indigo",
}
It would be convenient to implement it in code with ordered map
type CreateUser struct {
Login graphql.String
}
m := [][2]interface{}{
{"createUser(login: $login1)", &CreateUser{}},
{"createUser(login: $login2)", &CreateUser{}},
{"createUser(login: $login3)", &CreateUser{}},
}
variables := map[string]interface{}{
"login1": "grihabor",
"login2": "diman",
"login3": "indigo",
}
_ = client.Mutate(context.Background(), &m, variables)
jfyi I've started implementing the thing