Skip to content

Commit d095088

Browse files
erskingardneryukibtc
authored andcommitted
mls-storage: make failure_reason optional
Updated `failure_reason` to be an `Option<String>` in structs, database schema, and related code. Signed-off-by: Yuki Kishimoto <[email protected]>
1 parent d2af0fc commit d095088

File tree

7 files changed

+14
-14
lines changed

7 files changed

+14
-14
lines changed

crates/nostr-mls-memory-storage/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ mod tests {
463463
welcome_event_id: Some(event_id),
464464
processed_at: Timestamp::now(),
465465
state: ProcessedWelcomeState::Processed,
466-
failure_reason: "".to_string(),
466+
failure_reason: None,
467467
};
468468

469469
// Save the processed welcome
@@ -571,7 +571,7 @@ mod tests {
571571
message_event_id: Some(event_id),
572572
processed_at: Timestamp::now(),
573573
state: ProcessedMessageState::Processed,
574-
failure_reason: "".to_string(),
574+
failure_reason: None,
575575
};
576576

577577
// Save the processed message

crates/nostr-mls-sqlite-storage/migrations/V100__initial.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ CREATE TABLE IF NOT EXISTS processed_messages (
6767
message_event_id BLOB, -- Message event ID as byte array
6868
processed_at INTEGER NOT NULL,
6969
state TEXT NOT NULL,
70-
failure_reason TEXT NOT NULL
70+
failure_reason TEXT
7171
);
7272

7373
-- Create index on message_event_id for faster lookups
@@ -105,7 +105,7 @@ CREATE TABLE IF NOT EXISTS processed_welcomes (
105105
welcome_event_id BLOB, -- Welcome event ID as byte array
106106
processed_at INTEGER NOT NULL,
107107
state TEXT NOT NULL,
108-
failure_reason TEXT NOT NULL
108+
failure_reason TEXT
109109
);
110110

111111
-- Create index on welcome_event_id for faster lookups

crates/nostr-mls-sqlite-storage/src/db.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ pub fn row_to_processed_message(row: &Row) -> SqliteResult<ProcessedMessage> {
162162
row.get_ref("message_event_id")?.as_blob_or_null()?;
163163
let processed_at_value: u64 = row.get("processed_at")?;
164164
let state_str: &str = row.get_ref("state")?.as_str()?;
165-
let failure_reason: String = row.get("failure_reason")?;
165+
let failure_reason: Option<String> = row.get("failure_reason")?;
166166

167167
// Parse values
168168
let wrapper_event_id: EventId = EventId::from_slice(wrapper_event_id_blob)
@@ -249,7 +249,7 @@ pub fn row_to_processed_welcome(row: &Row) -> SqliteResult<ProcessedWelcome> {
249249
row.get_ref("welcome_event_id")?.as_blob_or_null()?;
250250
let processed_at_value: u64 = row.get("processed_at")?;
251251
let state_str: &str = row.get_ref("state")?.as_str()?;
252-
let failure_reason: String = row.get("failure_reason")?;
252+
let failure_reason: Option<String> = row.get("failure_reason")?;
253253

254254
// Parse values
255255
let wrapper_event_id: EventId = EventId::from_slice(wrapper_event_id_blob)

crates/nostr-mls-sqlite-storage/src/messages.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ mod tests {
201201
message_event_id: Some(message_event_id),
202202
processed_at: Timestamp::from(1_000_000_000u64),
203203
state: ProcessedMessageState::Processed,
204-
failure_reason: "".to_string(),
204+
failure_reason: None,
205205
};
206206

207207
// Save the processed message

crates/nostr-mls-sqlite-storage/src/welcomes.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ mod tests {
241241
welcome_event_id: Some(welcome_event_id),
242242
processed_at: Timestamp::from(1_000_000_000u64),
243243
state: ProcessedWelcomeState::Processed,
244-
failure_reason: "".to_string(),
244+
failure_reason: None,
245245
};
246246

247247
// Save the processed welcome

crates/nostr-mls-storage/src/messages/types.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pub struct ProcessedMessage {
2121
/// The state of the message
2222
pub state: ProcessedMessageState,
2323
/// The reason the message failed to be processed
24-
pub failure_reason: String,
24+
pub failure_reason: Option<String>,
2525
}
2626

2727
/// This is the processed rumor message that represents a message in a group
@@ -163,11 +163,11 @@ mod tests {
163163
fn test_processed_message_serialization() {
164164
// Create a processed message to test serialization
165165
let processed_message = ProcessedMessage {
166-
wrapper_event_id: EventId::all_zeros(), // Using all_zeros for testing
166+
wrapper_event_id: EventId::all_zeros(),
167167
message_event_id: None,
168168
processed_at: Timestamp::now(),
169169
state: ProcessedMessageState::Processed,
170-
failure_reason: String::new(),
170+
failure_reason: None,
171171
};
172172

173173
let serialized = serde_json::to_value(&processed_message).unwrap();

crates/nostr-mls-storage/src/welcomes/types.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pub struct ProcessedWelcome {
2121
/// The state of the welcome
2222
pub state: ProcessedWelcomeState,
2323
/// The reason the welcome failed to be processed
24-
pub failure_reason: String,
24+
pub failure_reason: Option<String>,
2525
}
2626

2727
/// A welcome message
@@ -309,11 +309,11 @@ mod tests {
309309
welcome_event_id: None,
310310
processed_at: Timestamp::now(),
311311
state: ProcessedWelcomeState::Processed,
312-
failure_reason: String::new(),
312+
failure_reason: None,
313313
};
314314

315315
let serialized = serde_json::to_value(&processed_welcome).unwrap();
316316
assert_eq!(serialized["state"], json!("processed"));
317-
assert_eq!(serialized["failure_reason"], json!(""));
317+
assert_eq!(serialized["failure_reason"], json!(null));
318318
}
319319
}

0 commit comments

Comments
 (0)