From 17b250cd4722ba281343b35b85fb645ffefedcf8 Mon Sep 17 00:00:00 2001 From: Bobby <30593201+luciferreeves@users.noreply.github.com> Date: Tue, 23 Dec 2025 18:36:26 +0530 Subject: email model and syncing and showing emails --- controllers/mail.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'controllers/mail.go') diff --git a/controllers/mail.go b/controllers/mail.go index da2adf2..36166ce 100644 --- a/controllers/mail.go +++ b/controllers/mail.go @@ -1,6 +1,7 @@ package controllers import ( + "lain/models" "lain/repository" "lain/session" "lain/utils/meta" @@ -20,10 +21,23 @@ func Mailbox(context *fiber.Ctx) error { return InternalServerError(context, err) } + prefs := context.Locals("Preferences").(*models.Preferences) + folders := repository.GetFolders(email, folderPath) displayName := repository.GetFolderDisplayName(email, folderPath) - emails := []fiber.Map{} + page := context.QueryInt("page", 1) + if page < 1 { + page = 1 + } + + limit := prefs.EmailsPerPage + offset := (page - 1) * limit + + emails, err := repository.GetEmails(email, folderPath, limit, offset) + if err != nil { + emails = []fiber.Map{} + } meta.SetPageTitle(context, displayName) @@ -31,5 +45,6 @@ func Mailbox(context *fiber.Ctx) error { "Folders": folders, "Emails": emails, "Email": nil, + "Page": page, }) } -- cgit v1.2.3