aboutsummaryrefslogtreecommitdiff
path: root/router
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-03-08 08:11:41 +0530
committerBobby <[email protected]>2026-03-08 08:11:41 +0530
commitb2a231280ce3265d20cdc5f317ae1bcc5eb59924 (patch)
tree90eb1a5f5409025db47097e2e083361f8fa52555 /router
parent662dd2069dc8590e8b54823a33726464cf10c4e7 (diff)
downloaddove-b2a231280ce3265d20cdc5f317ae1bcc5eb59924.tar.xz
dove-b2a231280ce3265d20cdc5f317ae1bcc5eb59924.zip
Add webmail email management templates and storage utilities
- Implemented email listing template with read/unread and star functionality. - Created empty state template for webmail when no emails are present. - Developed folder navigation template for managing email folders. - Added email preview template for displaying selected email details. - Introduced storage utilities for managing email files, including creation, reading, moving, and deletion. - Defined constants for storage paths and error messages related to file operations.
Diffstat (limited to 'router')
-rw-r--r--router/mail.go20
1 files changed, 18 insertions, 2 deletions
diff --git a/router/mail.go b/router/mail.go
index 3833052..68838ef 100644
--- a/router/mail.go
+++ b/router/mail.go
@@ -16,7 +16,6 @@ func init() {
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")
@@ -26,4 +25,21 @@ func init() {
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
+ urls.Path(urls.Get, "/webmail", auth.RequireAuthentication(mailPage.WebMail), "webmail")
+ urls.Path(urls.Get, "/webmail/:mailbox_id", auth.RequireAuthentication(mailPage.WebMail), "webmail.mailbox")
+ urls.Path(urls.Get, "/webmail/:mailbox_id/folders", auth.RequireAuthentication(mailPage.WebMailFolders), "webmail.folders")
+ urls.Path(urls.Get, "/webmail/:mailbox_id/folder/:folder_id/emails", auth.RequireAuthentication(mailPage.WebMailEmails), "webmail.folder.emails")
+ urls.Path(urls.Get, "/webmail/:mailbox_id/starred/emails", auth.RequireAuthentication(mailPage.WebMailStarredEmails), "webmail.starred.emails")
+ urls.Path(urls.Get, "/webmail/:mailbox_id/email/:email_id", auth.RequireAuthentication(mailPage.WebMailPreview), "webmail.email")
+ urls.Path(urls.Get, "/webmail/:mailbox_id/compose", auth.RequireAuthentication(mailPage.WebMailCompose), "webmail.compose")
+ urls.Path(urls.Post, "/webmail/send", auth.RequireAuthentication(mailController.SendEmail), "webmail.send")
+ urls.Path(urls.Post, "/webmail/draft", auth.RequireAuthentication(mailController.SaveDraft), "webmail.draft")
+ urls.Path(urls.Put, "/webmail/email/:email_id/star", auth.RequireAuthentication(mailController.ToggleStar), "webmail.email.star")
+ urls.Path(urls.Put, "/webmail/email/:email_id/read", auth.RequireAuthentication(mailController.MarkReadEmail), "webmail.email.read")
+ urls.Path(urls.Put, "/webmail/email/:email_id/unread", auth.RequireAuthentication(mailController.MarkUnreadEmail), "webmail.email.unread")
+ urls.Path(urls.Put, "/webmail/email/:email_id/move", auth.RequireAuthentication(mailController.MoveEmailToFolder), "webmail.email.move")
+ urls.Path(urls.Delete, "/webmail/:mailbox_id/email/:email_id", auth.RequireAuthentication(mailController.TrashEmailAction), "webmail.email.delete")
+ urls.Path(urls.Post, "/webmail/:mailbox_id/bulk", auth.RequireAuthentication(mailController.BulkEmailAction), "webmail.bulk")
+ urls.Path(urls.Post, "/webmail/:mailbox_id/folders", auth.RequireAuthentication(mailController.CreateWebMailFolder), "webmail.folder.create")
+ urls.Path(urls.Delete, "/webmail/:mailbox_id/folder/:folder_id", auth.RequireAuthentication(mailController.DeleteWebMailFolder), "webmail.folder.delete")
+}