IAM: Add uid column in team_member DB table (#112439)

* add uid column in team_member DB table

* generate openapi
This commit is contained in:
Mihai Doarna
2025-10-16 12:01:22 +03:00
committed by GitHub
parent 3f9bf130c7
commit 52007d4854
5 changed files with 30 additions and 7 deletions
@@ -83,4 +83,17 @@ func addTeamMigrations(mg *Migrator) {
Name: "permission", Type: DB_SmallInt, Nullable: true,
}))
mg.AddMigration("add unique index team_member_user_id_org_id", NewAddIndexMigration(teamMemberV1, teamMemberV1.Indices[3]))
mg.AddMigration("Add column uid in team_member", NewAddColumnMigration(teamMemberV1, &Column{
Name: "uid", Type: DB_NVarchar, Length: 40, Nullable: true,
}))
mg.AddMigration("Update uid column values in team_member", NewRawSQLMigration("").
SQLite("UPDATE team_member SET uid=printf('tm%09d',id) WHERE uid IS NULL OR uid = '';").
Postgres("UPDATE team_member SET uid='tm' || lpad('' || id::text,9,'0') WHERE uid IS NULL OR uid = '';").
Mysql("UPDATE team_member SET uid=concat('tm',lpad(id,9,'0')) WHERE uid IS NULL OR uid = '';"))
mg.AddMigration("Add unique index team_member_uid", NewAddIndexMigration(teamMemberV1, &Index{
Cols: []string{"uid"}, Type: UniqueIndex,
}))
}
+8 -6
View File
@@ -130,11 +130,12 @@ type SearchTeamQueryResult struct {
// TeamMember model
type TeamMember struct {
ID int64 `xorm:"pk autoincr 'id'"`
OrgID int64 `xorm:"org_id"`
TeamID int64 `xorm:"team_id"`
UserID int64 `xorm:"user_id"`
External bool // Signals that the membership has been created by an external systems, such as LDAP
ID int64 `xorm:"pk autoincr 'id'"`
UID string `xorm:"uid"`
OrgID int64 `xorm:"org_id"`
TeamID int64 `xorm:"team_id"`
UserID int64 `xorm:"user_id"`
External bool // Signals that the membership has been created by an external systems, such as LDAP
Permission PermissionType
Created time.Time
@@ -180,9 +181,10 @@ type GetTeamMembersQuery struct {
// Projections and DTOs
type TeamMemberDTO struct {
UID string `json:"uid" xorm:"uid"`
OrgID int64 `json:"orgId" xorm:"org_id"`
TeamID int64 `json:"teamId" xorm:"team_id"`
TeamUID string `json:"teamUID" xorm:"uid"`
TeamUID string `json:"teamUID" xorm:"team_uid"`
UserID int64 `json:"userId" xorm:"user_id"`
UserUID string `json:"userUID" xorm:"user_uid"`
External bool `json:"-"`
+3 -1
View File
@@ -423,6 +423,7 @@ func addTeamMember(sess *db.Session, orgID, teamID, userID int64, isExternal boo
}
entity := team.TeamMember{
UID: util.GenerateShortUID(),
OrgID: orgID,
TeamID: teamID,
UserID: userID,
@@ -559,6 +560,7 @@ func (ss *xormStore) getTeamMembers(ctx context.Context, query *team.GetTeamMemb
sess.Select(fmt.Sprintf(`team_member.org_id,
team_member.team_id,
team_member.user_id,
team_member.uid,
%[1]s.email,
%[1]s.name,
%[1]s.login,
@@ -566,7 +568,7 @@ func (ss *xormStore) getTeamMembers(ctx context.Context, query *team.GetTeamMemb
team_member.external,
team_member.permission,
user_auth.auth_module,
team.uid`, ss.db.GetDialect().Quote("user")))
team.uid as team_uid`, ss.db.GetDialect().Quote("user")))
sess.Asc("user.login", "user.email")
err := sess.Find(&queryResult)
+3
View File
@@ -21999,6 +21999,9 @@
"teamUID": {
"type": "string"
},
"uid": {
"type": "string"
},
"userId": {
"type": "integer",
"format": "int64"
+3
View File
@@ -11507,6 +11507,9 @@
"teamUID": {
"type": "string"
},
"uid": {
"type": "string"
},
"userId": {
"format": "int64",
"type": "integer"