diff --git a/src/main/scala/gitbucket/core/api/ApiPullRequest.scala b/src/main/scala/gitbucket/core/api/ApiPullRequest.scala index 7577525..52bb9a7 100644 --- a/src/main/scala/gitbucket/core/api/ApiPullRequest.scala +++ b/src/main/scala/gitbucket/core/api/ApiPullRequest.scala @@ -31,7 +31,8 @@ } object ApiPullRequest{ - def apply(issue: Issue, pullRequest: PullRequest, headRepo: ApiRepository, baseRepo: ApiRepository, user: ApiUser): ApiPullRequest = ApiPullRequest( + def apply(issue: Issue, pullRequest: PullRequest, headRepo: ApiRepository, baseRepo: ApiRepository, user: ApiUser): ApiPullRequest = + ApiPullRequest( number = issue.issueId, updated_at = issue.updatedDate, created_at = issue.registeredDate, diff --git a/src/main/scala/gitbucket/core/api/ApiRepository.scala b/src/main/scala/gitbucket/core/api/ApiRepository.scala index dce8443..9c7377c 100644 --- a/src/main/scala/gitbucket/core/api/ApiRepository.scala +++ b/src/main/scala/gitbucket/core/api/ApiRepository.scala @@ -14,11 +14,11 @@ `private`: Boolean, default_branch: String, owner: ApiUser)(urlIsHtmlUrl: Boolean) { - val forks_count = forks + val forks_count = forks val watchers_count = watchers - val url = if(urlIsHtmlUrl){ + val url = if(urlIsHtmlUrl){ ApiPath(s"/${full_name}") - }else{ + } else { ApiPath(s"/api/v3/repos/${full_name}") } val http_url = ApiPath(s"/git/${full_name}.git") @@ -34,14 +34,14 @@ watchers: Int = 0, urlIsHtmlUrl: Boolean = false): ApiRepository = ApiRepository( - name = repository.repositoryName, - full_name = s"${repository.userName}/${repository.repositoryName}", - description = repository.description.getOrElse(""), - watchers = 0, - forks = forkedCount, - `private` = repository.isPrivate, + name = repository.repositoryName, + full_name = s"${repository.userName}/${repository.repositoryName}", + description = repository.description.getOrElse(""), + watchers = 0, + forks = forkedCount, + `private` = repository.isPrivate, default_branch = repository.defaultBranch, - owner = owner + owner = owner )(urlIsHtmlUrl) def apply(repositoryInfo: RepositoryInfo, owner: ApiUser): ApiRepository = diff --git a/src/main/scala/gitbucket/core/controller/ApiController.scala b/src/main/scala/gitbucket/core/controller/ApiController.scala index 11d764b..c657ee2 100644 --- a/src/main/scala/gitbucket/core/controller/ApiController.scala +++ b/src/main/scala/gitbucket/core/controller/ApiController.scala @@ -119,7 +119,9 @@ }) getOrElse NotFound }) - /** https://developer.github.com/v3/repos/#enabling-and-disabling-branch-protection */ + /** + * https://developer.github.com/v3/repos/#enabling-and-disabling-branch-protection + */ patch("/api/v3/repos/:owner/:repo/branches/:branch")(ownerOnly { repository => import gitbucket.core.api._ (for{ @@ -261,18 +263,28 @@ * https://developer.github.com/v3/pulls/#list-pull-requests */ get("/api/v3/repos/:owner/:repository/pulls")(referrersOnly { repository => - val page = IssueSearchCondition.page(request) + val page = IssueSearchCondition.page(request) // TODO: more api spec condition val condition = IssueSearchCondition(request) val baseOwner = getAccountByUserName(repository.owner).get - val issues:List[(Issue, Account, Int, PullRequest, Repository, Account)] = searchPullRequestByApi(condition, (page - 1) * PullRequestLimit, PullRequestLimit, repository.owner -> repository.name) - JsonFormat(issues.map{case (issue, issueUser, commentCount, pullRequest, headRepo, headOwner) => + + val issues: List[(Issue, Account, Int, PullRequest, Repository, Account)] = + searchPullRequestByApi( + condition = condition, + offset = (page - 1) * PullRequestLimit, + limit = PullRequestLimit, + repos = repository.owner -> repository.name + ) + + JsonFormat(issues.map { case (issue, issueUser, commentCount, pullRequest, headRepo, headOwner) => ApiPullRequest( issue, pullRequest, ApiRepository(headRepo, ApiUser(headOwner)), ApiRepository(repository, ApiUser(baseOwner)), - ApiUser(issueUser)) }) + ApiUser(issueUser) + ) + }) }) /**