TeamMember: Treat null permission as member (#104195)

12.0.1-fix-team-membership
Jo 3 months ago committed by Stephanie Hingtgen
parent 73549f8972
commit 6e85d22dd2
No known key found for this signature in database
GPG Key ID: 53B53CC8FFFFB1D0
  1. 15
      pkg/registry/apis/iam/legacy/user.go

@ -259,13 +259,24 @@ func (s *legacySQLStore) ListUserTeams(ctx context.Context, ns claims.NamespaceI
var lastID int64
for rows.Next() {
t := UserTeam{}
err := rows.Scan(&t.ID, &t.UID, &t.Name, &t.Permission)
// regression: team_member.permission has been nulled in some instances
// Team memberships created before the permission column was added will have a NULL value
var nullablePermission *int64
err := rows.Scan(&t.ID, &t.UID, &t.Name, &nullablePermission)
if err != nil {
return nil, err
}
lastID = t.ID
if nullablePermission != nil {
t.Permission = team.PermissionType(*nullablePermission)
} else {
// treat NULL as member permission
t.Permission = team.PermissionType(0)
}
res.Items = append(res.Items, t)
lastID = t.ID
if len(res.Items) > int(query.Pagination.Limit)-1 {
res.Continue = lastID
res.Items = res.Items[0 : len(res.Items)-1]

Loading…
Cancel
Save