mirror of
https://github.com/go-gitea/gitea
synced 2025-07-23 02:38:35 +00:00
api: Add missing GET teams endpoints (#5382)
* api: Add an endpoint to list a particular member of team. * models: Rename `GetUserTeams()` to `GetUserOrgTeams()` in `org_team` model. `GetUserTeams()` sounds a bit misnomer since it actually returns the teams that user belongs to in a given organization rather than all the teams across all the organization that the user has joined. * models: Add `GetUserTeams()`. Returns all the teams that a user belongs to. * api: Add an endpoint for GET '/user/teams'. A GET request to this endpoint lists all the teams that a user belongs to.
This commit is contained in:
committed by
techknowlogick
parent
734834a676
commit
5ac6da3c41
@@ -522,7 +522,7 @@ func removeOrgUser(sess *xorm.Session, orgID, userID int64) error {
|
||||
}
|
||||
|
||||
// Delete member in his/her teams.
|
||||
teams, err := getUserTeams(sess, org.ID, userID)
|
||||
teams, err := getUserOrgTeams(sess, org.ID, userID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@@ -543,7 +543,14 @@ func GetTeamMembers(teamID int64) ([]*User, error) {
|
||||
return getTeamMembers(x, teamID)
|
||||
}
|
||||
|
||||
func getUserTeams(e Engine, orgID, userID int64) (teams []*Team, err error) {
|
||||
func getUserTeams(e Engine, userID int64) (teams []*Team, err error) {
|
||||
return teams, e.
|
||||
Join("INNER", "team_user", "team_user.team_id = team.id").
|
||||
Where("team_user.uid=?", userID).
|
||||
Find(&teams)
|
||||
}
|
||||
|
||||
func getUserOrgTeams(e Engine, orgID, userID int64) (teams []*Team, err error) {
|
||||
return teams, e.
|
||||
Join("INNER", "team_user", "team_user.team_id = team.id").
|
||||
Where("team.org_id = ?", orgID).
|
||||
@@ -561,9 +568,14 @@ func getUserRepoTeams(e Engine, orgID, userID, repoID int64) (teams []*Team, err
|
||||
Find(&teams)
|
||||
}
|
||||
|
||||
// GetUserTeams returns all teams that user belongs to in given organization.
|
||||
func GetUserTeams(orgID, userID int64) ([]*Team, error) {
|
||||
return getUserTeams(x, orgID, userID)
|
||||
// GetUserOrgTeams returns all teams that user belongs to in given organization.
|
||||
func GetUserOrgTeams(orgID, userID int64) ([]*Team, error) {
|
||||
return getUserOrgTeams(x, orgID, userID)
|
||||
}
|
||||
|
||||
// GetUserTeams returns all teams that user belongs across all organizations.
|
||||
func GetUserTeams(userID int64) ([]*Team, error) {
|
||||
return getUserTeams(x, userID)
|
||||
}
|
||||
|
||||
// AddTeamMember adds new membership of given team to given organization,
|
||||
|
@@ -284,9 +284,23 @@ func TestGetTeamMembers(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGetUserTeams(t *testing.T) {
|
||||
assert.NoError(t, PrepareTestDatabase())
|
||||
test := func(userID int64) {
|
||||
teams, err := GetUserTeams(userID)
|
||||
assert.NoError(t, err)
|
||||
for _, team := range teams {
|
||||
AssertExistsAndLoadBean(t, &TeamUser{TeamID: team.ID, UID: userID})
|
||||
}
|
||||
}
|
||||
test(2)
|
||||
test(5)
|
||||
test(NonexistentID)
|
||||
}
|
||||
|
||||
func TestGetUserOrgTeams(t *testing.T) {
|
||||
assert.NoError(t, PrepareTestDatabase())
|
||||
test := func(orgID, userID int64) {
|
||||
teams, err := GetUserTeams(orgID, userID)
|
||||
teams, err := GetUserOrgTeams(orgID, userID)
|
||||
assert.NoError(t, err)
|
||||
for _, team := range teams {
|
||||
assert.EqualValues(t, orgID, team.OrgID)
|
||||
|
Reference in New Issue
Block a user