1
0
mirror of https://github.com/jhillyerd/inbucket.git synced 2025-12-17 17:47:03 +00:00

storage: Message refactoring for #69

- Message interface renamed to StoreMessage
- Message.Delete becomes Store.RemoveMessage
- Added deleted message tracking to Store stub for #80
This commit is contained in:
James Hillyerd
2018-03-11 15:01:40 -07:00
parent 12ad0cb3f0
commit 487e491d6f
11 changed files with 190 additions and 118 deletions

View File

@@ -119,11 +119,11 @@ func (rs *RetentionScanner) DoScan() error {
cutoff := time.Now().Add(-1 * rs.retentionPeriod)
retained := 0
// Loop over all mailboxes.
err := rs.ds.VisitMailboxes(func(messages []Message) bool {
err := rs.ds.VisitMailboxes(func(messages []StoreMessage) bool {
for _, msg := range messages {
if msg.Date().Before(cutoff) {
log.Tracef("Purging expired message %v", msg.ID())
if err := msg.Delete(); err != nil {
log.Tracef("Purging expired message %v/%v", msg.Mailbox(), msg.ID())
if err := rs.ds.RemoveMessage(msg.Mailbox(), msg.ID()); err != nil {
log.Errorf("Failed to purge message %v: %v", msg.ID(), err)
} else {
expRetentionDeletesTotal.Add(1)