diff options
| author | Bobby <[email protected]> | 2026-03-08 03:06:23 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2026-03-08 03:06:23 +0530 |
| commit | caf265e7050edefa64ecf7e13828ec9636bce867 (patch) | |
| tree | 6bb8554dbb34695a74c2dca556bf512998cf62ab /router | |
| parent | cca905d35412f1549400fc3d1aca6dc704d8cae6 (diff) | |
| download | dove-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.go | 6 | ||||
| -rw-r--r-- | router/base.go | 4 | ||||
| -rw-r--r-- | router/dashboard.go | 12 | ||||
| -rw-r--r-- | router/domain.go | 16 | ||||
| -rw-r--r-- | router/mail.go | 20 | ||||
| -rw-r--r-- | router/router.go | 10 |
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 +} |
