From 9ded6a46151fb0c36296e77dc8f5dcdab65c2802 Mon Sep 17 00:00:00 2001 From: Hazel Noack Date: Thu, 26 Jun 2025 14:56:38 +0200 Subject: [PATCH] created some structure and a concept --- internal/rest_handler/create_session.go | 13 +++++++++++++ internal/view_handler/create_session.go | 13 +++++++++++++ internal/view_handler/create_user.go | 13 +++++++++++++ main.go | 15 +++++++-------- templates/create_session.html | 20 +++++++++++++++++++- templates/create_user.html | 7 +++++++ 6 files changed, 72 insertions(+), 9 deletions(-) create mode 100644 internal/rest_handler/create_session.go create mode 100644 internal/view_handler/create_session.go create mode 100644 internal/view_handler/create_user.go create mode 100644 templates/create_user.html diff --git a/internal/rest_handler/create_session.go b/internal/rest_handler/create_session.go new file mode 100644 index 0000000..e091f85 --- /dev/null +++ b/internal/rest_handler/create_session.go @@ -0,0 +1,13 @@ +package rest_handler + +import ( + "net/http" + + "gitea.elara.ws/Hazel/hangman/internal/session" + "github.com/labstack/echo/v4" +) + +func CreateSession(c echo.Context) error { + s := session.NewSession() + return c.JSON(http.StatusOK, s) +} diff --git a/internal/view_handler/create_session.go b/internal/view_handler/create_session.go new file mode 100644 index 0000000..c3a06e7 --- /dev/null +++ b/internal/view_handler/create_session.go @@ -0,0 +1,13 @@ +package view_handler + +import ( + "net/http" + + "github.com/labstack/echo/v4" +) + +func CreateSession(c echo.Context) error { + return c.Render(http.StatusOK, "create_session", map[string]interface{}{ + "name": "create session", + }) +} diff --git a/internal/view_handler/create_user.go b/internal/view_handler/create_user.go new file mode 100644 index 0000000..4cf02f7 --- /dev/null +++ b/internal/view_handler/create_user.go @@ -0,0 +1,13 @@ +package view_handler + +import ( + "net/http" + + "github.com/labstack/echo/v4" +) + +func CreateUser(c echo.Context) error { + return c.Render(http.StatusOK, "create_user", map[string]interface{}{ + "name": c.Param("name"), + }) +} diff --git a/main.go b/main.go index d6bed51..66f308a 100644 --- a/main.go +++ b/main.go @@ -4,9 +4,10 @@ import ( "errors" "fmt" "io" - "net/http" "text/template" + "gitea.elara.ws/Hazel/hangman/internal/rest_handler" + "gitea.elara.ws/Hazel/hangman/internal/view_handler" "github.com/labstack/echo/v4" ) @@ -24,12 +25,6 @@ func (t *TemplateRegistry) Render(w io.Writer, name string, data interface{}, c return tmpl.ExecuteTemplate(w, "base.html", data) } -func CreateSessionHandler(c echo.Context) error { - return c.Render(http.StatusOK, "create_session", map[string]interface{}{ - "name": "create session", - }) -} - func main() { fmt.Println("wanna play hangman? Well ya cant since it isn't implemented yet..") @@ -37,11 +32,15 @@ func main() { templates := make(map[string]*template.Template) templates["create_session"] = template.Must(template.ParseFiles("templates/create_session.html", "templates/base.html")) + templates["create_user"] = template.Must(template.ParseFiles("templates/create_user.html", "templates/base.html")) e.Renderer = &TemplateRegistry{ templates: templates, } - e.GET("/", CreateSessionHandler) + e.GET("/", view_handler.CreateSession) + e.GET("/api/session", rest_handler.CreateSession) + + e.GET("/:name", view_handler.CreateUser) e.Logger.Fatal(e.Start(":1323")) } diff --git a/templates/create_session.html b/templates/create_session.html index c960edd..e9c429b 100644 --- a/templates/create_session.html +++ b/templates/create_session.html @@ -3,5 +3,23 @@ {{end}} {{define "body"}} - + + + {{end}} \ No newline at end of file diff --git a/templates/create_user.html b/templates/create_user.html new file mode 100644 index 0000000..bfc227f --- /dev/null +++ b/templates/create_user.html @@ -0,0 +1,7 @@ +{{define "title"}} + create user | {{index . "name"}} +{{end}} + +{{define "body"}} +

Current Session: {{index . "name"}}

+{{end}} \ No newline at end of file