package mail import ( "strconv" mailService "dove/services/mail" "dove/utils/meta" "dove/utils/shortcuts" "github.com/gofiber/fiber/v2" ) func NewMailbox(context *fiber.Ctx) error { meta.SetPageTitle(context, "New Mailbox") return shortcuts.Render(context, "mail/newmailbox", mailService.MailboxFormData()) } func EditMailbox(context *fiber.Ctx) error { mailboxID, parseError := strconv.ParseUint(meta.Request(context).Param("id"), 10, 64) if parseError != nil { return shortcuts.BadRequestError(context, parseError) } formData, serviceError := mailService.EditMailboxFormData(uint(mailboxID)) if serviceError != nil { return shortcuts.HandleError(context, serviceError) } meta.SetPageTitle(context, "Edit Mailbox") return shortcuts.Render(context, "mail/editmailbox", formData) } func Mailboxes(context *fiber.Ctx) error { meta.SetPageTitle(context, "Mailboxes") pagination := meta.Paginate(context) sorting := meta.Sort(context, []string{"address", "created_at"}, "created_at") search := context.Query("search") return shortcuts.Render(context, "mail/mailboxes", mailService.ListMailboxes(pagination, sorting, search)) }