mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-10 13:26:53 +00:00
b0d5a63e7a
* fix: #39571 * ref: https://github.com/go-gitea/gitea/pull/38938#pullrequestreview-4945228548 * fix the bug in `assignTeamPermissionUnits` which can result in wrong team access --------- Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
26 lines
845 B
Go
26 lines
845 B
Go
// Copyright 2026 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package v29
|
|
|
|
import (
|
|
"context"
|
|
|
|
"gitea.dev/modelmigration/base"
|
|
)
|
|
|
|
// NormalizeLegacyTeamAuthorize sets leftover read/write authorize values to none.
|
|
// https://github.com/go-gitea/gitea/pull/34128 made non-admin teams use team_unit (authorize=none).
|
|
// Any positive authorize now means blanket access on every unit; migrating legacy read/write
|
|
// to none preserves their existing team_unit-scoped access.
|
|
func NormalizeLegacyTeamAuthorize(_ context.Context, x base.EngineMigration) error {
|
|
// AccessModeNone=0, AccessModeRead=1, AccessModeWrite=2, AccessModeAdmin=3
|
|
_, err := x.Exec(`
|
|
UPDATE team SET authorize = 0
|
|
WHERE authorize > 0 AND authorize < 3
|
|
AND EXISTS (
|
|
SELECT 1 FROM team_unit WHERE team_unit.team_id = team.id
|
|
);`)
|
|
return err
|
|
}
|