CreateTask creates a new task.
(ctx context.Context, user string, request CreateTaskRequest)
| 23 | |
| 24 | // CreateTask creates a new task. |
| 25 | func (c *Client) CreateTask(ctx context.Context, user string, request CreateTaskRequest) (Task, error) { |
| 26 | res, err := c.Request(ctx, http.MethodPost, fmt.Sprintf("/api/v2/tasks/%s", user), request) |
| 27 | if err != nil { |
| 28 | return Task{}, err |
| 29 | } |
| 30 | defer res.Body.Close() |
| 31 | |
| 32 | if res.StatusCode != http.StatusCreated { |
| 33 | return Task{}, ReadBodyAsError(res) |
| 34 | } |
| 35 | |
| 36 | var task Task |
| 37 | if err := json.NewDecoder(res.Body).Decode(&task); err != nil { |
| 38 | return Task{}, err |
| 39 | } |
| 40 | |
| 41 | return task, nil |
| 42 | } |
| 43 | |
| 44 | // TaskStatus represents the status of a task. |
| 45 | type TaskStatus string |