From 077a37e3308c03d9e609eb492554481aa48a8e69 Mon Sep 17 00:00:00 2001 From: syntaxsdev Date: Mon, 6 Jan 2025 18:00:38 -0500 Subject: [PATCH] feat: added ability to search logs by uri encoded name --- internal/api/logs.go | 5 +++++ internal/handlers/logging.go | 25 ++++++++++--------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/internal/api/logs.go b/internal/api/logs.go index e91688e..dfb2dcf 100644 --- a/internal/api/logs.go +++ b/internal/api/logs.go @@ -9,6 +9,11 @@ import ( ) func LogRoutes(r chi.Router, factory *services.Factory) { + r.Get("/{name}", func(w http.ResponseWriter, r *http.Request) { + name := chi.URLParam(r, "name") + handlers.GetLog(w, r, factory, name) + }) + r.Get("/", func(w http.ResponseWriter, r *http.Request) { handlers.GetAllLogs(w, r, factory) }) diff --git a/internal/handlers/logging.go b/internal/handlers/logging.go index d4c883e..540c108 100644 --- a/internal/handlers/logging.go +++ b/internal/handlers/logging.go @@ -21,22 +21,17 @@ func GetAllLogs(w http.ResponseWriter, r *http.Request, f *services.Factory) { } // Get log of a specific strategy -// func GetLog(w http.ResponseWriter, r *http.Request, f *services.Factory) { -// var logs []*interface{} -// var filterPayload map[string]interface{} - -// var payload map[string]interface{} -// if err := json.NewDecoder(r.Body).Decode(&payload); err != nil { -// payload = nil -// } +func GetLog(w http.ResponseWriter, r *http.Request, f *services.Factory, n string) { + var logs []*interface{} + filter := bson.M{"strategy": n} -// err := f.MongoService.All("logs", bson.M(filterPayload), &logs) -// if err != nil { -// WriteHttp(w, http.StatusInternalServerError, "Failed to retrieve logs.", err) -// return -// } -// WriteHttp(w, http.StatusOK, "Successfully fetched all logs", logs) -// } + err := f.MongoService.All("logs", filter, &logs) + if err != nil { + WriteHttp(w, http.StatusInternalServerError, "Failed to retrieve logs.", err) + return + } + WriteHttp(w, http.StatusOK, "Successfully fetched all logs", logs) +} // Create a new log func NewLog(w http.ResponseWriter, r *http.Request, f *services.Factory) {