summary refs log tree commit diff stats
path: root/worker/types/messages.go
diff options
context:
space:
mode:
Diffstat (limited to 'worker/types/messages.go')
-rw-r--r--worker/types/messages.go24
1 files changed, 19 insertions, 5 deletions
diff --git a/worker/types/messages.go b/worker/types/messages.go
index f38bb22..b1d1485 100644
--- a/worker/types/messages.go
+++ b/worker/types/messages.go
@@ -2,6 +2,7 @@ package types
 
 import (
 	"crypto/x509"
+	"io"
 	"time"
 
 	"github.com/emersion/go-imap"
@@ -86,6 +87,12 @@ type FetchMessageBodies struct {
 	Uids imap.SeqSet
 }
 
+type FetchMessageBodyPart struct {
+	Message
+	Uid  uint32
+	Part int
+}
+
 type DeleteMessages struct {
 	Message
 	Uids imap.SeqSet
@@ -120,11 +127,12 @@ type DirectoryContents struct {
 
 type MessageInfo struct {
 	Message
-	Envelope     *imap.Envelope
-	Flags        []string
-	InternalDate time.Time
-	Size         uint32
-	Uid          uint32
+	BodyStructure *imap.BodyStructure
+	Envelope      *imap.Envelope
+	Flags         []string
+	InternalDate  time.Time
+	Size          uint32
+	Uid           uint32
 }
 
 type MessageBody struct {
@@ -133,6 +141,12 @@ type MessageBody struct {
 	Uid  uint32
 }
 
+type MessageBodyPart struct {
+	Message
+	Reader *io.Reader
+	Uid    uint32
+}
+
 type MessagesDeleted struct {
 	Message
 	Uids []uint32