package handlers import ( "git.tijl.dev/tijl/tijl.dev-core/internal/i18n" "git.tijl.dev/tijl/tijl.dev-core/internal/oidc" "git.tijl.dev/tijl/tijl.dev-core/internal/user" "git.tijl.dev/tijl/tijl.dev-core/modules/web" "github.com/gofiber/fiber/v2" ) func loginHandler(c *fiber.Ctx) error { _, err := user.GetSession(c) if err == nil { return c.Redirect("/account") } else { data := *web.Common(c) data["Title"] = i18n.Translate(c, "login") return c.Render("login", data, "layouts/base") } } func loggedinHandler(c *fiber.Ctx) error { _, err := user.GetSession(c) if err != nil { return c.Redirect("/login") } else { data := *web.Common(c) data["Title"] = i18n.Translate(c, "account") return c.Render("loggedin", data, "layouts/base") } } func authHandler(c *fiber.Ctx) error { _, err := user.GetSession(c) if err == nil { return c.Redirect("/account") } else { return oidc.HandleRedirect(c) } } func logoutHandler(c *fiber.Ctx) error { _, err := user.GetSession(c) if err == nil { c.ClearCookie("session") return c.Redirect("/login") } else { return c.Redirect("/login") } }