Talker alias filter backend
This commit is contained in:
parent
8fd0c85c1e
commit
6d7c82c3a8
3 changed files with 62 additions and 43 deletions
|
@ -203,6 +203,7 @@ type CallsParams struct {
|
|||
TagsAny []string `json:"tagsAny"`
|
||||
TagsNot []string `json:"tagsNot"`
|
||||
TGFilter *string `json:"tgFilter"`
|
||||
SourceFilter *string `json:"sourceFilter"`
|
||||
AtLeastSeconds *float32 `json:"atLeastSeconds"`
|
||||
UnknownTG bool `json:"unknownTG"`
|
||||
}
|
||||
|
@ -225,6 +226,7 @@ func (s *postgresStore) Calls(ctx context.Context, p CallsParams) (rows []databa
|
|||
PerPage: perPage,
|
||||
Direction: p.Direction.DirString(common.DirAsc),
|
||||
TGFilter: p.TGFilter,
|
||||
SourceFilter: p.SourceFilter,
|
||||
UnknownTG: p.UnknownTG,
|
||||
}
|
||||
|
||||
|
@ -246,6 +248,7 @@ func (s *postgresStore) Calls(ctx context.Context, p CallsParams) (rows []databa
|
|||
TagsAny: par.TagsAny,
|
||||
TagsNot: par.TagsNot,
|
||||
TGFilter: par.TGFilter,
|
||||
SourceFilter: p.SourceFilter,
|
||||
LongerThan: par.LongerThan,
|
||||
UnknownTG: par.UnknownTG,
|
||||
})
|
||||
|
|
|
@ -317,10 +317,13 @@ CASE WHEN $4::TEXT[] IS NOT NULL THEN
|
|||
tgs.name ILIKE '%' || $5 || '%' OR
|
||||
tgs.alpha_tag ILIKE '%' || $5 || '%'
|
||||
) ELSE TRUE END) AND
|
||||
(CASE WHEN $6::NUMERIC IS NOT NULL THEN (
|
||||
c.duration > $6
|
||||
(CASE WHEN $6::TEXT IS NOT NULL THEN (
|
||||
c.talker_alias ILIKE '%' || $6 || '%'
|
||||
) ELSE TRUE END) AND
|
||||
(CASE WHEN $7::BOOLEAN = TRUE THEN (
|
||||
(CASE WHEN $7::NUMERIC IS NOT NULL THEN (
|
||||
c.duration > $7
|
||||
) ELSE TRUE END) AND
|
||||
(CASE WHEN $8::BOOLEAN = TRUE THEN (
|
||||
tgs.tgid IS NULL
|
||||
) ELSE TRUE END)
|
||||
`
|
||||
|
@ -331,6 +334,7 @@ type ListCallsCountParams struct {
|
|||
TagsAny []string `json:"tagsAny"`
|
||||
TagsNot []string `json:"tagsNot"`
|
||||
TGFilter *string `json:"tgFilter"`
|
||||
SourceFilter *string `json:"sourceFilter"`
|
||||
LongerThan pgtype.Numeric `json:"longerThan"`
|
||||
UnknownTG bool `json:"unknownTg"`
|
||||
}
|
||||
|
@ -342,6 +346,7 @@ func (q *Queries) ListCallsCount(ctx context.Context, arg ListCallsCountParams)
|
|||
arg.TagsAny,
|
||||
arg.TagsNot,
|
||||
arg.TGFilter,
|
||||
arg.SourceFilter,
|
||||
arg.LongerThan,
|
||||
arg.UnknownTG,
|
||||
)
|
||||
|
@ -377,18 +382,21 @@ CASE WHEN $4::TEXT[] IS NOT NULL THEN
|
|||
tgs.name ILIKE '%' || $5 || '%' OR
|
||||
tgs.alpha_tag ILIKE '%' || $5 || '%'
|
||||
) ELSE TRUE END) AND
|
||||
(CASE WHEN $6::NUMERIC IS NOT NULL THEN (
|
||||
c.duration > $6
|
||||
(CASE WHEN $6::TEXT IS NOT NULL THEN (
|
||||
c.talker_alias ILIKE '%' || $6 || '%'
|
||||
) ELSE TRUE END) AND
|
||||
(CASE WHEN $7::BOOLEAN = TRUE THEN (
|
||||
(CASE WHEN $7::NUMERIC IS NOT NULL THEN (
|
||||
c.duration > $7
|
||||
) ELSE TRUE END) AND
|
||||
(CASE WHEN $8::BOOLEAN = TRUE THEN (
|
||||
tgs.tgid IS NULL
|
||||
) ELSE TRUE END)
|
||||
GROUP BY c.id, c.call_date
|
||||
ORDER BY
|
||||
CASE WHEN $8::TEXT = 'asc' THEN c.call_date END ASC,
|
||||
CASE WHEN $8 = 'desc' THEN c.call_date END DESC
|
||||
OFFSET $9 ROWS
|
||||
FETCH NEXT $10 ROWS ONLY
|
||||
CASE WHEN $9::TEXT = 'asc' THEN c.call_date END ASC,
|
||||
CASE WHEN $9 = 'desc' THEN c.call_date END DESC
|
||||
OFFSET $10 ROWS
|
||||
FETCH NEXT $11 ROWS ONLY
|
||||
`
|
||||
|
||||
type ListCallsPParams struct {
|
||||
|
@ -397,6 +405,7 @@ type ListCallsPParams struct {
|
|||
TagsAny []string `json:"tagsAny"`
|
||||
TagsNot []string `json:"tagsNot"`
|
||||
TGFilter *string `json:"tgFilter"`
|
||||
SourceFilter *string `json:"sourceFilter"`
|
||||
LongerThan pgtype.Numeric `json:"longerThan"`
|
||||
UnknownTG bool `json:"unknownTg"`
|
||||
Direction string `json:"direction"`
|
||||
|
@ -421,6 +430,7 @@ func (q *Queries) ListCallsP(ctx context.Context, arg ListCallsPParams) ([]ListC
|
|||
arg.TagsAny,
|
||||
arg.TagsNot,
|
||||
arg.TGFilter,
|
||||
arg.SourceFilter,
|
||||
arg.LongerThan,
|
||||
arg.UnknownTG,
|
||||
arg.Direction,
|
||||
|
|
|
@ -125,6 +125,9 @@ CASE WHEN sqlc.narg('tags_not')::TEXT[] IS NOT NULL THEN
|
|||
tgs.name ILIKE '%' || @tg_filter || '%' OR
|
||||
tgs.alpha_tag ILIKE '%' || @tg_filter || '%'
|
||||
) ELSE TRUE END) AND
|
||||
(CASE WHEN sqlc.narg('source_filter')::TEXT IS NOT NULL THEN (
|
||||
c.talker_alias ILIKE '%' || @source_filter || '%'
|
||||
) ELSE TRUE END) AND
|
||||
(CASE WHEN sqlc.narg('longer_than')::NUMERIC IS NOT NULL THEN (
|
||||
c.duration > @longer_than
|
||||
) ELSE TRUE END) AND
|
||||
|
@ -158,6 +161,9 @@ CASE WHEN sqlc.narg('tags_not')::TEXT[] IS NOT NULL THEN
|
|||
tgs.name ILIKE '%' || @tg_filter || '%' OR
|
||||
tgs.alpha_tag ILIKE '%' || @tg_filter || '%'
|
||||
) ELSE TRUE END) AND
|
||||
(CASE WHEN sqlc.narg('source_filter')::TEXT IS NOT NULL THEN (
|
||||
c.talker_alias ILIKE '%' || @source_filter || '%'
|
||||
) ELSE TRUE END) AND
|
||||
(CASE WHEN sqlc.narg('longer_than')::NUMERIC IS NOT NULL THEN (
|
||||
c.duration > @longer_than
|
||||
) ELSE TRUE END) AND
|
||||
|
|
Loading…
Add table
Reference in a new issue