diff --git a/src/main/scala/service/AccountService.scala b/src/main/scala/service/AccountService.scala index 3454c35..45ee379 100644 --- a/src/main/scala/service/AccountService.scala +++ b/src/main/scala/service/AccountService.scala @@ -10,3 +10,10 @@ Query(Accounts) filter(_.userName is userName.bind) firstOption } + +object AccountService { + + val Normal = 0 + val Administrator = 1 + +} \ No newline at end of file diff --git a/src/main/scala/service/RepositoryService.scala b/src/main/scala/service/RepositoryService.scala index ef57982..8f18879 100644 --- a/src/main/scala/service/RepositoryService.scala +++ b/src/main/scala/service/RepositoryService.scala @@ -79,12 +79,22 @@ */ def getAccessibleRepositories(account: Option[Account], servletContext: ServletContext): List[RepositoryInfo] = { account match { - case Some(x) => { + // for Administrators + case Some(x) if(x.userType == AccountService.Administrator) => { (Query(Repositories) sortBy(_.lastActivityDate desc) list) map { repository => val repositoryInfo = JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, servletContext) RepositoryInfo(repositoryInfo.owner, repositoryInfo.name, repositoryInfo.url, repository, repositoryInfo.branchList, repositoryInfo.tags) } } + // for Normal Users + case Some(x) if(x.userType == AccountService.Normal) => { + // TODO only repositories registered as collaborator + (Query(Repositories) sortBy(_.lastActivityDate desc) list) map { repository => + val repositoryInfo = JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, servletContext) + RepositoryInfo(repositoryInfo.owner, repositoryInfo.name, repositoryInfo.url, repository, repositoryInfo.branchList, repositoryInfo.tags) + } + } + // for Guests case None => { (Query(Repositories) filter(_.repositoryType is Public.bind) sortBy(_.lastActivityDate desc) list) map { repository => val repositoryInfo = JGitUtil.getRepositoryInfo(repository.userName, repository.repositoryName, servletContext)