minor refactor

This commit is contained in:
Daniel Ponte 2024-08-06 16:34:56 -04:00
parent 64504ee9d2
commit 7879715ce8

View file

@ -36,19 +36,16 @@ type Filter struct {
query *FilterQuery query *FilterQuery
} }
func queryParams(s string, p ...any) (string, []any) { func queryParams(q string, p ...any) FilterQuery {
return s, p return FilterQuery{Query: q, Params: p}
} }
func (f *Filter) filterQuery() FilterQuery { func (f *Filter) filterQuery() *FilterQuery {
var q string fq := queryParams(
var args []interface{}
q, args = queryParams(
`((talkgroups.id = ANY(?) OR talkgroups.tags @> ARRAY[?]) OR (talkgroups.tags && ARRAY[?])) AND (talkgroups.id != ANY(?) AND NOT talkgroups.tags @> ARRAY[?])`, `((talkgroups.id = ANY(?) OR talkgroups.tags @> ARRAY[?]) OR (talkgroups.tags && ARRAY[?])) AND (talkgroups.id != ANY(?) AND NOT talkgroups.tags @> ARRAY[?])`,
f.Talkgroups, f.TalkgroupTagsAny, f.TalkgroupTagsAll, f.TalkgroupsNot, f.TalkgroupTagsNot) f.Talkgroups, f.TalkgroupTagsAny, f.TalkgroupTagsAll, f.TalkgroupsNot, f.TalkgroupTagsNot)
return FilterQuery{Query: q, Params: args} return &fq
} }
func PackedTGs(tg []Talkgroup) []int64 { func PackedTGs(tg []Talkgroup) []int64 {
@ -85,8 +82,7 @@ func (f *Filter) compile() *Filter {
f.talkgroupTagsNot[tag] = true f.talkgroupTagsNot[tag] = true
} }
q := f.filterQuery() f.query = f.filterQuery()
f.query = &q
return f return f
} }