fix: packet payload filter for request (0)

This commit is contained in:
Enot (ded) Skelly
2026-06-03 09:42:44 -07:00
parent f4b1633b91
commit 153a8cb7cc
4 changed files with 11 additions and 11 deletions
+2 -2
View File
@@ -222,8 +222,8 @@ LEFT JOIN LATERAL (
) po ON true
LEFT JOIN observers o ON o.id = po.observer_id
WHERE
($1 = 0 OR p.payload_type = $1)
AND ($2 = 0 OR p.route_type = $2)
($1::smallint = -1 OR p.payload_type = $1::smallint)
AND ($2::smallint = -1 OR p.route_type = $2::smallint)
AND ($3 = '' OR po.iata ILIKE $3)
AND ($4::timestamptz IS NULL OR p.first_heard_at >= $4)
AND ($5::timestamptz IS NULL OR p.first_heard_at <= $5)
+4 -4
View File
@@ -1777,8 +1777,8 @@ LEFT JOIN LATERAL (
) po ON true
LEFT JOIN observers o ON o.id = po.observer_id
WHERE
($1 = 0 OR p.payload_type = $1)
AND ($2 = 0 OR p.route_type = $2)
($1::smallint = -1 OR p.payload_type = $1::smallint)
AND ($2::smallint = -1 OR p.route_type = $2::smallint)
AND ($3 = '' OR po.iata ILIKE $3)
AND ($4::timestamptz IS NULL OR p.first_heard_at >= $4)
AND ($5::timestamptz IS NULL OR p.first_heard_at <= $5)
@@ -1788,8 +1788,8 @@ LIMIT $7
`
type ListPacketsParams struct {
Column1 interface{} `json:"column_1"`
Column2 interface{} `json:"column_2"`
Column1 int16 `json:"column_1"`
Column2 int16 `json:"column_2"`
Column3 interface{} `json:"column_3"`
Column4 pgtype.Timestamptz `json:"column_4"`
Column5 pgtype.Timestamptz `json:"column_5"`
+3 -3
View File
@@ -40,7 +40,7 @@ func PacketsRouter(reader api.Reader) http.Handler {
// @Router /packets [get]
func listPackets(reader api.Reader) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var payloadType int16
var payloadType int16 = -1
if p := r.URL.Query().Get("payloadType"); p != "" {
t, err := strconv.ParseInt(p, 10, 16)
if err != nil {
@@ -49,12 +49,12 @@ func listPackets(reader api.Reader) http.HandlerFunc {
}
payloadType = int16(t)
}
if payloadType == 0 {
if payloadType == -1 {
if p := r.URL.Query().Get("payloadTypeName"); p != "" {
payloadType = api.PayloadTypeFromString(p)
}
}
var routeType int16
var routeType int16 = -1
if p := r.URL.Query().Get("routeType"); p != "" {
t, err := strconv.ParseInt(p, 10, 16)
if err != nil {
+2 -2
View File
@@ -47,7 +47,7 @@ func PayloadTypeName(t int16) string {
}
// PayloadTypeFromString returns the integer payload type for a given name.
// Returns 0 (no filter) if the string is empty or unrecognized.
// Returns -1 (no filter) if the string is empty or unrecognized.
func PayloadTypeFromString(s string) int16 {
switch strings.ToLower(s) {
case "request", "req":
@@ -77,7 +77,7 @@ func PayloadTypeFromString(s string) int16 {
case "raw_custom", "raw", "custom":
return int16(meshcore.PayloadTypeRawCustom)
default:
return 0
return -1
}
}