7db2f110ad
* Add API to get issue/pull comments and events (timeline) Adds an API to get both comments and events in one endpoint with all required data. Closes go-gitea/gitea#13250 * Fix swagger * Don't show code comments (use review api instead) * fmt * Fix comment * Time -> TrackedTime * Use var directly * Add logger * Fix lint * Fix test * Add comments * fmt * [test] get issue directly by ID * Update test * Add description for changed refs * Fix build issues + lint * Fix build * Use string enums * Update swagger * Support `page` and `limit` params * fmt + swagger * Use global slices Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
82 lines
2.5 KiB
Go
82 lines
2.5 KiB
Go
// Copyright 2016 The Gogs Authors. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package structs
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// Comment represents a comment on a commit or issue
|
|
type Comment struct {
|
|
ID int64 `json:"id"`
|
|
HTMLURL string `json:"html_url"`
|
|
PRURL string `json:"pull_request_url"`
|
|
IssueURL string `json:"issue_url"`
|
|
Poster *User `json:"user"`
|
|
OriginalAuthor string `json:"original_author"`
|
|
OriginalAuthorID int64 `json:"original_author_id"`
|
|
Body string `json:"body"`
|
|
// swagger:strfmt date-time
|
|
Created time.Time `json:"created_at"`
|
|
// swagger:strfmt date-time
|
|
Updated time.Time `json:"updated_at"`
|
|
}
|
|
|
|
// CreateIssueCommentOption options for creating a comment on an issue
|
|
type CreateIssueCommentOption struct {
|
|
// required:true
|
|
Body string `json:"body" binding:"Required"`
|
|
}
|
|
|
|
// EditIssueCommentOption options for editing a comment
|
|
type EditIssueCommentOption struct {
|
|
// required: true
|
|
Body string `json:"body" binding:"Required"`
|
|
}
|
|
|
|
// TimelineComment represents a timeline comment (comment of any type) on a commit or issue
|
|
type TimelineComment struct {
|
|
ID int64 `json:"id"`
|
|
Type string `json:"type"`
|
|
|
|
HTMLURL string `json:"html_url"`
|
|
PRURL string `json:"pull_request_url"`
|
|
IssueURL string `json:"issue_url"`
|
|
Poster *User `json:"user"`
|
|
Body string `json:"body"`
|
|
// swagger:strfmt date-time
|
|
Created time.Time `json:"created_at"`
|
|
// swagger:strfmt date-time
|
|
Updated time.Time `json:"updated_at"`
|
|
|
|
OldProjectID int64 `json:"old_project_id"`
|
|
ProjectID int64 `json:"project_id"`
|
|
OldMilestone *Milestone `json:"old_milestone"`
|
|
Milestone *Milestone `json:"milestone"`
|
|
TrackedTime *TrackedTime `json:"tracked_time"`
|
|
OldTitle string `json:"old_title"`
|
|
NewTitle string `json:"new_title"`
|
|
OldRef string `json:"old_ref"`
|
|
NewRef string `json:"new_ref"`
|
|
|
|
RefIssue *Issue `json:"ref_issue"`
|
|
RefComment *Comment `json:"ref_comment"`
|
|
RefAction string `json:"ref_action"`
|
|
// commit SHA where issue/PR was referenced
|
|
RefCommitSHA string `json:"ref_commit_sha"`
|
|
|
|
ReviewID int64 `json:"review_id"`
|
|
|
|
Label *Label `json:"label"`
|
|
|
|
Assignee *User `json:"assignee"`
|
|
AssigneeTeam *Team `json:"assignee_team"`
|
|
// whether the assignees were removed or added
|
|
RemovedAssignee bool `json:"removed_assignee"`
|
|
|
|
ResolveDoer *User `json:"resolve_doer"`
|
|
|
|
DependentIssue *Issue `json:"dependent_issue"`
|
|
}
|