Add API to get a single issue

cf. https://developer.github.com/v3/issues/#get-a-single-issue
This commit is contained in:
Keiichi Watanabe
2016-12-19 01:42:13 +09:00
parent 6b3218dd43
commit ffb9bb10f5

View File

@@ -277,6 +277,19 @@ trait ApiControllerBase extends ControllerBase {
org.scalatra.NotFound(ApiError("Rate limiting is not enabled."))
}
/**
* https://developer.github.com/v3/issues/#get-a-single-issue
*/
get("/api/v3/repos/:owner/:repository/issues/:id")(referrersOnly { repository =>
(for{
issueId <- params("id").toIntOpt
issue <- getIssue(repository.owner, repository.name, issueId.toString)
openedUser <- getAccountByUserName(issue.openedUserName)
} yield {
JsonFormat(ApiIssue(issue, RepositoryName(repository), ApiUser(openedUser)))
}) getOrElse NotFound()
})
/**
* https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue
*/