From de9a1540d0c1d6d022dfa386cdb950a72442dece Mon Sep 17 00:00:00 2001 From: Juan Fernandez Date: Fri, 7 Jul 2023 07:36:09 -0400 Subject: [PATCH] Updated ListQueries method in DB layer --- server/datastore/mysql/queries.go | 12 ++++++++++-- server/fleet/app.go | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/server/datastore/mysql/queries.go b/server/datastore/mysql/queries.go index 9ea4430f7a..fc6514807a 100644 --- a/server/datastore/mysql/queries.go +++ b/server/datastore/mysql/queries.go @@ -358,12 +358,20 @@ func (ds *Datastore) ListQueries(ctx context.Context, opt fleet.ListQueryOptions if opt.OnlyObserverCanRun { sql += " AND q.observer_can_run=true" } + + args := []interface{}{false, aggregatedStatsTypeQuery} + whereClause := " AND team_id_char = ''" + if opt.TeamID != nil { + args = append(args, fmt.Sprint(*opt.TeamID)) + whereClause = " AND team_id_char = ?" + } + sql += whereClause + sql = appendListOptionsToSQL(sql, &opt.ListOptions) results := []*fleet.Query{} - if err := sqlx.SelectContext(ctx, ds.reader(ctx), &results, sql, false, aggregatedStatsTypeQuery); err != nil { - fmt.Println(err) + if err := sqlx.SelectContext(ctx, ds.reader(ctx), &results, sql, args...); err != nil { return nil, ctxerr.Wrap(ctx, err, "listing queries") } diff --git a/server/fleet/app.go b/server/fleet/app.go index 4b3f21bcca..87dcbddf36 100644 --- a/server/fleet/app.go +++ b/server/fleet/app.go @@ -761,6 +761,9 @@ func (l ListOptions) UsesCursorPagination() bool { type ListQueryOptions struct { ListOptions + // TeamID which team the queries belong to. If teamID is nil, then it is assumed the 'global' + // team + TeamID *uint OnlyObserverCanRun bool }