From 9280668d286a0e92a4bc6591d20f9f32c4d423f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ask=20Bj=C3=B8rn=20Hansen?= Date: Fri, 22 Dec 2023 08:15:13 -0800 Subject: [PATCH] scores: support requesting logs by monitor name --- server/history.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/server/history.go b/server/history.go index 6b54c0a..3072b26 100644 --- a/server/history.go +++ b/server/history.go @@ -78,12 +78,18 @@ func (srv *Server) getHistory(ctx context.Context, c echo.Context, server ntpdb. monitorID = 0 // don't filter on monitor ID default: mID, err := strconv.ParseUint(monitorParam, 10, 32) - if err != nil { - log.InfoContext(ctx, "invalid monitor parameter", "monitor", monitorParam) - return nil, echo.NewHTTPError(http.StatusBadRequest, "invalid monitor parameter") - + if err == nil { + monitorID = uint32(mID) + } else { + if err != nil { + monitor, err := q.GetMonitorByName(ctx, sql.NullString{Valid: true, String: monitorParam}) + if err != nil { + log.Warn("could not find monitor", "name", monitorParam, "err", err) + return nil, echo.NewHTTPError(http.StatusNotFound, "monitor not found") + } + monitorID = monitor.ID + } } - monitorID = uint32(mID) } log.Info("monitor param", "monitor", monitorID)