summaryrefslogtreecommitdiffstats
path: root/models/repo.go
diff options
context:
space:
mode:
authorEthan Koenig <ethantkoenig@gmail.com>2016-12-05 18:48:51 -0500
committerKim "BKC" Carlbäcker <kim.carlbacker@gmail.com>2016-12-07 12:55:24 +0100
commit04b9a7e7a22d968790aeee9c316391252b0aaf67 (patch)
treeeb7af4ff5dbe06439511779331aac0b2de3a8c04 /models/repo.go
parent08b9af9ad8861352d1b68d15b33ef265352a2f4a (diff)
downloadgitea-04b9a7e7a22d968790aeee9c316391252b0aaf67.tar.gz
gitea-04b9a7e7a22d968790aeee9c316391252b0aaf67.zip
Bug fixes for repo permissions in API
Also move duplicated code into repo.APIFormat(..)
Diffstat (limited to 'models/repo.go')
-rw-r--r--models/repo.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/models/repo.go b/models/repo.go
index af74e6c8fc..f339234fb4 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -277,8 +277,13 @@ func (repo *Repository) HTMLURL() string {
// APIFormat converts a Repository to api.Repository
// Arguments that are allowed to be nil: permission
-func (repo *Repository) APIFormat(permission *api.Permission) *api.Repository {
+func (repo *Repository) APIFormat(mode AccessMode) *api.Repository {
cloneLink := repo.CloneLink()
+ permission := &api.Permission{
+ Admin: mode >= AccessModeAdmin,
+ Push: mode >= AccessModeWrite,
+ Pull: mode >= AccessModeRead,
+ }
return &api.Repository{
ID: repo.ID,
Owner: repo.Owner.APIFormat(),