diff --git a/src/db.go b/src/db.go index a1b8176..6767ebf 100644 --- a/src/db.go +++ b/src/db.go @@ -126,7 +126,12 @@ func NewActivation(code string) error { } func UseActivation(code string) bool { - _, err := db.Exec(`delete from activations where code = $1`, code) + exists := false + err := db.Get(&exists, `SELECT exists(SELECT 1 FROM chats WHERE code = $1);`, code) + if err != nil || !exists { + return false + } + _, err = db.Exec(`delete from activations where code = $1`, code) return err == nil }