27 lines
723 B
Go
27 lines
723 B
Go
package imapclient
|
|
|
|
import (
|
|
"context"
|
|
|
|
"email-mcp/internal/secretstore"
|
|
)
|
|
|
|
type Service struct {
|
|
backend Backend
|
|
}
|
|
|
|
func NewService(backend Backend) Service {
|
|
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, id string) (Message, error) {
|
|
return s.backend.GetMessage(ctx, cred, mailbox, id)
|
|
}
|