refactor(db): migrate methods off user.go (#7336)

This commit is contained in:
Joe Chen
2023-02-05 16:28:47 +08:00
committed by GitHub
parent 3c43b9b21c
commit 7ff09cf359
9 changed files with 410 additions and 55 deletions

View File

@@ -116,26 +116,26 @@ func listUserRepositories(c *context.APIContext, username string) {
return
}
accessibleRepos, err := user.GetRepositoryAccesses()
accessibleRepos, err := db.Repos.GetByCollaboratorIDWithAccessMode(c.Req.Context(), user.ID)
if err != nil {
c.Error(err, "get repositories accesses")
c.Error(err, "get repositories accesses by collaborator")
return
}
numOwnRepos := len(ownRepos)
repos := make([]*api.Repository, numOwnRepos+len(accessibleRepos))
for i := range ownRepos {
repos[i] = ownRepos[i].APIFormatLegacy(&api.Permission{Admin: true, Push: true, Pull: true})
repos := make([]*api.Repository, 0, numOwnRepos+len(accessibleRepos))
for _, r := range ownRepos {
repos = append(repos, r.APIFormatLegacy(&api.Permission{Admin: true, Push: true, Pull: true}))
}
i := numOwnRepos
for repo, access := range accessibleRepos {
repos[i] = repo.APIFormatLegacy(&api.Permission{
Admin: access >= db.AccessModeAdmin,
Push: access >= db.AccessModeWrite,
Pull: true,
})
i++
repos = append(repos,
repo.APIFormatLegacy(&api.Permission{
Admin: access >= db.AccessModeAdmin,
Push: access >= db.AccessModeWrite,
Pull: true,
}),
)
}
c.JSONSuccess(&repos)