From 099d000119447708d7d0d0482758d352438fa7e5 Mon Sep 17 00:00:00 2001 From: Steve Manuel Date: Tue, 25 Apr 2017 13:23:37 -0700 Subject: adding support for file upload type and API handler to fetch file info --- system/api/handlers.go | 41 +++++++++++++++++++++++++++++++++++++++++ system/api/server.go | 4 +++- 2 files changed, 44 insertions(+), 1 deletion(-) (limited to 'system/api') diff --git a/system/api/handlers.go b/system/api/handlers.go index 83bbe43..b8b90df 100644 --- a/system/api/handlers.go +++ b/system/api/handlers.go @@ -194,3 +194,44 @@ func contentHandlerBySlug(res http.ResponseWriter, req *http.Request) { sendData(res, req, j) } + +func uploadsHandler(res http.ResponseWriter, req *http.Request) { + if req.Method != http.MethodGet { + res.WriteHeader(http.StatusMethodNotAllowed) + return + } + + slug := req.URL.Query().Get("slug") + if slug == "" { + res.WriteHeader(http.StatusBadRequest) + return + } + + upload, err := db.UploadBySlug(slug) + if err != nil { + log.Println("Error finding upload by slug:", slug, err) + res.WriteHeader(http.StatusInternalServerError) + return + } + + it := func() interface{} { + return new(item.FileUpload) + } + + push(res, req, it, upload) + + j, err := fmtJSON(json.RawMessage(upload)) + if err != nil { + log.Println("Error fmtJSON on upload:", err) + res.WriteHeader(http.StatusInternalServerError) + return + } + + j, err = omit(it(), j) + if err != nil { + res.WriteHeader(http.StatusInternalServerError) + return + } + + sendData(res, req, j) +} diff --git a/system/api/server.go b/system/api/server.go index a7bd056..b51936c 100644 --- a/system/api/server.go +++ b/system/api/server.go @@ -17,5 +17,7 @@ func Run() { http.HandleFunc("/api/content/delete", Record(CORS(deleteContentHandler))) - http.HandleFunc("/api/search", Record(CORS(searchContentHandler))) + http.HandleFunc("/api/search", Record(CORS(Gzip(searchContentHandler)))) + + http.HandleFunc("/api/uploads", Record(CORS(Gzip(uploadsHandler)))) } -- cgit v1.2.3 From 3c8c848606b996e2c7a06331401e622f888b84c5 Mon Sep 17 00:00:00 2001 From: Steve Manuel Date: Sat, 29 Apr 2017 22:43:44 -0500 Subject: adding search, edit/new, and list view for uploads --- system/api/handlers.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'system/api') diff --git a/system/api/handlers.go b/system/api/handlers.go index b8b90df..0a9c177 100644 --- a/system/api/handlers.go +++ b/system/api/handlers.go @@ -210,7 +210,7 @@ func uploadsHandler(res http.ResponseWriter, req *http.Request) { upload, err := db.UploadBySlug(slug) if err != nil { log.Println("Error finding upload by slug:", slug, err) - res.WriteHeader(http.StatusInternalServerError) + res.WriteHeader(http.StatusNotFound) return } -- cgit v1.2.3