From 26317a18552ee49d527e5ad1f42ce02d67a54ca9 Mon Sep 17 00:00:00 2001 From: Pascal Bleser Date: Fri, 24 Oct 2025 17:12:32 +0200 Subject: [PATCH] groupware: minor: reorganize the route nesting --- .../pkg/groupware/groupware_route.go | 136 +++++++++--------- 1 file changed, 69 insertions(+), 67 deletions(-) diff --git a/services/groupware/pkg/groupware/groupware_route.go b/services/groupware/pkg/groupware/groupware_route.go index 6b8ad6cea4..b9b2c9d8cf 100644 --- a/services/groupware/pkg/groupware/groupware_route.go +++ b/services/groupware/pkg/groupware/groupware_route.go @@ -60,76 +60,78 @@ const ( func (g *Groupware) Route(r chi.Router) { r.Get("/", g.Index) - r.Get("/accounts", g.GetAccounts) - r.Route("/accounts/all", func(r chi.Router) { + r.Route("/accounts", func(r chi.Router) { r.Get("/", g.GetAccounts) - r.Route("/mailboxes", func(r chi.Router) { - r.Get("/", g.GetMailboxesForAllAccounts) // ?role= - r.Get("/changes", g.GetMailboxChangesForAllAccounts) - r.Get("/roles", g.GetMailboxRoles) // ?role= - r.Get("/roles/{role}", g.GetMailboxByRoleForAllAccounts) // ?role= - }) - r.Route("/emails", func(r chi.Router) { - r.Get("/", g.GetEmailsForAllAccounts) - r.Get("/latest/summary", g.GetLatestEmailsSummaryForAllAccounts) // ?limit=10&seen=true&undesirable=true - }) - r.Get("/quota", g.GetQuotaForAllAccounts) - }) - r.Route("/accounts/{accountid}", func(r chi.Router) { - r.Get("/", g.GetAccount) - r.Route("/identities", func(r chi.Router) { - r.Get("/", g.GetIdentities) - r.Get("/{identityid}", g.GetIdentityById) - r.Post("/", g.AddIdentity) - r.Patch("/{identityid}", g.ModifyIdentity) - r.Delete("/{identityid}", g.DeleteIdentity) - }) - r.Get("/vacation", g.GetVacation) - r.Put("/vacation", g.SetVacation) - r.Get("/quota", g.GetQuota) - r.Route("/mailboxes", func(r chi.Router) { - r.Get("/", g.GetMailboxes) // ?name=&role=&subcribed= - r.Get("/{mailbox}", g.GetMailbox) - r.Get("/{mailbox}/emails", g.GetAllEmailsInMailbox) - r.Get("/{mailbox}/changes", g.GetMailboxChanges) - }) - r.Route("/emails", func(r chi.Router) { - r.Get("/", g.GetEmails) // ?fetchemails=true&fetchbodies=true&text=&subject=&body=&keyword=&keyword=&... - r.Post("/", g.CreateEmail) - r.Delete("/", g.DeleteEmails) - r.Get("/{emailid}", g.GetEmailsById) // Accept:message/rfc822 - r.Put("/{emailid}", g.ReplaceEmail) - r.Patch("/{emailid}", g.UpdateEmail) - r.Patch("/{emailid}/keywords", g.UpdateEmailKeywords) - r.Post("/{emailid}/keywords", g.AddEmailKeywords) - r.Delete("/{emailid}/keywords", g.RemoveEmailKeywords) - r.Delete("/{emailid}", g.DeleteEmail) - Report(r, "/{emailid}", g.RelatedToEmail) - r.Get("/{emailid}/related", g.RelatedToEmail) - r.Get("/{emailid}/attachments", g.GetEmailAttachments) // ?partId=&name=?&blobId=? - }) - r.Route("/blobs", func(r chi.Router) { - r.Get("/{blobid}", g.GetBlobMeta) - r.Get("/{blobid}/{blobname}", g.DownloadBlob) // ?type= - }) - r.Route("/addressbooks", func(r chi.Router) { - r.Get("/", g.GetAddressbooks) - r.Get("/{addressbookid}", g.GetAddressbook) - r.Get("/{addressbookid}/contacts", g.GetContactsInAddressbook) - r.Route("/contacts", func(r chi.Router) { - r.Post("/", g.CreateContact) - r.Delete("/{contactid}", g.DeleteContact) + r.Route("/all", func(r chi.Router) { + r.Get("/", g.GetAccounts) + r.Route("/mailboxes", func(r chi.Router) { + r.Get("/", g.GetMailboxesForAllAccounts) // ?role= + r.Get("/changes", g.GetMailboxChangesForAllAccounts) + r.Get("/roles", g.GetMailboxRoles) // ?role= + r.Get("/roles/{role}", g.GetMailboxByRoleForAllAccounts) // ?role= }) + r.Route("/emails", func(r chi.Router) { + r.Get("/", g.GetEmailsForAllAccounts) + r.Get("/latest/summary", g.GetLatestEmailsSummaryForAllAccounts) // ?limit=10&seen=true&undesirable=true + }) + r.Get("/quota", g.GetQuotaForAllAccounts) }) - r.Route("/calendars", func(r chi.Router) { - r.Get("/", g.GetCalendars) - r.Get("/{calendarid}", g.GetCalendarById) - r.Get("/{calendarid}/events", g.GetEventsInCalendar) - }) - r.Route("/tasklists", func(r chi.Router) { - r.Get("/", g.GetTaskLists) - r.Get("/{tasklistid}", g.GetTaskListById) - r.Get("/{tasklistid}/tasks", g.GetTasksInTaskList) + r.Route("/{accountid}", func(r chi.Router) { + r.Get("/", g.GetAccount) + r.Route("/identities", func(r chi.Router) { + r.Get("/", g.GetIdentities) + r.Get("/{identityid}", g.GetIdentityById) + r.Post("/", g.AddIdentity) + r.Patch("/{identityid}", g.ModifyIdentity) + r.Delete("/{identityid}", g.DeleteIdentity) + }) + r.Get("/vacation", g.GetVacation) + r.Put("/vacation", g.SetVacation) + r.Get("/quota", g.GetQuota) + r.Route("/mailboxes", func(r chi.Router) { + r.Get("/", g.GetMailboxes) // ?name=&role=&subcribed= + r.Get("/{mailbox}", g.GetMailbox) + r.Get("/{mailbox}/emails", g.GetAllEmailsInMailbox) + r.Get("/{mailbox}/changes", g.GetMailboxChanges) + }) + r.Route("/emails", func(r chi.Router) { + r.Get("/", g.GetEmails) // ?fetchemails=true&fetchbodies=true&text=&subject=&body=&keyword=&keyword=&... + r.Post("/", g.CreateEmail) + r.Delete("/", g.DeleteEmails) + r.Get("/{emailid}", g.GetEmailsById) // Accept:message/rfc822 + r.Put("/{emailid}", g.ReplaceEmail) + r.Patch("/{emailid}", g.UpdateEmail) + r.Patch("/{emailid}/keywords", g.UpdateEmailKeywords) + r.Post("/{emailid}/keywords", g.AddEmailKeywords) + r.Delete("/{emailid}/keywords", g.RemoveEmailKeywords) + r.Delete("/{emailid}", g.DeleteEmail) + Report(r, "/{emailid}", g.RelatedToEmail) + r.Get("/{emailid}/related", g.RelatedToEmail) + r.Get("/{emailid}/attachments", g.GetEmailAttachments) // ?partId=&name=?&blobId=? + }) + r.Route("/blobs", func(r chi.Router) { + r.Get("/{blobid}", g.GetBlobMeta) + r.Get("/{blobid}/{blobname}", g.DownloadBlob) // ?type= + }) + r.Route("/addressbooks", func(r chi.Router) { + r.Get("/", g.GetAddressbooks) + r.Get("/{addressbookid}", g.GetAddressbook) + r.Get("/{addressbookid}/contacts", g.GetContactsInAddressbook) + r.Route("/contacts", func(r chi.Router) { + r.Post("/", g.CreateContact) + r.Delete("/{contactid}", g.DeleteContact) + }) + }) + r.Route("/calendars", func(r chi.Router) { + r.Get("/", g.GetCalendars) + r.Get("/{calendarid}", g.GetCalendarById) + r.Get("/{calendarid}/events", g.GetEventsInCalendar) + }) + r.Route("/tasklists", func(r chi.Router) { + r.Get("/", g.GetTaskLists) + r.Get("/{tasklistid}", g.GetTaskListById) + r.Get("/{tasklistid}/tasks", g.GetTasksInTaskList) + }) }) })