summaryrefslogtreecommitdiffstats
path: root/cmd/web/handlers.go
diff options
context:
space:
mode:
authorMatthew Lemon <y@yulqen.org>2024-02-10 12:19:10 +0000
committerMatthew Lemon <y@yulqen.org>2024-02-10 12:19:10 +0000
commitc3df229e32a0a50ce4c7b6994e2ed01d6be1e13c (patch)
tree210c5b468b2cb0c9f8c067085c0f2442f28540f8 /cmd/web/handlers.go
parent7c4a913645ba1e347ab94097de44eb04d7df4e47 (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.go32
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)
}