From 9de713fc6a735b9cb862f77d13ecf379e561546c Mon Sep 17 00:00:00 2001 From: "Daniel J. Summers" Date: Sun, 27 May 2018 18:00:37 -0500 Subject: [PATCH] Fixed "answered" API error --- src/api/data/data.go | 6 +++--- src/api/routes/handlers.go | 4 ++++ src/api/routes/routes.go | 15 ++++++++------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/api/data/data.go b/src/api/data/data.go index 8fe2fb0..ed752c3 100644 --- a/src/api/data/data.go +++ b/src/api/data/data.go @@ -156,9 +156,6 @@ func Answered(userID string) []JournalRequest { AND "lastStatus" = 'Answered' ORDER BY "asOf" DESC`, userID) - if err == sql.ErrNoRows { - return make([]JournalRequest, 0) - } if err != nil { log.Print(err) return nil @@ -177,6 +174,9 @@ func ByID(userID, reqID string) (*JournalRequest, bool) { &req.RequestID, &req.Text, &req.AsOf, &req.LastStatus, ) if err != nil { + if err == sql.ErrNoRows { + return nil, true + } log.Print(err) return nil, false } diff --git a/src/api/routes/handlers.go b/src/api/routes/handlers.go index 7add6b6..2b18aac 100644 --- a/src/api/routes/handlers.go +++ b/src/api/routes/handlers.go @@ -83,6 +83,10 @@ func requestGet(c *routing.Context) error { if !ok { return sendError(c, errors.New("error retrieving request")) } + if request == nil { + c.Response.WriteHeader(404) + return nil + } return sendJSON(c, request) } diff --git a/src/api/routes/routes.go b/src/api/routes/routes.go index c022f97..38c9da5 100644 --- a/src/api/routes/routes.go +++ b/src/api/routes/routes.go @@ -35,6 +35,14 @@ var routes = Routes{ requestAdd, false, }, + // Must be above GetRequestByID + Route{ + "GetAnsweredRequests", + http.MethodGet, + "/api/request/answered", + requestsAnswered, + false, + }, Route{ "GetRequestByID", http.MethodGet, @@ -77,13 +85,6 @@ var routes = Routes{ requestGetNotes, false, }, - Route{ - "GetAnsweredRequests", - http.MethodGet, - "/api/request/answered", - requestsAnswered, - false, - }, // keep this route last Route{ "StaticFiles",