package storage import ( "context" "database/sql" "time" ) const ActionRefreshReuseRevoked = "refresh.reuse_revoked" func (s *Store) RevokeRefreshTokenAudited(ctx context.Context, id string, audit AppendAuditInput) (bool, error) { const operation = "revoke reused refresh token" var deleted int64 err := s.audited(ctx, operation, audit.Actor, func(tx *sql.Tx, at time.Time) error { var err error if deleted, err = execCount(ctx, tx, operation, `DELETE FROM refresh_tokens WHERE id = ?`, id); err != nil || deleted == 0 { return err } _, err = appendAudit(ctx, tx, operation+" audit", audit, at) return err }) if err != nil { return false, err } return deleted > 0, nil }