email-mcp/internal/imapclient/service.go

31 lines
781 B
Go
Raw Normal View History

2026-04-10 09:11:01 +00:00
package imapclient
import (
"context"
"email-mcp/internal/secretstore"
)
type Service struct {
backend Backend
}
func NewService(backend Backend) Service {
2026-04-10 09:39:40 +00:00
if backend == nil {
backend = NewDefaultBackend()
}
2026-04-10 09:11:01 +00:00
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)
2026-04-10 09:11:01 +00:00
}