Skip to content

Commit fa94cc3

Browse files
committed
Fix delete stale events with no expiration
1 parent 936a88b commit fa94cc3

File tree

4 files changed

+27
-16
lines changed

4 files changed

+27
-16
lines changed

src/crypto/encode.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use anyhow::{anyhow, Result};
2-
use base64::{engine::general_purpose::URL_SAFE, Engine};
1+
use anyhow::{Result, anyhow};
2+
use base64::{Engine, engine::general_purpose::URL_SAFE};
33
use ed25519_dalek::VerifyingKey;
44

55
pub fn bytes_to_string(bytes: &[u8]) -> String {

src/crypto/key.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
use crate::configuration::Configuration;
2-
use anyhow::{anyhow, Context, Result};
3-
use ed25519_dalek::{ed25519::signature::SignerMut, SigningKey, VerifyingKey};
2+
use anyhow::{Context, Result, anyhow};
3+
use ed25519_dalek::{SigningKey, VerifyingKey, ed25519::signature::SignerMut};
44
use rand::rngs::OsRng;
55

66
use tokio::io::AsyncWriteExt;
77
use tracing::debug;
88

99
use super::{
10+
Signed,
1011
encode::{bytes_to_string, string_to_bytes},
1112
signed::Signable,
12-
Signed,
1313
};
1414

1515
fn generate_signing_key() -> SigningKey {

src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use baybridge::{
99
models::{Name, Value},
1010
server::http::start_http_server,
1111
};
12-
use clap::{command, Parser, Subcommand};
12+
use clap::{Parser, Subcommand, command};
1313

1414
#[derive(Parser, Debug)]
1515
#[command(version, about, long_about = None)]

src/server/sqlite_store.rs

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use tracing::debug;
88
use crate::{
99
api::StateHash,
1010
client::Event,
11-
crypto::{encode::encode_verifying_key, Signed},
11+
crypto::{Signed, encode::encode_verifying_key},
1212
};
1313

1414
#[derive(Clone)]
@@ -151,15 +151,26 @@ impl SqliteStore {
151151
let priority = event.inner.priority();
152152

153153
let database_guard = self.connection.lock().await;
154-
let num_deleted = database_guard.execute(
155-
"DELETE FROM events WHERE verifying_key = ? AND name = ? AND expires_at < ? AND priority < ?",
156-
params![
157-
encode_verifying_key(&verifying_key).as_bytes(),
158-
name.as_str().as_bytes(),
159-
expires_at,
160-
priority,
161-
],
162-
)?;
154+
155+
let num_deleted = match expires_at {
156+
Some(expires_at) => database_guard.execute(
157+
"DELETE FROM events WHERE verifying_key = ? AND name = ? AND expires_at < ? AND priority < ?",
158+
params![
159+
encode_verifying_key(&verifying_key).as_bytes(),
160+
name.as_str().as_bytes(),
161+
expires_at,
162+
priority,
163+
],
164+
)?,
165+
None => database_guard.execute(
166+
"DELETE FROM events WHERE verifying_key = ? AND name = ? AND priority < ?",
167+
params![
168+
encode_verifying_key(&verifying_key).as_bytes(),
169+
name.as_str().as_bytes(),
170+
priority,
171+
],
172+
)?,
173+
};
163174
Ok(num_deleted)
164175
}
165176

0 commit comments

Comments
 (0)