From 7070b3596bd2eb92eed5b5f6c4e486ed13d5c589 Mon Sep 17 00:00:00 2001 From: Tim Scheuermann Date: Wed, 17 Jul 2019 13:10:53 +0200 Subject: [PATCH] Use a strings.Builder to create the idQuery string (#11600) * Use a strings.Builder to create the idQuery string * Use the query builder --- store/sqlstore/team_store.go | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/store/sqlstore/team_store.go b/store/sqlstore/team_store.go index c8292fd0bc..bf9f453967 100644 --- a/store/sqlstore/team_store.go +++ b/store/sqlstore/team_store.go @@ -7,7 +7,6 @@ import ( "database/sql" "fmt" "net/http" - "strconv" "strings" sq "github.com/Masterminds/squirrel" @@ -1037,20 +1036,18 @@ func (s SqlTeamStore) GetTeamMembersForExport(userId string) ([]*model.TeamMembe } func (s SqlTeamStore) UserBelongsToTeams(userId string, teamIds []string) (bool, *model.AppError) { - props := make(map[string]interface{}) - props["UserId"] = userId - idQuery := "" - - for index, teamId := range teamIds { - if len(idQuery) > 0 { - idQuery += ", " - } - - props["teamId"+strconv.Itoa(index)] = teamId - idQuery += ":teamId" + strconv.Itoa(index) + idQuery := sq.Eq{ + "UserId": userId, + "TeamId": teamIds, + "DeleteAt": 0, } - c, err := s.GetReplica().SelectInt("SELECT Count(*) FROM TeamMembers WHERE UserId = :UserId AND TeamId IN ("+idQuery+") AND DeleteAt = 0", props) + query, params, err := s.getQueryBuilder().Select("Count(*)").From("TeamMembers").Where(idQuery).ToSql() + if err != nil { + return false, model.NewAppError("SqlTeamStore.UserBelongsToTeams", "store.sql_team.user_belongs_to_teams.app_error", nil, err.Error(), http.StatusInternalServerError) + } + + c, err := s.GetReplica().SelectInt(query, params...) if err != nil { return false, model.NewAppError("SqlTeamStore.UserBelongsToTeams", "store.sql_team.user_belongs_to_teams.app_error", nil, err.Error(), http.StatusInternalServerError) }