email-mcp/internal/imapclient/service.go
2026-04-10 11:39:40 +02:00

30 lines
781 B
Go

package imapclient
import (
"context"
"email-mcp/internal/secretstore"
)
type Service struct {
backend Backend
}
func NewService(backend Backend) Service {
if backend == nil {
backend = NewDefaultBackend()
}
return Service{backend: backend}
}
func (s Service) ListMailboxes(ctx context.Context, cred secretstore.Credential) ([]Mailbox, error) {
return s.backend.ListMailboxes(ctx, cred)
}
func (s Service) ListMessages(ctx context.Context, cred secretstore.Credential, mailbox string, limit int) ([]MessageSummary, error) {
return s.backend.ListMessages(ctx, cred, mailbox, limit)
}
func (s Service) GetMessage(ctx context.Context, cred secretstore.Credential, mailbox string, uid uint32) (Message, error) {
return s.backend.GetMessage(ctx, cred, mailbox, uid)
}