mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
Source files keep their SPDX-License-Identifier and Hanzo copyright line; the Gitea, Gogs and LFS Test Server copyrights they used to repeat now live once in NOTICE, alongside LICENSE. The header lint accepts any copyright line above the SPDX line, so it no longer demands an upstream one. Co-authored-by: Hanzo Dev <[email protected]>
47 lines
1015 B
Go
47 lines
1015 B
Go
// Copyright 2026 Hanzo AI, Inc. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package v1_20
|
|
|
|
import (
|
|
"github.com/hanzoai/git/models/db"
|
|
"github.com/hanzoai/git/modules/log"
|
|
)
|
|
|
|
func FixIncorrectOwnerTeamUnitAccessMode(x db.EngineMigration) error {
|
|
type UnitType int
|
|
type AccessMode int
|
|
|
|
type TeamUnit struct {
|
|
ID int64 `xorm:"pk autoincr"`
|
|
OrgID int64 `xorm:"INDEX"`
|
|
TeamID int64 `xorm:"UNIQUE(s)"`
|
|
Type UnitType `xorm:"UNIQUE(s)"`
|
|
AccessMode AccessMode
|
|
}
|
|
|
|
const (
|
|
// AccessModeOwner owner access
|
|
AccessModeOwner = 4
|
|
)
|
|
|
|
sess := x.NewSession()
|
|
defer sess.Close()
|
|
|
|
if err := sess.Begin(); err != nil {
|
|
return err
|
|
}
|
|
|
|
count, err := sess.Table("team_unit").
|
|
Where("team_id IN (SELECT id FROM team WHERE authorize = ?)", AccessModeOwner).
|
|
Update(&TeamUnit{
|
|
AccessMode: AccessModeOwner,
|
|
})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
log.Debug("Updated %d owner team unit access mode to belong to owner instead of none", count)
|
|
|
|
return sess.Commit()
|
|
}
|