Block resubmission of deleted events by ID in SaveEvent and simplify deletion timestamp checks in QueryForDeleted.

This commit is contained in:
2025-09-10 20:43:53 +01:00
parent eac6ba1410
commit fb956ff09c
2 changed files with 12 additions and 18 deletions

View File

@@ -57,6 +57,13 @@ func (d *D) SaveEvent(c context.Context, ev *event.E) (kc, vc int, err error) {
log.E.F("error checking if event exists: %s", err)
return
}
// Check if the event has been deleted before allowing resubmission
if err = d.CheckForDeleted(ev, nil); err != nil {
log.I.F("SaveEvent: rejecting resubmission of deleted event ID=%s: %v", hex.Enc(ev.ID), err)
err = errorf.E("blocked: %s", err.Error())
return
}
// check for replacement
if kind.IsReplaceable(ev.Kind) {
// find the events and check timestamps before deleting