diff options
author | Joe Chen <jc@unknwon.io> | 2022-10-23 21:22:36 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-23 21:22:36 +0800 |
commit | 3265abfbc22ef36871d8e69f0f9a3a4a5b40b768 (patch) | |
tree | 0079202cdf2e84f7366ba1b1b8064233721f093c /internal/db/repo.go | |
parent | d0a4a3401c1c62def511df42769b13cdfba10a6a (diff) |
refactor(db): migrate perms methods off `user.go` (#7207)
Diffstat (limited to 'internal/db/repo.go')
-rw-r--r-- | internal/db/repo.go | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/internal/db/repo.go b/internal/db/repo.go index 9f889bc2..bb2cd52e 100644 --- a/internal/db/repo.go +++ b/internal/db/repo.go @@ -391,8 +391,17 @@ func (repo *Repository) APIFormatLegacy(permission *api.Permission, user ...*Use if repo.IsFork { p := &api.Permission{Pull: true} if len(user) != 0 { - p.Admin = user[0].IsAdminOfRepo(repo) - p.Push = user[0].IsWriterOfRepo(repo) + accessMode := Perms.AccessMode( + context.TODO(), + user[0].ID, + repo.ID, + AccessModeOptions{ + OwnerID: repo.OwnerID, + Private: repo.IsPrivate, + }, + ) + p.Admin = accessMode >= AccessModeAdmin + p.Push = accessMode >= AccessModeWrite } apiRepo.Parent = repo.BaseRepo.APIFormatLegacy(p) } |