aboutsummaryrefslogtreecommitdiff
path: root/services/mailbox.go
blob: b84e19b1e94e8b06f244c76c900d7452a4f8550d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package services

import (
	"dove/models"
	"dove/repositories"
	"dove/types"
	"dove/utils/meta"
)

func ListMailboxes(pagination meta.Pagination, sorting meta.Sorting, search string) types.PaginatedResponse {
	mailboxes, total := repositories.ListMailboxes(pagination, sorting, search)
	return pagination.Response(mailboxes, total)
}

func ResolveMailboxes(recipientAddresses []string) []models.Mailbox {
	var resolvedMailboxes []models.Mailbox

	for _, address := range recipientAddresses {
		mailbox := resolveMailbox(address)
		if mailbox != nil {
			resolvedMailboxes = append(resolvedMailboxes, *mailbox)
		}
	}

	return resolvedMailboxes
}