Team: Include user UID in GetTeamMembers() output (#102373)

* include user UID in GetTeamMembers() output

* move user.uid next to the other user fields

* generate openapi specs

* remove new line at EOF

* fix sql select syntax

* fix sql select syntax

* fix sql select syntax

* fix sql select syntax
This commit is contained in:
Mihai Doarna
2025-03-19 16:47:45 +02:00
committed by GitHub
parent ebddc79780
commit e5b6b7b370
5 changed files with 24 additions and 12 deletions
+1
View File
@@ -177,6 +177,7 @@ type TeamMemberDTO struct {
TeamID int64 `json:"teamId" xorm:"team_id"`
TeamUID string `json:"teamUID" xorm:"uid"`
UserID int64 `json:"userId" xorm:"user_id"`
UserUID string `json:"userUID" xorm:"user_uid"`
External bool `json:"-"`
AuthModule string `json:"auth_module"`
Email string `json:"email"`
+11 -12
View File
@@ -551,18 +551,17 @@ func (ss *xormStore) getTeamMembers(ctx context.Context, query *team.GetTeamMemb
if query.External {
sess.Where("team_member.external=?", ss.db.GetDialect().BooleanValue(true))
}
sess.Cols(
"team_member.org_id",
"team_member.team_id",
"team_member.user_id",
"user.email",
"user.name",
"user.login",
"team_member.external",
"team_member.permission",
"user_auth.auth_module",
"team.uid",
)
sess.Select("team_member.org_id," +
"team_member.team_id," +
"team_member.user_id," +
"\"user\".email," +
"\"user\".name," +
"\"user\".login," +
"\"user\".uid as user_uid," +
"team_member.external," +
"team_member.permission," +
"user_auth.auth_module," +
"team.uid")
sess.Asc("user.login", "user.email")
err := sess.Find(&queryResult)
+6
View File
@@ -58,6 +58,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) {
t.Run("Given saved users and two teams", func(t *testing.T) {
var userIds []int64
var userUIDs []string
const testOrgID int64 = 1
var team1, team2 team.Team
var usr *user.User
@@ -74,6 +75,7 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) {
usr, err = userSvc.Create(context.Background(), &userCmd)
require.NoError(t, err)
userIds = append(userIds, usr.ID)
userUIDs = append(userUIDs, usr.UID)
}
team1, err = teamSvc.CreateTeam(context.Background(), "group1 name", "test1@test.com", testOrgID)
require.NoError(t, err)
@@ -108,9 +110,13 @@ func TestIntegrationTeamCommandsAndQueries(t *testing.T) {
require.NoError(t, err)
require.Equal(t, 2, len(q1Result))
require.Equal(t, q1Result[0].TeamID, team1.ID)
require.Contains(t, userIds[:2], q1Result[0].UserID)
require.Contains(t, userUIDs[:2], q1Result[0].UserUID)
require.Equal(t, q1Result[0].Login, "loginuser0")
require.Equal(t, q1Result[0].OrgID, testOrgID)
require.Equal(t, q1Result[1].TeamID, team1.ID)
require.Contains(t, userIds[:2], q1Result[1].UserID)
require.Contains(t, userUIDs[:2], q1Result[1].UserUID)
require.Equal(t, q1Result[1].Login, "loginuser1")
require.Equal(t, q1Result[1].OrgID, testOrgID)
require.Equal(t, q1Result[1].External, true)
+3
View File
@@ -21220,6 +21220,9 @@
"userId": {
"type": "integer",
"format": "int64"
},
"userUID": {
"type": "string"
}
}
},
+3
View File
@@ -11281,6 +11281,9 @@
"userId": {
"format": "int64",
"type": "integer"
},
"userUID": {
"type": "string"
}
},
"type": "object"