diff options
Diffstat (limited to 'lib/msgstore.go')
-rw-r--r-- | lib/msgstore.go | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/msgstore.go b/lib/msgstore.go index 3c77c49..c6cd2c3 100644 --- a/lib/msgstore.go +++ b/lib/msgstore.go @@ -1,6 +1,8 @@ package lib import ( + "time" + "github.com/emersion/go-imap" "github.com/mohamedattahri/mail" @@ -91,10 +93,22 @@ func (store *MessageStore) FetchBodies(uids []uint32, func (store *MessageStore) merge( to *types.MessageInfo, from *types.MessageInfo) { - // TODO: Merge more shit + if from.BodyStructure != nil { + to.BodyStructure = from.BodyStructure + } if from.Envelope != nil { to.Envelope = from.Envelope } + if len(from.Flags) != 0 { + to.Flags = from.Flags + } + if from.Size != 0 { + to.Size = from.Size + } + var zero time.Time + if from.InternalDate != zero { + to.InternalDate = from.InternalDate + } } func (store *MessageStore) Update(msg types.WorkerMessage) { |