aboutsummaryrefslogtreecommitdiff
path: root/router
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-03-08 05:43:04 +0530
committerBobby <[email protected]>2026-03-08 05:43:04 +0530
commit662dd2069dc8590e8b54823a33726464cf10c4e7 (patch)
tree55a740e6114440d7e311afd3f5ba79a7101965f8 /router
parentd21ea918864a8b18fef94bbfaec8097444be1b17 (diff)
downloaddove-662dd2069dc8590e8b54823a33726464cf10c4e7.tar.xz
dove-662dd2069dc8590e8b54823a33726464cf10c4e7.zip
feat(domains): enhance TLD and domain management with edit and delete functionality
- Added edit and delete buttons for TLDs in the TLD management interface. - Implemented a modal confirmation for delete actions across TLDs, mailboxes, users, and aliases. - Created separate edit pages for domains and TLDs with forms for updating their details. - Improved user experience by adding alerts for error messages and success notifications. feat(mail): streamline mailbox management with alias support - Introduced alias creation and deletion functionality for mailboxes. - Enhanced mailbox edit interface to include alias management. - Added dropdowns for selecting users and domains when creating aliases. fix(alerts): implement alert system for error messages - Developed a reusable alert component to display error messages. - Integrated alert dismiss functionality with automatic timeout for user notifications. refactor: general code improvements and organization - Updated error handling in the backend to support HTMX requests. - Refactored redirect functions to handle HTMX redirects appropriately.
Diffstat (limited to 'router')
-rw-r--r--router/domain.go7
-rw-r--r--router/mail.go10
2 files changed, 15 insertions, 2 deletions
diff --git a/router/domain.go b/router/domain.go
index 50b1163..abae116 100644
--- a/router/domain.go
+++ b/router/domain.go
@@ -14,8 +14,13 @@ func init() {
urls.Path(urls.Get, "/tlds", auth.RequireAuthentication(domainPage.TLDs), "tlds")
urls.Path(urls.Get, "/tlds/new", auth.RequireAuthentication(domainPage.NewTLD), "tlds.new")
urls.Path(urls.Post, "/tlds", auth.RequireAuthentication(domainController.CreateTLD), "tlds.create")
+ urls.Path(urls.Get, "/tlds/:id/edit", auth.RequireAuthentication(domainPage.EditTLD), "tlds.edit")
+ urls.Path(urls.Put, "/tlds/:id", auth.RequireAuthentication(domainController.UpdateTLD), "tlds.update")
urls.Path(urls.Delete, "/tlds/:name", auth.RequireAuthentication(domainController.DeleteTLD), "tlds.delete")
urls.Path(urls.Get, "/manage", auth.RequireAuthentication(domainPage.Domains), "manage")
urls.Path(urls.Get, "/manage/new", auth.RequireAuthentication(domainPage.NewDomain), "manage.new")
urls.Path(urls.Post, "/manage", auth.RequireAuthentication(domainController.CreateDomain), "manage.create")
-}
+ urls.Path(urls.Get, "/manage/:id/edit", auth.RequireAuthentication(domainPage.EditDomain), "manage.edit")
+ urls.Path(urls.Put, "/manage/:id", auth.RequireAuthentication(domainController.UpdateDomain), "manage.update")
+ urls.Path(urls.Delete, "/manage/:id", auth.RequireAuthentication(domainController.DeleteDomain), "manage.delete")
+} \ No newline at end of file
diff --git a/router/mail.go b/router/mail.go
index e94f470..3833052 100644
--- a/router/mail.go
+++ b/router/mail.go
@@ -14,8 +14,16 @@ func init() {
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/:id/edit", auth.RequireAuthentication(mailPage.EditMailbox), "mailboxes.edit")
+ urls.Path(urls.Put, "/mailboxes/:id", auth.RequireAuthentication(mailController.UpdateMailbox), "mailboxes.update")
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")
-}
+ urls.Path(urls.Get, "/users/:id/edit", auth.RequireAuthentication(mailPage.EditUser), "users.edit")
+ urls.Path(urls.Put, "/users/:id", auth.RequireAuthentication(mailController.UpdateUser), "users.update")
+ urls.Path(urls.Delete, "/users/:id", auth.RequireAuthentication(mailController.DeleteUser), "users.delete")
+ urls.Path(urls.Delete, "/mailboxes/:id", auth.RequireAuthentication(mailController.DeleteMailbox), "mailboxes.delete")
+ urls.Path(urls.Post, "/mailboxes/:id/aliases", auth.RequireAuthentication(mailController.CreateAlias), "aliases.create")
+ urls.Path(urls.Delete, "/mailboxes/:id/aliases/:alias_id", auth.RequireAuthentication(mailController.DeleteAlias), "aliases.delete")
+} \ No newline at end of file