Use UID-stable target dedup scan

This commit is contained in:
DonVoo 2026-07-14 21:17:45 +02:00
parent b16deffa25
commit 8e8c651eaa
3 changed files with 64 additions and 17 deletions

View file

@ -17,6 +17,7 @@ type TargetMailbox interface {
EnsureFolder(name string) error // anlegen + subscriben, falls fehlt
Append(folder string, m RawMessage) error // mit m.Flags und m.InternalDate
Headers(folder string, limit, offset int) ([]MessageHeader, error)
AllHeaders(folder string) ([]MessageHeader, error)
FetchOne(folder string, uid uint32) (RawMessage, error)
DeleteUIDs(folder string, uids []uint32) error
Close() error
@ -126,6 +127,10 @@ func (t *imapTarget) Headers(folder string, limit, offset int) ([]MessageHeader,
return t.mailbox.fetchHeaders(folder, limit, offset)
}
func (t *imapTarget) AllHeaders(folder string) ([]MessageHeader, error) {
return t.mailbox.fetchAllHeadersByUID(folder)
}
func (t *imapTarget) FetchOne(folder string, uid uint32) (RawMessage, error) {
return t.mailbox.fetchOne(folder, uid)
}