Documentation
¶
Overview ¶
Package connector defines the type that connects the server to a remote.
Index ¶
- Variables
- type Connector
- type Dummy
- func (conn *Dummy) AddMessagesToMailbox(ctx context.Context, messageIDs []imap.MessageID, mboxID imap.MailboxID) error
- func (conn *Dummy) Authorize(_ context.Context, username string, password []byte) bool
- func (conn *Dummy) ClearUpdates()
- func (conn *Dummy) Close(ctx context.Context) error
- func (conn *Dummy) CreateMailbox(ctx context.Context, name []string) (imap.Mailbox, error)
- func (conn *Dummy) CreateMessage(ctx context.Context, mboxID imap.MailboxID, literal []byte, flags imap.FlagSet, ...) (imap.Message, []byte, error)
- func (conn *Dummy) DeleteMailbox(ctx context.Context, mboxID imap.MailboxID) error
- func (conn *Dummy) Flush()
- func (conn *Dummy) GetLastRecordedIMAPID() imap.IMAPID
- func (conn *Dummy) GetMailboxVisibility(_ context.Context, id imap.MailboxID) imap.MailboxVisibility
- func (conn *Dummy) GetMessageLiteral(ctx context.Context, id imap.MessageID) ([]byte, error)
- func (conn *Dummy) GetUpdates() <-chan imap.Update
- func (conn *Dummy) MailboxCreated(mbox imap.Mailbox) error
- func (conn *Dummy) MailboxDeleted(mboxID imap.MailboxID) error
- func (conn *Dummy) MarkMessagesFlagged(ctx context.Context, messageIDs []imap.MessageID, flagged bool) error
- func (conn *Dummy) MarkMessagesSeen(ctx context.Context, messageIDs []imap.MessageID, seen bool) error
- func (conn *Dummy) MessageAdded(messageID imap.MessageID, mboxID imap.MailboxID) error
- func (conn *Dummy) MessageCreated(message imap.Message, literal []byte, mboxIDs []imap.MailboxID) error
- func (conn *Dummy) MessageDeleted(messageID imap.MessageID) error
- func (conn *Dummy) MessageFlagged(messageID imap.MessageID, flagged bool) error
- func (conn *Dummy) MessageRemoved(messageID imap.MessageID, mboxID imap.MailboxID) error
- func (conn *Dummy) MessageSeen(messageID imap.MessageID, seen bool) error
- func (conn *Dummy) MessageUpdated(message imap.Message, literal []byte, mboxIDs []imap.MailboxID) error
- func (conn *Dummy) MessagesCreated(messages []imap.Message, literals [][]byte, mboxIDs [][]imap.MailboxID) error
- func (conn *Dummy) MoveMessages(ctx context.Context, messageIDs []imap.MessageID, ...) (bool, error)
- func (conn *Dummy) RemoveMessagesFromMailbox(ctx context.Context, messageIDs []imap.MessageID, mboxID imap.MailboxID) error
- func (conn *Dummy) SetAllowMessageCreateWithUnknownMailboxID(value bool)
- func (conn *Dummy) SetFolderPrefix(pfx string)
- func (conn *Dummy) SetLabelsPrefix(pfx string)
- func (conn *Dummy) SetMailboxVisibility(id imap.MailboxID, visibility imap.MailboxVisibility)
- func (conn *Dummy) SetUpdatesAllowedToFail(value bool)
- func (conn *Dummy) Sync(ctx context.Context) error
- func (conn *Dummy) UIDValidityBumped()
- func (conn *Dummy) UpdateMailboxName(ctx context.Context, mboxID imap.MailboxID, newName []string) error
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNoSuchMailbox = errors.New("no such mailbox") ErrNoSuchMessage = errors.New("no such message") ErrInvalidPrefix = errors.New("invalid prefix") ErrRenameForbidden = errors.New("rename operation is not allowed") ErrDeleteForbidden = errors.New("delete operation is not allowed") )
View Source
var ErrMessageSizeExceedsLimits = errors.New("message size exceeds limits")
View Source
var ErrOperationNotAllowed = errors.New("operation not allowed")
Functions ¶
This section is empty.
Types ¶
type Connector ¶
type Connector interface {
// Authorize returns whether the given username/password combination are valid for this connector.
Authorize(ctx context.Context, username string, password []byte) bool
// CreateMailbox creates a mailbox with the given name.
CreateMailbox(ctx context.Context, name []string) (imap.Mailbox, error)
// GetMessageLiteral is intended to be used by Gluon when, for some reason, the local cached data no longer exists.
// Note: this can get called from different go routines.
GetMessageLiteral(ctx context.Context, id imap.MessageID) ([]byte, error)
// GetMailboxVisibility can be used to retrieve the visibility of mailboxes for connected clients.
GetMailboxVisibility(ctx context.Context, mboxID imap.MailboxID) imap.MailboxVisibility
// UpdateMailboxName sets the name of the mailbox with the given ID.
UpdateMailboxName(ctx context.Context, mboxID imap.MailboxID, newName []string) error
// DeleteMailbox deletes the mailbox with the given ID.
DeleteMailbox(ctx context.Context, mboxID imap.MailboxID) error
// CreateMessage creates a new message on the remote.
CreateMessage(ctx context.Context, mboxID imap.MailboxID, literal []byte, flags imap.FlagSet, date time.Time) (imap.Message, []byte, error)
// AddMessagesToMailbox adds the given messages to the given mailbox.
AddMessagesToMailbox(ctx context.Context, messageIDs []imap.MessageID, mboxID imap.MailboxID) error
// RemoveMessagesFromMailbox removes the given messages from the given mailbox.
RemoveMessagesFromMailbox(ctx context.Context, messageIDs []imap.MessageID, mboxID imap.MailboxID) error
// MoveMessages removes the given messages from one mailbox and adds them to the another mailbox.
// Returns true if the original messages should be removed from mboxFromID (e.g: Distinguishing between labels and folders).
MoveMessages(ctx context.Context, messageIDs []imap.MessageID, mboxFromID, mboxToID imap.MailboxID) (bool, error)
// MarkMessagesSeen sets the seen value of the given messages.
MarkMessagesSeen(ctx context.Context, messageIDs []imap.MessageID, seen bool) error
// MarkMessagesFlagged sets the flagged value of the given messages.
MarkMessagesFlagged(ctx context.Context, messageIDs []imap.MessageID, flagged bool) error
// GetUpdates returns a stream of updates that the gluon server should apply.
GetUpdates() <-chan imap.Update
// Close the connector will no longer be used and all resources should be closed/released.
Close(ctx context.Context) error
}
Connector connects the gluon server to a remote mail store.
type Dummy ¶
type Dummy struct {
// contains filtered or unexported fields
}
func (*Dummy) AddMessagesToMailbox ¶ added in v0.13.0
func (*Dummy) ClearUpdates ¶ added in v0.9.0
func (conn *Dummy) ClearUpdates()
func (*Dummy) CreateMailbox ¶ added in v0.13.0
func (*Dummy) CreateMessage ¶
func (*Dummy) DeleteMailbox ¶ added in v0.13.0
func (*Dummy) GetLastRecordedIMAPID ¶ added in v0.8.0
func (*Dummy) GetMailboxVisibility ¶ added in v0.15.0
func (*Dummy) GetMessageLiteral ¶ added in v0.15.0
func (*Dummy) GetUpdates ¶
func (*Dummy) MarkMessagesFlagged ¶
func (*Dummy) MarkMessagesSeen ¶
func (*Dummy) MessageAdded ¶
func (*Dummy) MessageCreated ¶
func (*Dummy) MessageDeleted ¶ added in v0.8.1
func (*Dummy) MessageFlagged ¶
func (*Dummy) MessageRemoved ¶
func (*Dummy) MessageSeen ¶
func (*Dummy) MessageUpdated ¶ added in v0.14.0
func (*Dummy) MessagesCreated ¶ added in v0.12.0
func (*Dummy) MoveMessages ¶ added in v0.12.0
func (*Dummy) RemoveMessagesFromMailbox ¶ added in v0.13.0
func (*Dummy) SetAllowMessageCreateWithUnknownMailboxID ¶ added in v0.15.0
func (*Dummy) SetFolderPrefix ¶
func (*Dummy) SetLabelsPrefix ¶ added in v0.14.0
func (*Dummy) SetMailboxVisibility ¶ added in v0.15.0
func (conn *Dummy) SetMailboxVisibility(id imap.MailboxID, visibility imap.MailboxVisibility)
func (*Dummy) SetUpdatesAllowedToFail ¶ added in v0.15.0
func (*Dummy) UIDValidityBumped ¶ added in v0.14.0
func (conn *Dummy) UIDValidityBumped()
Directories
¶
| Path | Synopsis |
|---|---|
|
Package mock_connector is a generated GoMock package.
|
Package mock_connector is a generated GoMock package. |
Click to show internal directories.
Click to hide internal directories.