parent
28c5ae27d6
commit
c832f0eef7
|
@ -760,11 +760,14 @@ func IsUserInTeams(userID int64, teamIDs []int64) (bool, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// UsersInTeamsCount counts the number of users which are in userIDs and teamIDs
|
// UsersInTeamsCount counts the number of users which are in userIDs and teamIDs
|
||||||
func UsersInTeamsCount(userIDs []int64, teamIDs []int64) (count int64, err error) {
|
func UsersInTeamsCount(userIDs []int64, teamIDs []int64) (int64, error) {
|
||||||
if count, err = x.In("uid", userIDs).In("team_id", teamIDs).Count(new(TeamUser)); err != nil {
|
var ids []int64
|
||||||
|
if err := x.In("uid", userIDs).In("team_id", teamIDs).
|
||||||
|
Table("team_user").
|
||||||
|
Cols("uid").GroupBy("uid").Find(&ids); err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
return
|
return int64(len(ids)), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ___________ __________
|
// ___________ __________
|
||||||
|
|
|
@ -370,7 +370,7 @@ func TestUsersInTeamsCount(t *testing.T) {
|
||||||
assert.Equal(t, expected, count)
|
assert.Equal(t, expected, count)
|
||||||
}
|
}
|
||||||
|
|
||||||
test([]int64{2}, []int64{1, 2, 3, 4}, 2)
|
test([]int64{2}, []int64{1, 2, 3, 4}, 1) // only userid 2
|
||||||
test([]int64{1, 2, 3, 4, 5}, []int64{2, 5}, 2)
|
test([]int64{1, 2, 3, 4, 5}, []int64{2, 5}, 2) // userid 2,4
|
||||||
test([]int64{1, 2, 3, 4, 5}, []int64{2, 3, 5}, 3)
|
test([]int64{1, 2, 3, 4, 5}, []int64{2, 3, 5}, 3) // userid 2,4,5
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue