| 28 | } |
| 29 | |
| 30 | func (hc *HTTPClient) CreateUser(username, password string) (string, error) { |
| 31 | const query = `mutation addUser($name: String!, $pass: String!) { |
| 32 | addUser(input: [{name: $name, password: $pass}]) { |
| 33 | user { |
| 34 | name |
| 35 | } |
| 36 | } |
| 37 | }` |
| 38 | params := GraphQLParams{ |
| 39 | Query: query, |
| 40 | Variables: map[string]interface{}{ |
| 41 | "name": username, |
| 42 | "pass": password, |
| 43 | }, |
| 44 | } |
| 45 | resp, err := hc.RunGraphqlQuery(params, true) |
| 46 | if err != nil { |
| 47 | return "", err |
| 48 | } |
| 49 | |
| 50 | var r struct { |
| 51 | AddUser struct { |
| 52 | User []struct { |
| 53 | Name string |
| 54 | } |
| 55 | } |
| 56 | } |
| 57 | if err := json.Unmarshal(resp, &r); err != nil { |
| 58 | return "", errors.Wrap(err, "error unmarshalling response") |
| 59 | } |
| 60 | return r.AddUser.User[0].Name, nil |
| 61 | } |
| 62 | |
| 63 | func (hc *HTTPClient) GetCurrentUser() (string, error) { |
| 64 | const query = `query { |