(refs #2)Implementing 'Pull Requests' tab in the dashboard.

This commit is contained in:
takezoe
2013-08-06 22:04:09 +09:00
parent 50655d1ac2
commit 908931b9ed
7 changed files with 191 additions and 98 deletions

View File

@@ -18,13 +18,13 @@ trait PullRequestService { self: IssuesService =>
} else None
}
def getPullRequestCount(closed: Boolean, repository: Option[(String, String)]): List[PullRequestCount] =
def getPullRequestCount(closed: Boolean, owner: String, repository: Option[String]): List[PullRequestCount] =
Query(PullRequests)
.innerJoin(Issues).on { (t1, t2) => t1.byPrimaryKey(t2.userName, t2.repositoryName, t2.issueId) }
.filter { case (t1, t2) =>
(t2.closed is closed.bind) &&
(t1.userName is repository.get._1, repository.isDefined) &&
(t1.repositoryName is repository.get._2, repository.isDefined)
(t1.userName is owner.bind) &&
(t1.repositoryName is repository.get.bind, repository.isDefined)
}
.groupBy { case (t1, t2) => t2.openedUserName }
.map { case (userName, t) => userName ~ t.length }