mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-06 13:35:50 +01:00
Fix query in RepositoryService#getVisibleRepositories fluently :-)
This commit is contained in:
@@ -90,8 +90,7 @@ trait RepositoryService { self: AccountService =>
|
|||||||
* @return the repository information which is sorted in descending order of lastActivityDate.
|
* @return the repository information which is sorted in descending order of lastActivityDate.
|
||||||
*/
|
*/
|
||||||
def getVisibleRepositories(loginAccount: Option[Account], baseUrl: String, repositoryUserName: Option[String] = None): List[RepositoryInfo] = {
|
def getVisibleRepositories(loginAccount: Option[Account], baseUrl: String, repositoryUserName: Option[String] = None): List[RepositoryInfo] = {
|
||||||
|
(loginAccount match {
|
||||||
val query = loginAccount match {
|
|
||||||
// for Administrators
|
// for Administrators
|
||||||
case Some(x) if(x.isAdmin) => Query(Repositories)
|
case Some(x) if(x.isAdmin) => Query(Repositories)
|
||||||
// for Normal Users
|
// for Normal Users
|
||||||
@@ -101,11 +100,9 @@ trait RepositoryService { self: AccountService =>
|
|||||||
}
|
}
|
||||||
// for Guests
|
// for Guests
|
||||||
case None => Query(Repositories) filter(_.isPrivate is false.bind)
|
case None => Query(Repositories) filter(_.isPrivate is false.bind)
|
||||||
}
|
}).filter { t =>
|
||||||
|
repositoryUserName.map { userName => t.userName is userName.bind } getOrElse ConstColumn.TRUE
|
||||||
val filtered = repositoryUserName.map { userName => query.filter(_.userName is userName.bind) } getOrElse query
|
}.sortBy(_.lastActivityDate desc).list.map{ repository =>
|
||||||
|
|
||||||
filtered.sortBy(_.lastActivityDate desc).list.map{ repository =>
|
|
||||||
new RepositoryInfo(JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, baseUrl), repository)
|
new RepositoryInfo(JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, baseUrl), repository)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user