From 62e1b4ec72bb9bab9b588792f172631deb78e38a Mon Sep 17 00:00:00 2001 From: Jonni Liljamo Date: Tue, 17 Oct 2023 02:57:09 +0300 Subject: [PATCH] feat: logout --- internal/components/base.templ | 1 + internal/components/base_templ.go | 11 ++++++++++- internal/handlers/auth.go | 7 +++++++ internal/routers/frontend.go | 1 + 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/internal/components/base.templ b/internal/components/base.templ index 7455a1f..f90c587 100644 --- a/internal/components/base.templ +++ b/internal/components/base.templ @@ -46,6 +46,7 @@ templ ManageBase(title string) {
{ serviceName() } User Settings +
{ children... } diff --git a/internal/components/base_templ.go b/internal/components/base_templ.go index e14a8b4..a5a3c1d 100644 --- a/internal/components/base_templ.go +++ b/internal/components/base_templ.go @@ -167,7 +167,16 @@ func ManageBase(title string) templ.Component { if err != nil { return err } - _, err = templBuffer.WriteString("
") + _, err = templBuffer.WriteString("
") if err != nil { return err } diff --git a/internal/handlers/auth.go b/internal/handlers/auth.go index 6f02311..e8f39fa 100644 --- a/internal/handlers/auth.go +++ b/internal/handlers/auth.go @@ -40,3 +40,10 @@ func AuthLogin(sm *scs.SessionManager) gin.HandlerFunc { c.Header("HX-Redirect", "/manage") } } + +func AuthLogout(sm *scs.SessionManager) gin.HandlerFunc { + return func(c *gin.Context) { + sm.Destroy(c.Request.Context()) + c.Header("HX-Refresh", "true") + } +} diff --git a/internal/routers/frontend.go b/internal/routers/frontend.go index 10c10b1..7e00433 100644 --- a/internal/routers/frontend.go +++ b/internal/routers/frontend.go @@ -30,6 +30,7 @@ func SetupFrontendRouter(sm *scs.SessionManager) *gin.Engine { auth := r.Group("/auth") { auth.POST("/login", handlers.AuthLogin(sm)) + auth.GET("/logout", handlers.AuthLogout(sm)) } // routes for the actual application frontend -- 2.44.1