imap: add mailbox stub
This commit is contained in:
parent
00542af08d
commit
e7302dd4c4
40
imap/imap.go
40
imap/imap.go
|
@ -4,52 +4,12 @@ import (
|
|||
"errors"
|
||||
|
||||
imapbackend "github.com/emersion/go-imap/backend"
|
||||
"golang.org/x/crypto/openpgp"
|
||||
|
||||
"github.com/emersion/hydroxide/auth"
|
||||
"github.com/emersion/hydroxide/protonmail"
|
||||
)
|
||||
|
||||
var errNotYetImplemented = errors.New("not yet implemented")
|
||||
|
||||
type user struct {
|
||||
username string
|
||||
c *protonmail.Client
|
||||
u *protonmail.User
|
||||
privateKeys openpgp.EntityList
|
||||
}
|
||||
|
||||
func (u *user) Username() string {
|
||||
return u.username
|
||||
}
|
||||
|
||||
func (u *user) ListMailboxes(subscribed bool) ([]imapbackend.Mailbox, error) {
|
||||
return nil, errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (u *user) GetMailbox(name string) (imapbackend.Mailbox, error) {
|
||||
return nil, errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (u *user) CreateMailbox(name string) error {
|
||||
return errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (u *user) DeleteMailbox(name string) error {
|
||||
return errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (u *user) RenameMailbox(existingName, newName string) error {
|
||||
return errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (u *user) Logout() error {
|
||||
u.c = nil
|
||||
u.u = nil
|
||||
u.privateKeys = nil
|
||||
return nil
|
||||
}
|
||||
|
||||
type backend struct {
|
||||
sessions *auth.Manager
|
||||
}
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
package imap
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/emersion/go-imap"
|
||||
)
|
||||
|
||||
type mailbox struct {
|
||||
name string
|
||||
}
|
||||
|
||||
func (mbox *mailbox) Name() string {
|
||||
return mbox.name
|
||||
}
|
||||
|
||||
func (mbox *mailbox) Info() (*imap.MailboxInfo, error) {
|
||||
return nil, errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (mbox *mailbox) Status(items []imap.StatusItem) (*imap.MailboxStatus, error) {
|
||||
return nil, errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (mbox *mailbox) SetSubscribed(subscribed bool) error {
|
||||
return errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (mbox *mailbox) Check() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (mbox *mailbox) ListMessages(uid bool, seqset *imap.SeqSet, items []imap.FetchItem, ch chan<- *imap.Message) error {
|
||||
return errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (mbox *mailbox) SearchMessages(uid bool, criteria *imap.SearchCriteria) ([]uint32, error) {
|
||||
return nil, errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (mbox *mailbox) CreateMessage(flags []string, date time.Time, body imap.Literal) error {
|
||||
return errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (mbox *mailbox) UpdateMessagesFlags(uid bool, seqset *imap.SeqSet, operation imap.FlagsOp, flags []string) error {
|
||||
return errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (mbox *mailbox) CopyMessages(uid bool, seqset *imap.SeqSet, dest string) error {
|
||||
return errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (mbox *mailbox) Expunge() error {
|
||||
return errNotYetImplemented // TODO
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
package imap
|
||||
|
||||
import (
|
||||
"golang.org/x/crypto/openpgp"
|
||||
imapbackend "github.com/emersion/go-imap/backend"
|
||||
|
||||
"github.com/emersion/hydroxide/protonmail"
|
||||
)
|
||||
|
||||
type user struct {
|
||||
username string
|
||||
c *protonmail.Client
|
||||
u *protonmail.User
|
||||
privateKeys openpgp.EntityList
|
||||
}
|
||||
|
||||
func (u *user) Username() string {
|
||||
return u.username
|
||||
}
|
||||
|
||||
func (u *user) ListMailboxes(subscribed bool) ([]imapbackend.Mailbox, error) {
|
||||
return nil, errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (u *user) GetMailbox(name string) (imapbackend.Mailbox, error) {
|
||||
return &mailbox{}, errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (u *user) CreateMailbox(name string) error {
|
||||
return errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (u *user) DeleteMailbox(name string) error {
|
||||
return errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (u *user) RenameMailbox(existingName, newName string) error {
|
||||
return errNotYetImplemented // TODO
|
||||
}
|
||||
|
||||
func (u *user) Logout() error {
|
||||
u.c = nil
|
||||
u.u = nil
|
||||
u.privateKeys = nil
|
||||
return nil
|
||||
}
|
Loading…
Reference in New Issue