From 304831f74918cf9427543b79c8f90c3f7837cba3 Mon Sep 17 00:00:00 2001 From: Gustavo Chain Date: Thu, 9 Feb 2023 01:41:44 +0100 Subject: [PATCH] move AfterSave method from relay to storage --- basic/main.go | 12 ------------ expensive/main.go | 12 ------------ storage/postgresql/save.go | 12 ++++++++++++ 3 files changed, 12 insertions(+), 24 deletions(-) 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) +}