ygggo/internal/storage/storage.go

35 lines
1.3 KiB
Go
Raw Normal View History

2021-07-07 18:15:07 +01:00
package storage
2021-07-09 22:25:10 +01:00
import "github.com/neilalexander/yggmail/internal/storage/types"
2021-07-07 18:15:07 +01:00
type Storage interface {
ConfigGet(key string) (string, error)
ConfigSet(key, value string) error
2021-07-09 00:08:26 +01:00
ConfigSetPassword(password string) error
ConfigTryPassword(password string) (bool, error)
2021-07-07 18:15:07 +01:00
2021-07-09 00:08:26 +01:00
MailboxSelect(mailbox string) (bool, error)
MailNextID(mailbox string) (int, error)
MailIDForSeq(mailbox string, id int) (int, error)
MailUnseen(mailbox string) (int, error)
MailboxList(onlySubscribed bool) ([]string, error)
MailboxCreate(name string) error
MailboxRename(old, new string) error
MailboxDelete(name string) error
MailboxSubscribe(name string, subscribed bool) error
2021-07-07 18:15:07 +01:00
2021-07-09 00:08:26 +01:00
MailCreate(mailbox string, data []byte) (int, error)
2021-07-09 22:25:10 +01:00
MailSelect(mailbox string, id int) (int, *types.Mail, error)
2021-07-09 00:08:26 +01:00
MailSearch(mailbox string) ([]uint32, error)
MailUpdateFlags(mailbox string, id int, seen, answered, flagged, deleted bool) error
2021-07-09 23:43:09 +01:00
MailDelete(mailbox string, id int) error
2021-07-09 00:08:26 +01:00
MailExpunge(mailbox string) error
MailCount(mailbox string) (int, error)
2021-07-09 23:43:09 +01:00
QueueListDestinations() ([]string, error)
QueueMailIDsForDestination(destination string) ([]types.QueuedMail, error)
QueueInsertDestinationForID(destination string, id int, from, rcpt string) error
QueueDeleteDestinationForID(destination string, id int) error
QueueSelectIsMessagePendingSend(mailbox string, id int) (bool, error)
2021-07-07 18:15:07 +01:00
}