This method assumes following fields have been assigned with valid values: Required - Issue, BaseRepo Optional - HeadRepo, Merger
()
| 128 | // Required - Issue, BaseRepo |
| 129 | // Optional - HeadRepo, Merger |
| 130 | func (pr *PullRequest) APIFormat() *api.PullRequest { |
| 131 | // In case of head repo has been deleted. |
| 132 | var apiHeadRepo *api.Repository |
| 133 | if pr.HeadRepo == nil { |
| 134 | apiHeadRepo = &api.Repository{ |
| 135 | Name: "deleted", |
| 136 | } |
| 137 | } else { |
| 138 | apiHeadRepo = pr.HeadRepo.APIFormatLegacy(nil) |
| 139 | } |
| 140 | |
| 141 | apiIssue := pr.Issue.APIFormat() |
| 142 | apiPullRequest := &api.PullRequest{ |
| 143 | ID: pr.ID, |
| 144 | Index: pr.Index, |
| 145 | Poster: apiIssue.Poster, |
| 146 | Title: apiIssue.Title, |
| 147 | Body: apiIssue.Body, |
| 148 | Labels: apiIssue.Labels, |
| 149 | Milestone: apiIssue.Milestone, |
| 150 | Assignee: apiIssue.Assignee, |
| 151 | State: apiIssue.State, |
| 152 | Comments: apiIssue.Comments, |
| 153 | HeadBranch: pr.HeadBranch, |
| 154 | HeadRepo: apiHeadRepo, |
| 155 | BaseBranch: pr.BaseBranch, |
| 156 | BaseRepo: pr.BaseRepo.APIFormatLegacy(nil), |
| 157 | HTMLURL: pr.Issue.HTMLURL(), |
| 158 | HasMerged: pr.HasMerged, |
| 159 | } |
| 160 | |
| 161 | if pr.Status != PullRequestStatusChecking { |
| 162 | mergeable := pr.Status != PullRequestStatusConflict |
| 163 | apiPullRequest.Mergeable = &mergeable |
| 164 | } |
| 165 | if pr.HasMerged { |
| 166 | apiPullRequest.Merged = &pr.Merged |
| 167 | apiPullRequest.MergedCommitID = &pr.MergedCommitID |
| 168 | apiPullRequest.MergedBy = pr.Merger.APIFormat() |
| 169 | } |
| 170 | |
| 171 | return apiPullRequest |
| 172 | } |
| 173 | |
| 174 | // IsChecking returns true if this pull request is still checking conflict. |
| 175 | func (pr *PullRequest) IsChecking() bool { |
no test coverage detected