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:
@@ -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,
|
||||
}))
|
||||
}
|
||||
|
||||
@@ -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:"-"`
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -21999,6 +21999,9 @@
|
||||
"teamUID": {
|
||||
"type": "string"
|
||||
},
|
||||
"uid": {
|
||||
"type": "string"
|
||||
},
|
||||
"userId": {
|
||||
"type": "integer",
|
||||
"format": "int64"
|
||||
|
||||
@@ -11507,6 +11507,9 @@
|
||||
"teamUID": {
|
||||
"type": "string"
|
||||
},
|
||||
"uid": {
|
||||
"type": "string"
|
||||
},
|
||||
"userId": {
|
||||
"format": "int64",
|
||||
"type": "integer"
|
||||
|
||||
Reference in New Issue
Block a user