summaryrefslogtreecommitdiffstats
path: root/models/user.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2017-02-17 08:58:19 +0800
committerGitHub <noreply@github.com>2017-02-17 08:58:19 +0800
commit847527fd6dd8e53eea918e6e41da6ebc64be1388 (patch)
treed240617fa9787331e540326bdde4574bfbbeac7c /models/user.go
parent669dad71f830693a83a50e3de52a86e3940497b6 (diff)
downloadgitea-847527fd6dd8e53eea918e6e41da6ebc64be1388.tar.gz
gitea-847527fd6dd8e53eea918e6e41da6ebc64be1388.zip
Fix all the bugs in issues and pulls on dashboard (#943)
* fix all the bugs in issues and pulls on dashboard * small fix and refactor * add method getRepoIDs for IssueList
Diffstat (limited to 'models/user.go')
-rw-r--r--models/user.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/models/user.go b/models/user.go
index 5f0816cd48..c9ddbe7c8b 100644
--- a/models/user.go
+++ b/models/user.go
@@ -500,6 +500,34 @@ func (u *User) GetRepositories(page, pageSize int) (err error) {
return err
}
+// GetRepositoryIDs returns repositories IDs where user owned
+func (u *User) GetRepositoryIDs() ([]int64, error) {
+ var ids []int64
+ return ids, x.Table("repository").Cols("id").Where("owner_id = ?", u.ID).Find(&ids)
+}
+
+// GetOrgRepositoryIDs returns repositories IDs where user's team owned
+func (u *User) GetOrgRepositoryIDs() ([]int64, error) {
+ var ids []int64
+ return ids, x.Table("repository").
+ Cols("repository.id").
+ Join("INNER", "team_user", "repository.owner_id = team_user.org_id AND team_user.uid = ?", u.ID).
+ GroupBy("repository.id").Find(&ids)
+}
+
+// GetAccessRepoIDs returns all repsitories IDs where user's or user is a team member orgnizations
+func (u *User) GetAccessRepoIDs() ([]int64, error) {
+ ids, err := u.GetRepositoryIDs()
+ if err != nil {
+ return nil, err
+ }
+ ids2, err := u.GetOrgRepositoryIDs()
+ if err != nil {
+ return nil, err
+ }
+ return append(ids, ids2...), nil
+}
+
// GetMirrorRepositories returns mirror repositories that user owns, including private repositories.
func (u *User) GetMirrorRepositories() ([]*Repository, error) {
return GetUserMirrorRepositories(u.ID)