minor refactor
This commit is contained in:
parent
64504ee9d2
commit
7879715ce8
1 changed files with 6 additions and 10 deletions
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue