loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

some less naked returns (#25682)

fix upcoming lint issues

authored by

6543 and committed by
GitHub
934124c6 f4c1f436

+22 -20
+21 -19
models/perm/access/repo_permission.go
··· 127 127 } 128 128 129 129 // GetUserRepoPermission returns the user permissions to the repository 130 - func GetUserRepoPermission(ctx context.Context, repo *repo_model.Repository, user *user_model.User) (perm Permission, err error) { 130 + func GetUserRepoPermission(ctx context.Context, repo *repo_model.Repository, user *user_model.User) (Permission, error) { 131 + var perm Permission 131 132 if log.IsTrace() { 132 133 defer func() { 133 134 if user == nil { ··· 147 148 // TODO: anonymous user visit public unit of private repo??? 148 149 if user == nil && repo.IsPrivate { 149 150 perm.AccessMode = perm_model.AccessModeNone 150 - return 151 + return perm, nil 151 152 } 152 153 153 - var is bool 154 + var isCollaborator bool 155 + var err error 154 156 if user != nil { 155 - is, err = repo_model.IsCollaborator(ctx, repo.ID, user.ID) 157 + isCollaborator, err = repo_model.IsCollaborator(ctx, repo.ID, user.ID) 156 158 if err != nil { 157 159 return perm, err 158 160 } 159 161 } 160 162 161 - if err = repo.LoadOwner(ctx); err != nil { 162 - return 163 + if err := repo.LoadOwner(ctx); err != nil { 164 + return perm, err 163 165 } 164 166 165 167 // Prevent strangers from checking out public repo of private organization/users 166 168 // Allow user if they are collaborator of a repo within a private user or a private organization but not a member of the organization itself 167 - if !organization.HasOrgOrUserVisible(ctx, repo.Owner, user) && !is { 169 + if !organization.HasOrgOrUserVisible(ctx, repo.Owner, user) && !isCollaborator { 168 170 perm.AccessMode = perm_model.AccessModeNone 169 - return 171 + return perm, nil 170 172 } 171 173 172 - if err = repo.LoadUnits(ctx); err != nil { 173 - return 174 + if err := repo.LoadUnits(ctx); err != nil { 175 + return perm, err 174 176 } 175 177 176 178 perm.Units = repo.Units ··· 178 180 // anonymous visit public repo 179 181 if user == nil { 180 182 perm.AccessMode = perm_model.AccessModeRead 181 - return 183 + return perm, nil 182 184 } 183 185 184 186 // Admin or the owner has super access to the repository 185 187 if user.IsAdmin || user.ID == repo.OwnerID { 186 188 perm.AccessMode = perm_model.AccessModeOwner 187 - return 189 + return perm, nil 188 190 } 189 191 190 192 // plain user 191 193 perm.AccessMode, err = accessLevel(ctx, user, repo) 192 194 if err != nil { 193 - return 195 + return perm, err 194 196 } 195 197 196 - if err = repo.LoadOwner(ctx); err != nil { 197 - return 198 + if err := repo.LoadOwner(ctx); err != nil { 199 + return perm, err 198 200 } 199 201 if !repo.Owner.IsOrganization() { 200 - return 202 + return perm, nil 201 203 } 202 204 203 205 perm.UnitsMode = make(map[unit.Type]perm_model.AccessMode) 204 206 205 207 // Collaborators on organization 206 - if is { 208 + if isCollaborator { 207 209 for _, u := range repo.Units { 208 210 perm.UnitsMode[u.Type] = perm.AccessMode 209 211 } ··· 212 214 // get units mode from teams 213 215 teams, err := organization.GetUserRepoTeams(ctx, repo.OwnerID, user.ID, repo.ID) 214 216 if err != nil { 215 - return 217 + return perm, err 216 218 } 217 219 218 220 // if user in an owner team ··· 220 222 if team.AccessMode >= perm_model.AccessModeAdmin { 221 223 perm.AccessMode = perm_model.AccessModeOwner 222 224 perm.UnitsMode = nil 223 - return 225 + return perm, nil 224 226 } 225 227 } 226 228
+1 -1
models/repo/release.go
··· 339 339 // GetReleaseAttachments retrieves the attachments for releases 340 340 func GetReleaseAttachments(ctx context.Context, rels ...*Release) (err error) { 341 341 if len(rels) == 0 { 342 - return 342 + return nil 343 343 } 344 344 345 345 // To keep this efficient as possible sort all releases by id,