diff options
Diffstat (limited to 'router/auth.go')
| -rw-r--r-- | router/auth.go | 13 |
1 files changed, 11 insertions, 2 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") } |
