Skip to content

Commit 2dd47e0

Browse files
committed
Fix SQL bug in models/access
Previously got a 'relation repo_access does not exist' error in User_GetRepositoryAccesses
1 parent 467202d commit 2dd47e0

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

models/access.go

+14-11
Original file line numberDiff line numberDiff line change
@@ -96,28 +96,31 @@ func HasAccess(user *User, repo *Repository, testMode AccessMode) (bool, error)
9696
return hasAccess(x, user, repo, testMode)
9797
}
9898

99+
type repoAccess struct {
100+
Access `xorm:"extends"`
101+
Repository `xorm:"extends"`
102+
}
103+
104+
func (repoAccess) TableName() string {
105+
return "access"
106+
}
107+
99108
// GetRepositoryAccesses finds all repositories with their access mode where a user has access but does not own.
100109
func (user *User) GetRepositoryAccesses() (map[*Repository]AccessMode, error) {
101-
accesses := make([]*Access, 0, 10)
102-
type RepoAccess struct {
103-
Access `xorm:"extends"`
104-
Repository `xorm:"extends"`
105-
}
106-
107110
rows, err := x.
108-
Join("INNER", "repository", "respository.id = access.repo_id").
111+
Join("INNER", "repository", "repository.id = access.repo_id").
109112
Where("access.user_id = ?", user.ID).
110113
And("repository.owner_id <> ?", user.ID).
111-
Rows(new(RepoAccess))
114+
Rows(new(repoAccess))
112115
if err != nil {
113116
return nil, err
114117
}
115118
defer rows.Close()
116119

117-
var repos = make(map[*Repository]AccessMode, len(accesses))
118-
var ownerCache = make(map[int64]*User, len(accesses))
120+
var repos = make(map[*Repository]AccessMode, 10)
121+
var ownerCache = make(map[int64]*User, 10)
119122
for rows.Next() {
120-
var repo RepoAccess
123+
var repo repoAccess
121124
err = rows.Scan(&repo)
122125
if err != nil {
123126
return nil, err

0 commit comments

Comments
 (0)