update GetUserRepoPermission

ensure we check the parent group's unit permissions as well
This commit is contained in:
☙◦ The Tablet ❀ GamerGirlandCo ◦❧
2026-04-02 20:01:12 -04:00
parent 83d982cc38
commit aae627e4e8
+6 -1
View File
@@ -483,7 +483,7 @@ func GetIndividualUserRepoPermission(ctx context.Context, repo *repo_model.Repos
return perm, nil
}
}
groupTeams, err := group_model.FindGroupTeams(ctx, repo.GroupID)
groupTeams, err := group_model.FindUserGroupTeams(ctx, repo.GroupID, user.ID)
for _, team := range groupTeams {
if team.AccessMode >= perm_model.AccessModeAdmin {
perm.AccessMode = perm_model.AccessModeOwner
@@ -498,6 +498,11 @@ func GetIndividualUserRepoPermission(ctx context.Context, repo *repo_model.Repos
unitAccessMode := max(perm.unitsMode[u.Type], minAccessMode, teamMode)
perm.unitsMode[u.Type] = unitAccessMode
}
for _, team := range groupTeams {
teamMode, _ := team.UnitAccessModeEx(ctx, u.Type)
unitAccessMode := max(perm.unitsMode[u.Type], minAccessMode, teamMode)
perm.unitsMode[u.Type] = unitAccessMode
}
}
return perm, err