aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/xanzy/go-gitlab/todos.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/xanzy/go-gitlab/todos.go')
-rw-r--r--vendor/github.com/xanzy/go-gitlab/todos.go175
1 files changed, 0 insertions, 175 deletions
diff --git a/vendor/github.com/xanzy/go-gitlab/todos.go b/vendor/github.com/xanzy/go-gitlab/todos.go
deleted file mode 100644
index db58edd..0000000
--- a/vendor/github.com/xanzy/go-gitlab/todos.go
+++ /dev/null
@@ -1,175 +0,0 @@
-package gitlab
-
-import "time"
-import "fmt"
-
-// TodosService handles communication with the todos related methods of
-// the Gitlab API.
-//
-// GitLab API docs: https://docs.gitlab.com/ce/api/todos.html
-type TodosService struct {
- client *Client
-}
-
-// TodoAction represents the available actions that can be performed on a todo.
-//
-// GitLab API docs: https://docs.gitlab.com/ce/api/todos.html
-type TodoAction string
-
-// The available todo actions.
-const (
- TodoAssigned TodoAction = "assigned"
- TodoMentioned TodoAction = "mentioned"
- TodoBuildFailed TodoAction = "build_failed"
- TodoMarked TodoAction = "marked"
- TodoApprovalRequired TodoAction = "approval_required"
- TodoDirectlyAddressed TodoAction = "directly_addressed"
-)
-
-// TodoTarget represents a todo target of type Issue or MergeRequest
-type TodoTarget struct {
- // TODO: replace both Assignee and Author structs with v4 User struct
- Assignee struct {
- Name string `json:"name"`
- Username string `json:"username"`
- ID int `json:"id"`
- State string `json:"state"`
- AvatarURL string `json:"avatar_url"`
- WebURL string `json:"web_url"`
- } `json:"assignee"`
- Author struct {
- Name string `json:"name"`
- Username string `json:"username"`
- ID int `json:"id"`
- State string `json:"state"`
- AvatarURL string `json:"avatar_url"`
- WebURL string `json:"web_url"`
- } `json:"author"`
- CreatedAt *time.Time `json:"created_at"`
- Description string `json:"description"`
- Downvotes int `json:"downvotes"`
- ID int `json:"id"`
- IID int `json:"iid"`
- Labels []string `json:"labels"`
- Milestone Milestone `json:"milestone"`
- ProjectID int `json:"project_id"`
- State string `json:"state"`
- Subscribed bool `json:"subscribed"`
- Title string `json:"title"`
- UpdatedAt *time.Time `json:"updated_at"`
- Upvotes int `json:"upvotes"`
- UserNotesCount int `json:"user_notes_count"`
- WebURL string `json:"web_url"`
-
- // Only available for type Issue
- Confidential bool `json:"confidential"`
- DueDate string `json:"due_date"`
- Weight int `json:"weight"`
-
- // Only available for type MergeRequest
- ApprovalsBeforeMerge bool `json:"approvals_before_merge"`
- ForceRemoveSourceBranch bool `json:"force_remove_source_branch"`
- MergeCommitSha string `json:"merge_commit_sha"`
- MergeWhenPipelineSucceeds bool `json:"merge_when_pipeline_succeeds"`
- MergeStatus string `json:"merge_status"`
- Sha string `json:"sha"`
- ShouldRemoveSourceBranch bool `json:"should_remove_source_branch"`
- SourceBranch string `json:"source_branch"`
- SourceProjectID int `json:"source_project_id"`
- Squash bool `json:"squash"`
- TargetBranch string `json:"target_branch"`
- TargetProjectID int `json:"target_project_id"`
- WorkInProgress bool `json:"work_in_progress"`
-}
-
-// Todo represents a GitLab todo.
-//
-// GitLab API docs: https://docs.gitlab.com/ce/api/todos.html
-type Todo struct {
- ID int `json:"id"`
- Project struct {
- ID int `json:"id"`
- HTTPURLToRepo string `json:"http_url_to_repo"`
- WebURL string `json:"web_url"`
- Name string `json:"name"`
- NameWithNamespace string `json:"name_with_namespace"`
- Path string `json:"path"`
- PathWithNamespace string `json:"path_with_namespace"`
- } `json:"project"`
- Author struct {
- ID int `json:"id"`
- Name string `json:"name"`
- Username string `json:"username"`
- State string `json:"state"`
- AvatarURL string `json:"avatar_url"`
- WebURL string `json:"web_url"`
- } `json:"author"`
- ActionName TodoAction `json:"action_name"`
- TargetType string `json:"target_type"`
- Target TodoTarget `json:"target"`
- TargetURL string `json:"target_url"`
- Body string `json:"body"`
- State string `json:"state"`
- CreatedAt *time.Time `json:"created_at"`
-}
-
-func (t Todo) String() string {
- return Stringify(t)
-}
-
-// ListTodosOptions represents the available ListTodos() options.
-//
-// GitLab API docs: https://docs.gitlab.com/ce/api/todos.html#get-a-list-of-todos
-type ListTodosOptions struct {
- Action *TodoAction `url:"action,omitempty" json:"action,omitempty"`
- AuthorID *int `url:"author_id,omitempty" json:"author_id,omitempty"`
- ProjectID *int `url:"project_id,omitempty" json:"project_id,omitempty"`
- State *string `url:"state,omitempty" json:"state,omitempty"`
- Type *string `url:"type,omitempty" json:"type,omitempty"`
-}
-
-// ListTodos lists all todos created by authenticated user.
-// When no filter is applied, it returns all pending todos for the current user.
-//
-// GitLab API docs:
-// https://docs.gitlab.com/ce/api/todos.html#get-a-list-of-todos
-func (s *TodosService) ListTodos(opt *ListTodosOptions, options ...OptionFunc) ([]*Todo, *Response, error) {
- req, err := s.client.NewRequest("GET", "todos", opt, options)
- if err != nil {
- return nil, nil, err
- }
-
- var t []*Todo
- resp, err := s.client.Do(req, &t)
- if err != nil {
- return nil, resp, err
- }
-
- return t, resp, err
-}
-
-// MarkTodoAsDone marks a single pending todo given by its ID for the current user as done.
-//
-// GitLab API docs: https://docs.gitlab.com/ce/api/todos.html#mark-a-todo-as-done
-func (s *TodosService) MarkTodoAsDone(id int, options ...OptionFunc) (*Response, error) {
- u := fmt.Sprintf("todos/%d/mark_as_done", id)
-
- req, err := s.client.NewRequest("POST", u, nil, options)
- if err != nil {
- return nil, err
- }
-
- return s.client.Do(req, nil)
-}
-
-// MarkAllTodosAsDone marks all pending todos for the current user as done.
-//
-// GitLab API docs: https://docs.gitlab.com/ce/api/todos.html#mark-all-todos-as-done
-func (s *TodosService) MarkAllTodosAsDone(options ...OptionFunc) (*Response, error) {
- req, err := s.client.NewRequest("POST", "todos/mark_as_done", nil, options)
- if err != nil {
- return nil, err
- }
-
- return s.client.Do(req, nil)
-}