fix: Datumsparser — mehr RFC-2822-Varianten, kein time.Now() Fallback
This commit is contained in:
@@ -583,11 +583,15 @@ func (s *Store) insertMeta(ctx context.Context, id string, pm *mailparser.Parsed
|
||||
msgID = &pm.MessageID
|
||||
}
|
||||
|
||||
receivedAt := pm.Date
|
||||
if receivedAt.IsZero() {
|
||||
receivedAt = time.Now()
|
||||
}
|
||||
_, err := s.db.Exec(ctx, `
|
||||
INSERT INTO emails (id, received_at, mail_from, mail_to, subject, size_bytes, has_attach, tenant_id, message_id)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)
|
||||
ON CONFLICT (id) DO NOTHING
|
||||
`, id, pm.Date, pm.From, mailTo, pm.Subject, int64(size), hasAttach, tenantID, msgID)
|
||||
`, id, receivedAt, pm.From, mailTo, pm.Subject, int64(size), hasAttach, tenantID, msgID)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -615,6 +619,10 @@ func (s *Store) SaveMeta(ctx context.Context, id string, pm *mailparser.ParsedMa
|
||||
msgID = &pm.MessageID
|
||||
}
|
||||
|
||||
metaDate := pm.Date
|
||||
if metaDate.IsZero() {
|
||||
metaDate = time.Now()
|
||||
}
|
||||
_, err := s.db.Exec(ctx, `
|
||||
INSERT INTO emails (id, received_at, mail_from, mail_to, subject, size_bytes, has_attach, message_id)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
|
||||
@@ -625,7 +633,7 @@ func (s *Store) SaveMeta(ctx context.Context, id string, pm *mailparser.ParsedMa
|
||||
size_bytes = EXCLUDED.size_bytes,
|
||||
has_attach = EXCLUDED.has_attach,
|
||||
message_id = COALESCE(emails.message_id, EXCLUDED.message_id)
|
||||
`, id, pm.Date, pm.From, mailTo, pm.Subject, int64(size), hasAttach, msgID)
|
||||
`, id, metaDate, pm.From, mailTo, pm.Subject, int64(size), hasAttach, msgID)
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user