Fix cross-team search from: filter not working (#31277)
Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
@@ -2079,11 +2079,18 @@ func (s *SqlPostStore) buildSearchPostFilterClause(teamID string, fromUsers []st
|
||||
}
|
||||
|
||||
// Sub-query builder.
|
||||
sb := s.getSubQueryBuilder().Select("Id").From("Users, TeamMembers").Where(
|
||||
sq.And{
|
||||
sq.Eq{"TeamMembers.TeamId": teamID},
|
||||
sq.Expr("Users.Id = TeamMembers.UserId"),
|
||||
})
|
||||
sb := s.getSubQueryBuilder().Select("Id")
|
||||
if teamID == "" {
|
||||
// Cross-team search: don't filter by team membership
|
||||
sb = sb.From("Users")
|
||||
} else {
|
||||
// Team-scoped search: filter by team membership
|
||||
sb = sb.From("Users, TeamMembers").Where(
|
||||
sq.And{
|
||||
sq.Eq{"TeamMembers.TeamId": teamID},
|
||||
sq.Expr("Users.Id = TeamMembers.UserId"),
|
||||
})
|
||||
}
|
||||
sb = s.buildSearchUserFilterClause(fromUsers, false, userByUsername, sb)
|
||||
sb = s.buildSearchUserFilterClause(excludedUsers, true, userByUsername, sb)
|
||||
subQuery, subQueryArgs, err := sb.ToSql()
|
||||
|
||||
Ссылка в новой задаче
Block a user