diff options
| author | Bobby <[email protected]> | 2025-12-23 10:57:04 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2025-12-23 10:57:04 +0530 |
| commit | 3036abbc4af1e85e3f3d473c9facdeefb94916c7 (patch) | |
| tree | 149363c254b9a52b85854cb2d32eb95c8cefa542 /router | |
| parent | ecce99fde86b01efffd1825688ee950f7e7f6b33 (diff) | |
| download | lain-3036abbc4af1e85e3f3d473c9facdeefb94916c7.tar.xz lain-3036abbc4af1e85e3f3d473c9facdeefb94916c7.zip | |
email templates, routes and utils
Diffstat (limited to 'router')
| -rw-r--r-- | router/auth.go | 13 | ||||
| -rw-r--r-- | router/base.go | 10 | ||||
| -rw-r--r-- | router/mail.go | 10 |
3 files changed, 23 insertions, 10 deletions
diff --git a/router/auth.go b/router/auth.go index 728e985..665b84e 100644 --- a/router/auth.go +++ b/router/auth.go @@ -3,14 +3,23 @@ package router import ( "lain/controllers" "lain/types" + "lain/utils/auth" + "lain/utils/shortcuts" "lain/utils/urls" + + "github.com/gofiber/fiber/v2" ) func init() { urls.SetNamespace("auth") - urls.Path(types.GET, "/login", controllers.LoginPage, "login") - urls.Path(types.GET, "/logout", controllers.Logout, "logout") + urls.Path(types.GET, "/login", func(c *fiber.Ctx) error { + if auth.IsAuthenticated(c) { + return shortcuts.Redirect(c, "mail.inbox") + } + return controllers.LoginPage(c) + }, "login") + urls.Path(types.GET, "/logout", controllers.Logout, "logout") urls.Path(types.POST, "/login", controllers.Login, "login.submit") } diff --git a/router/base.go b/router/base.go index a5e8e96..ece2df6 100644 --- a/router/base.go +++ b/router/base.go @@ -2,12 +2,20 @@ package router import ( "lain/types" + "lain/utils/auth" "lain/utils/shortcuts" "lain/utils/urls" + + "github.com/gofiber/fiber/v2" ) func init() { urls.SetNamespace("") - urls.Path(types.GET, "/", shortcuts.RedirectTo("auth.login"), "home") + urls.Path(types.GET, "/", func(c *fiber.Ctx) error { + if auth.IsAuthenticated(c) { + return shortcuts.Redirect(c, "mail.inbox") + } + return shortcuts.Redirect(c, "auth.login") + }, "home") } diff --git a/router/mail.go b/router/mail.go index 8584f05..9076d97 100644 --- a/router/mail.go +++ b/router/mail.go @@ -1,19 +1,15 @@ package router import ( - "lain/session" + "lain/controllers" "lain/types" "lain/utils/auth" "lain/utils/urls" - - "github.com/gofiber/fiber/v2" ) func init() { urls.SetNamespace("mail") - urls.Path(types.GET, "/inbox", auth.RequireAuthentication(func(c *fiber.Ctx) error { - email, _ := session.GetSessionEmail(c) - return c.SendString("Inbox for " + email) - }), "inbox") + urls.Path(types.GET, "/inbox", auth.RequireAuthentication(controllers.Mailbox), "inbox") + urls.Path(types.GET, "/*", auth.RequireAuthentication(controllers.Mailbox), "folder") } |
