| 382 | } |
| 383 | |
| 384 | func (hc *HTTPClient) AddNamespace() (uint64, error) { |
| 385 | const createNs = `mutation { |
| 386 | addNamespace { |
| 387 | namespaceId |
| 388 | message |
| 389 | } |
| 390 | }` |
| 391 | |
| 392 | params := GraphQLParams{Query: createNs} |
| 393 | resp, err := hc.RunGraphqlQuery(params, true) |
| 394 | if err != nil { |
| 395 | return 0, err |
| 396 | } |
| 397 | |
| 398 | var result struct { |
| 399 | AddNamespace struct { |
| 400 | NamespaceId uint64 `json:"namespaceId"` |
| 401 | Message string `json:"message"` |
| 402 | } |
| 403 | } |
| 404 | if err := json.Unmarshal(resp, &result); err != nil { |
| 405 | return 0, errors.Wrap(err, "error unmarshalling response") |
| 406 | } |
| 407 | if strings.Contains(result.AddNamespace.Message, "Created namespace successfully") { |
| 408 | return result.AddNamespace.NamespaceId, nil |
| 409 | } |
| 410 | return 0, errors.New(result.AddNamespace.Message) |
| 411 | } |
| 412 | |
| 413 | func (hc *HTTPClient) DeleteNamespace(nsID uint64) (uint64, error) { |
| 414 | const deleteReq = `mutation deleteNamespace($namespaceId: Int!) { |