diff options
author | Unknown <joe2010xtmf@163.com> | 2014-05-01 11:32:12 -0400 |
---|---|---|
committer | Unknown <joe2010xtmf@163.com> | 2014-05-01 11:32:12 -0400 |
commit | f6c4fbeb37bc7fcbc947c162358c39e9bed90488 (patch) | |
tree | 37d9ba100ba006b9d322014bff1975014b8f3fd3 /models | |
parent | 0dfb5560cdee369b2292071d14d750b2477c6086 (diff) |
Collaborator
Diffstat (limited to 'models')
-rw-r--r-- | models/access.go | 6 | ||||
-rw-r--r-- | models/repo.go | 14 |
2 files changed, 20 insertions, 0 deletions
diff --git a/models/access.go b/models/access.go index 970f4a94..749a2604 100644 --- a/models/access.go +++ b/models/access.go @@ -42,6 +42,12 @@ func UpdateAccess(access *Access) error { return err } +// DeleteAccess deletes access record. +func DeleteAccess(access *Access) error { + _, err := orm.Delete(access) + return err +} + // UpdateAccess updates access information with session for rolling back. func UpdateAccessWithSession(sess *xorm.Session, access *Access) error { if _, err := sess.Id(access.Id).Update(access); err != nil { diff --git a/models/repo.go b/models/repo.go index 5e193787..be889cba 100644 --- a/models/repo.go +++ b/models/repo.go @@ -712,6 +712,20 @@ func GetRepositoryCount(user *User) (int64, error) { return orm.Count(&Repository{OwnerId: user.Id}) } +// GetCollaborators returns a list of user name of repository's collaborators. +func GetCollaborators(repoName string) ([]string, error) { + accesses := make([]*Access, 0, 10) + if err := orm.Find(&accesses, &Access{RepoName: strings.ToLower(repoName)}); err != nil { + return nil, err + } + + names := make([]string, len(accesses)) + for i := range accesses { + names[i] = accesses[i].UserName + } + return names, nil +} + // Watch is connection request for receiving repository notifycation. type Watch struct { Id int64 |