diff options
author | Joe Chen <jc@unknwon.io> | 2023-02-05 16:28:47 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-05 16:28:47 +0800 |
commit | 7ff09cf35916cad50495c26a47f4c0d05487e24e (patch) | |
tree | dc4516234c3a8e72051e2ab1674adb7e7c32c3cc /internal/db/user.go | |
parent | 3c43b9b21c74faf60d62b2cbf2ee89e9ada37f0c (diff) |
refactor(db): migrate methods off `user.go` (#7336)
Diffstat (limited to 'internal/db/user.go')
-rw-r--r-- | internal/db/user.go | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/internal/db/user.go b/internal/db/user.go index 5be64668..9cbc2fa3 100644 --- a/internal/db/user.go +++ b/internal/db/user.go @@ -10,7 +10,6 @@ import ( "os" "time" - log "unknwon.dev/clog/v2" "xorm.io/xorm" "gogs.io/gogs/internal/repoutil" @@ -196,41 +195,3 @@ func DeleteInactivateUsers() (err error) { _, err = x.Where("is_activated = ?", false).Delete(new(EmailAddress)) return err } - -// GetRepositoryAccesses finds all repositories with their access mode where a user has access but does not own. -func (u *User) GetRepositoryAccesses() (map[*Repository]AccessMode, error) { - accesses := make([]*Access, 0, 10) - if err := x.Find(&accesses, &Access{UserID: u.ID}); err != nil { - return nil, err - } - - repos := make(map[*Repository]AccessMode, len(accesses)) - for _, access := range accesses { - repo, err := GetRepositoryByID(access.RepoID) - if err != nil { - if IsErrRepoNotExist(err) { - log.Error("Failed to get repository by ID: %v", err) - continue - } - return nil, err - } - if repo.OwnerID == u.ID { - continue - } - repos[repo] = access.Mode - } - return repos, nil -} - -// GetAccessibleRepositories finds repositories which the user has access but does not own. -// If limit is smaller than 1 means returns all found results. -func (user *User) GetAccessibleRepositories(limit int) (repos []*Repository, _ error) { - sess := x.Where("owner_id !=? ", user.ID).Desc("updated_unix") - if limit > 0 { - sess.Limit(limit) - repos = make([]*Repository, 0, limit) - } else { - repos = make([]*Repository, 0, 10) - } - return repos, sess.Join("INNER", "access", "access.user_id = ? AND access.repo_id = repository.id", user.ID).Find(&repos) -} |