diff options
author | Matthew Lemon <y@yulqen.org> | 2024-02-10 12:19:10 +0000 |
---|---|---|
committer | Matthew Lemon <y@yulqen.org> | 2024-02-10 12:19:10 +0000 |
commit | c3df229e32a0a50ce4c7b6994e2ed01d6be1e13c (patch) | |
tree | 210c5b468b2cb0c9f8c067085c0f2442f28540f8 /cmd/web/handlers.go | |
parent | 7c4a913645ba1e347ab94097de44eb04d7df4e47 (diff) |
Have added Insert handler for Organisation model
This is a straight forward wrapper around INSERT.
Also added a clientError into a new helpers.go file.
Diffstat (limited to 'cmd/web/handlers.go')
-rw-r--r-- | cmd/web/handlers.go | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/cmd/web/handlers.go b/cmd/web/handlers.go index 4b76103..6456e96 100644 --- a/cmd/web/handlers.go +++ b/cmd/web/handlers.go @@ -1,9 +1,9 @@ package main import ( + "fmt" "log" "net/http" - "runtime/debug" "text/template" ) @@ -11,17 +11,6 @@ func (app *application) notFound(w http.ResponseWriter) { http.Error(w, http.StatusText(401), 401) } -func (app *application) serverError(w http.ResponseWriter, r *http.Request, err error) { - var ( - method = r.Method - uri = r.URL.RequestURI() - trace = string(debug.Stack()) - ) - - app.logger.Error(err.Error(), "method", method, "uri", uri, "trace", trace) - log.Printf("Crash! %s %s %s", method, uri, trace) - http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) -} func (app *application) listOrganisation(w http.ResponseWriter, r *http.Request) { files := []string{ @@ -64,6 +53,23 @@ func (app *application) home(w http.ResponseWriter, r *http.Request) { if err != nil { app.serverError(w, r, err) // Use the serverError() helper } +} + +func (app *application) organisationCreate(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + w.Header().Set("Allow", http.MethodPost) + app.clientError(w, http.StatusMethodNotAllowed) + return + } + + // Dummy data + name := "Test Organisation" + + id, err := app.organisations.Insert(name) + if err != nil { + app.serverError(w, r, err) + return + } - // w.Write([]byte("Hello from DED")) + http.Redirect(w, r, fmt.Sprintf("/organisation/view?id=%d", id), http.StatusSeeOther) } |