ygggo/internal/storage/storage.go

29 lines
1014 B
Go
Raw Normal View History

2021-07-07 18:15:07 +01:00
package storage
import "time"
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)
MailSelect(mailbox string, id int) (int, int, []byte, bool, bool, bool, bool, time.Time, error)
MailSearch(mailbox string) ([]uint32, error)
MailUpdateFlags(mailbox string, id int, seen, answered, flagged, deleted bool) error
MailDelete(mailbox, id string) error
MailExpunge(mailbox string) error
MailCount(mailbox string) (int, error)
2021-07-07 18:15:07 +01:00
}