aboutsummaryrefslogtreecommitdiff
path: root/router
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-03-08 03:06:23 +0530
committerBobby <[email protected]>2026-03-08 03:06:23 +0530
commitcaf265e7050edefa64ecf7e13828ec9636bce867 (patch)
tree6bb8554dbb34695a74c2dca556bf512998cf62ab /router
parentcca905d35412f1549400fc3d1aca6dc704d8cae6 (diff)
downloaddove-caf265e7050edefa64ecf7e13828ec9636bce867.tar.xz
dove-caf265e7050edefa64ecf7e13828ec9636bce867.zip
Refactor configuration handling and add mail management features
- Removed dependency on messages package in TOML loading and parsing. - Introduced new config constants and messages for better clarity and maintainability. - Implemented mail user and mailbox management with corresponding controllers and views. - Added new templates for mailboxes, mailbox creation, and user management. - Enhanced logging and error handling throughout the application. - Established a structured approach for applying default values in TOML configuration. - Created new utility functions for SMTP and email handling.
Diffstat (limited to 'router')
-rw-r--r--router/auth.go6
-rw-r--r--router/base.go4
-rw-r--r--router/dashboard.go12
-rw-r--r--router/domain.go16
-rw-r--r--router/mail.go20
-rw-r--r--router/router.go10
6 files changed, 40 insertions, 28 deletions
diff --git a/router/auth.go b/router/auth.go
index a0261f1..f4daa6a 100644
--- a/router/auth.go
+++ b/router/auth.go
@@ -1,13 +1,13 @@
package router
import (
- "dove/controllers"
+ authController "dove/controllers/auth"
"dove/utils/urls"
)
func init() {
urls.SetNamespace("auth")
- urls.Path(urls.Post, "/login", controllers.Login, "login")
- urls.Path(urls.Get, "/logout", controllers.Logout, "logout")
+ urls.Path(urls.Post, "/login", authController.Login, "login")
+ urls.Path(urls.Get, "/logout", authController.Logout, "logout")
}
diff --git a/router/base.go b/router/base.go
index c70c685..1330d3a 100644
--- a/router/base.go
+++ b/router/base.go
@@ -1,12 +1,12 @@
package router
import (
- "dove/pages"
+ "dove/pages/home"
"dove/utils/urls"
)
func init() {
urls.SetNamespace("")
- urls.Path(urls.Get, "/", pages.Home, "home")
+ urls.Path(urls.Get, "/", home.Home, "home")
}
diff --git a/router/dashboard.go b/router/dashboard.go
index 8baa4b8..5de1dd1 100644
--- a/router/dashboard.go
+++ b/router/dashboard.go
@@ -1,8 +1,7 @@
package router
import (
- "dove/controllers"
- "dove/pages"
+ "dove/pages/dashboard"
"dove/utils/auth"
"dove/utils/urls"
)
@@ -10,12 +9,5 @@ import (
func init() {
urls.SetNamespace("dashboard")
- urls.Path(urls.Get, "/", auth.RequireAuthentication(pages.Dashboard), "index")
- urls.Path(urls.Get, "/mailboxes", auth.RequireAuthentication(pages.Mailboxes), "mailboxes")
- urls.Path(urls.Get, "/mailboxes/new", auth.RequireAuthentication(pages.NewMailbox), "mailboxes.new")
- urls.Path(urls.Post, "/mailboxes", auth.RequireAuthentication(controllers.CreateMailbox), "mailboxes.create")
- urls.Path(urls.Get, "/mailboxes/:address", auth.RequireAuthentication(pages.Mailbox), "mailbox")
- urls.Path(urls.Get, "/users", auth.RequireAuthentication(pages.Users), "users")
- urls.Path(urls.Get, "/users/new", auth.RequireAuthentication(pages.NewUser), "users.new")
- urls.Path(urls.Post, "/users", auth.RequireAuthentication(controllers.CreateUser), "users.create")
+ urls.Path(urls.Get, "/", auth.RequireAuthentication(dashboard.Overview), "index")
}
diff --git a/router/domain.go b/router/domain.go
index 00ecf36..5658cf2 100644
--- a/router/domain.go
+++ b/router/domain.go
@@ -1,8 +1,8 @@
package router
import (
- "dove/controllers"
- "dove/pages"
+ domainController "dove/controllers/domain"
+ domainPage "dove/pages/domain"
"dove/utils/auth"
"dove/utils/urls"
)
@@ -10,10 +10,10 @@ import (
func init() {
urls.SetNamespace("domains")
- urls.Path(urls.Get, "/domains", auth.RequireAuthentication(pages.Domains), "index")
- urls.Path(urls.Get, "/domains/new", auth.RequireAuthentication(pages.NewDomain), "new")
- urls.Path(urls.Post, "/domains", auth.RequireAuthentication(controllers.CreateDomain), "create")
- urls.Path(urls.Get, "/domains/tlds/new", auth.RequireAuthentication(pages.NewTLD), "tlds.new")
- urls.Path(urls.Post, "/domains/tlds", auth.RequireAuthentication(controllers.CreateTLD), "tlds.create")
- urls.Path(urls.Delete, "/domains/tlds/:name", auth.RequireAuthentication(controllers.DeleteTLD), "tlds.delete")
+ urls.Path(urls.Get, "/domains", auth.RequireAuthentication(domainPage.Domains), "index")
+ urls.Path(urls.Get, "/domains/new", auth.RequireAuthentication(domainPage.NewDomain), "new")
+ urls.Path(urls.Post, "/domains", auth.RequireAuthentication(domainController.CreateDomain), "create")
+ urls.Path(urls.Get, "/domains/tlds/new", auth.RequireAuthentication(domainPage.NewTLD), "tlds.new")
+ urls.Path(urls.Post, "/domains/tlds", auth.RequireAuthentication(domainController.CreateTLD), "tlds.create")
+ urls.Path(urls.Delete, "/domains/tlds/:name", auth.RequireAuthentication(domainController.DeleteTLD), "tlds.delete")
}
diff --git a/router/mail.go b/router/mail.go
new file mode 100644
index 0000000..f2ce1a7
--- /dev/null
+++ b/router/mail.go
@@ -0,0 +1,20 @@
+package router
+
+import (
+ mailController "dove/controllers/mail"
+ mailPage "dove/pages/mail"
+ "dove/utils/auth"
+ "dove/utils/urls"
+)
+
+func init() {
+ urls.SetNamespace("mail")
+
+ urls.Path(urls.Get, "/mailboxes", auth.RequireAuthentication(mailPage.Mailboxes), "mailboxes")
+ urls.Path(urls.Get, "/mailboxes/new", auth.RequireAuthentication(mailPage.NewMailbox), "mailboxes.new")
+ urls.Path(urls.Post, "/mailboxes", auth.RequireAuthentication(mailController.CreateMailbox), "mailboxes.create")
+ urls.Path(urls.Get, "/mailboxes/:address", auth.RequireAuthentication(mailPage.Mailbox), "mailbox")
+ urls.Path(urls.Get, "/users", auth.RequireAuthentication(mailPage.Users), "users")
+ urls.Path(urls.Get, "/users/new", auth.RequireAuthentication(mailPage.NewUser), "users.new")
+ urls.Path(urls.Post, "/users", auth.RequireAuthentication(mailController.CreateUser), "users.create")
+}
diff --git a/router/router.go b/router/router.go
index 68ecad9..248f953 100644
--- a/router/router.go
+++ b/router/router.go
@@ -20,14 +20,14 @@ func ErrorHandler(context *fiber.Ctx, err error) error {
switch statusCode {
case fiber.StatusBadRequest:
- return shortcuts.BadRequest(context, err)
+ return shortcuts.BadRequestError(context, err)
case fiber.StatusForbidden:
- return shortcuts.Forbidden(context, err)
+ return shortcuts.ForbiddenError(context, err)
case fiber.StatusNotFound:
- return shortcuts.NotFound(context, err)
+ return shortcuts.NotFoundError(context, err)
case fiber.StatusUnauthorized:
- return shortcuts.Unauthorized(context, err)
+ return shortcuts.UnauthorizedError(context, err)
default:
return shortcuts.InternalServerError(context, err)
}
-} \ No newline at end of file
+}