mirror of
https://github.com/MeshCore-Beacon/beacon-server.git
synced 2026-09-01 16:48:19 +00:00
fix: packet payload filter for request (0)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user