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"
|
"errors"
|
||||||
|
|
||||||
imapbackend "github.com/emersion/go-imap/backend"
|
imapbackend "github.com/emersion/go-imap/backend"
|
||||||
"golang.org/x/crypto/openpgp"
|
|
||||||
|
|
||||||
"github.com/emersion/hydroxide/auth"
|
"github.com/emersion/hydroxide/auth"
|
||||||
"github.com/emersion/hydroxide/protonmail"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var errNotYetImplemented = errors.New("not yet implemented")
|
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 {
|
type backend struct {
|
||||||
sessions *auth.Manager
|
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