diff --git a/basic/main.go b/basic/main.go index cc69a72..0a30137 100644 --- a/basic/main.go +++ b/basic/main.go @@ -57,18 +57,6 @@ func (r *Relay) AcceptEvent(evt *nostr.Event) bool { return true } -func (r *Relay) BeforeSave(evt *nostr.Event) { - // do nothing -} - -func (r *Relay) AfterSave(evt *nostr.Event) { - // delete all but the 100 most recent ones for each key - r.Storage().(*postgresql.PostgresBackend).DB.Exec(`DELETE FROM event WHERE pubkey = $1 AND kind = $2 AND created_at < ( - SELECT created_at FROM event WHERE pubkey = $1 - ORDER BY created_at DESC OFFSET 100 LIMIT 1 - )`, evt.PubKey, evt.Kind) -} - func main() { r := Relay{} if err := envconfig.Process("", &r); err != nil { diff --git a/expensive/main.go b/expensive/main.go index f5e5fe7..f786833 100644 --- a/expensive/main.go +++ b/expensive/main.go @@ -70,18 +70,6 @@ func (r *Relay) AcceptEvent(evt *nostr.Event) bool { return true } -func (r *Relay) BeforeSave(evt *nostr.Event) { - // do nothing -} - -func (r *Relay) AfterSave(evt *nostr.Event) { - // delete all but the 1000 most recent ones for each key - r.Storage().(*postgresql.PostgresBackend).DB.Exec(`DELETE FROM event WHERE pubkey = $1 AND kind = $2 AND created_at < ( - SELECT created_at FROM event WHERE pubkey = $1 - ORDER BY created_at DESC OFFSET 1000 LIMIT 1 - )`, evt.PubKey, evt.Kind) -} - func main() { r := Relay{} if err := envconfig.Process("", &r); err != nil { diff --git a/storage/postgresql/save.go b/storage/postgresql/save.go index 5280f7d..811cd3f 100644 --- a/storage/postgresql/save.go +++ b/storage/postgresql/save.go @@ -40,3 +40,15 @@ func (b *PostgresBackend) SaveEvent(evt *nostr.Event) error { return nil } + +func (b *PostgresBackend) BeforeSave(evt *nostr.Event) { + // do nothing +} + +func (b *PostgresBackend) AfterSave(evt *nostr.Event) { + // delete all but the 100 most recent ones for each key + b.DB.Exec(`DELETE FROM event WHERE pubkey = $1 AND kind = $2 AND created_at < ( + SELECT created_at FROM event WHERE pubkey = $1 + ORDER BY created_at DESC OFFSET 100 LIMIT 1 + )`, evt.PubKey, evt.Kind) +}