From e161219aaa59b5c620e03b3fa6d179eda394586c Mon Sep 17 00:00:00 2001 From: Nathan Coad Date: Tue, 25 Mar 2025 13:42:43 +1100 Subject: [PATCH] bugfix getIncident --- server/handler/getIncident.go | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/server/handler/getIncident.go b/server/handler/getIncident.go index d9b4184..ef8ead4 100644 --- a/server/handler/getIncident.go +++ b/server/handler/getIncident.go @@ -43,6 +43,32 @@ func (h *Handler) GetIncident(w http.ResponseWriter, r *http.Request) { if number != "" { h.Logger.Debug("GetIncident called for specific incident number", "number", number) + incResult, err := h.Database.Queries().GetIncident(ctx, nullStr(number)) + if err != nil { + if errors.Is(err, sql.ErrNoRows) { + h.Logger.Debug("No incident record found", "number", number) + } else { + h.Logger.Error("Unable to query database for incident number", "error", err) + //return err + } + } + + b, err := json.Marshal(incResult) + if err != nil { + h.Logger.Error("Unable to convert database record into json", "error", err) + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusInternalServerError) + json.NewEncoder(w).Encode(map[string]string{ + "status": "ERROR", + "message": fmt.Sprintf("Unable to convert database record into json: '%s'", err), + }) + return + } + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusOK) + fmt.Fprintf(w, string(b)) + return + // Query record from database and return that } else if active == "true" { // Return list of all incidents @@ -119,10 +145,10 @@ func (h *Handler) GetIncident(w http.ResponseWriter, r *http.Request) { id := parts[5] // Extract {id} h.Logger.Debug("GetIncident called for specific incident", "id", id) - incResult, err := h.Database.Queries().GetIncident(ctx, nullStr(number)) + incResult, err := h.Database.Queries().GetIncident(ctx, nullStr(id)) if err != nil { if errors.Is(err, sql.ErrNoRows) { - h.Logger.Debug("No incident record found", "number", number) + h.Logger.Debug("No incident record found", "id", id) } else { h.Logger.Error("Unable to query database for incident number", "error", err) //return err