[release-12.0.0] TeamMember: Treat null permission as member (#104195) (#104251)

TeamMember: Treat null permission as member (#104195)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
This commit is contained in:
Stephanie Hingtgen
2025-04-22 09:46:14 +02:00
committed by GitHub
co-authored by Jo
parent f19da9e572
commit dea4745553
+13 -2
View File
@@ -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]