Skip to content

Commit 53d0723

Browse files
committed
mls-sqlite-storage: use as_bytes and as_str when possible
Pull-Request: #846 Signed-off-by: Yuki Kishimoto <[email protected]>
1 parent 48849f0 commit 53d0723

File tree

3 files changed

+37
-43
lines changed

3 files changed

+37
-43
lines changed

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

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,9 @@ impl GroupStorage for NostrMlsSqliteStorage {
7575
GroupError::DatabaseError(format!("Failed to serialize admin pubkeys: {}", e))
7676
})?;
7777

78-
let last_message_id = group.last_message_id.as_ref().map(|id| id.to_bytes());
79-
let last_message_at = group.last_message_at.as_ref().map(|ts| ts.as_u64());
80-
let group_type_str: String = group.group_type.to_string();
81-
let state_str: String = group.state.to_string();
78+
let last_message_id: Option<&[u8; 32]> =
79+
group.last_message_id.as_ref().map(|id| id.as_bytes());
80+
let last_message_at: Option<u64> = group.last_message_at.as_ref().map(|ts| ts.as_u64());
8281

8382
conn_guard
8483
.execute(
@@ -92,11 +91,11 @@ impl GroupStorage for NostrMlsSqliteStorage {
9291
&group.name,
9392
&group.description,
9493
&admin_pubkeys_json,
95-
&last_message_id,
94+
last_message_id,
9695
&last_message_at,
97-
&group_type_str,
96+
group.group_type.as_str(),
9897
&(group.epoch as i64),
99-
&state_str
98+
group.state.as_str()
10099
],
101100
)
102101
.map_err(into_group_err)?;
@@ -190,10 +189,7 @@ impl GroupStorage for NostrMlsSqliteStorage {
190189
conn_guard
191190
.execute(
192191
"INSERT OR REPLACE INTO group_relays (mls_group_id, relay_url) VALUES (?, ?)",
193-
params![
194-
&group_relay.mls_group_id,
195-
&group_relay.relay_url.to_string()
196-
],
192+
params![group_relay.mls_group_id, group_relay.relay_url.as_str()],
197193
)
198194
.map_err(into_group_err)?;
199195

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ impl MessageStorage for NostrMlsSqliteStorage {
3030
(id, pubkey, kind, mls_group_id, created_at, content, tags, event, wrapper_event_id)
3131
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
3232
params![
33-
&message.id.to_bytes(),
34-
&message.pubkey.to_bytes(),
35-
&message.kind.as_u16(),
36-
&message.mls_group_id,
37-
&message.created_at.as_u64(),
38-
&message.content,
39-
&tags_json,
40-
&message.event.as_json(),
41-
&message.wrapper_event_id.to_bytes(),
33+
message.id.as_bytes(),
34+
message.pubkey.as_bytes(),
35+
message.kind.as_u16(),
36+
message.mls_group_id,
37+
message.created_at.as_u64(),
38+
message.content,
39+
tags_json,
40+
message.event.as_json(),
41+
message.wrapper_event_id.as_bytes(),
4242
],
4343
)
4444
.map_err(into_message_err)?;

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

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,18 @@ impl WelcomeStorage for NostrMlsSqliteStorage {
3838
group_admin_pubkeys, group_relays, welcomer, member_count, state, wrapper_event_id)
3939
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
4040
params![
41-
&welcome.id.to_bytes(),
42-
&welcome.event.as_json(),
43-
&welcome.mls_group_id,
44-
&welcome.nostr_group_id,
45-
&welcome.group_name,
46-
&welcome.group_description,
47-
&group_admin_pubkeys_json,
48-
&group_relays_json,
49-
&welcome.welcomer.to_bytes(),
50-
&(welcome.member_count as i64),
51-
&welcome.state.to_string(),
52-
&welcome.wrapper_event_id.to_bytes()
41+
welcome.id.as_bytes(),
42+
welcome.event.as_json(),
43+
welcome.mls_group_id,
44+
welcome.nostr_group_id,
45+
welcome.group_name,
46+
welcome.group_description,
47+
group_admin_pubkeys_json,
48+
group_relays_json,
49+
welcome.welcomer.as_bytes(),
50+
welcome.member_count as u64,
51+
welcome.state.as_str(),
52+
welcome.wrapper_event_id.as_bytes(),
5353
],
5454
)
5555
.map_err(into_welcome_err)?;
@@ -67,7 +67,7 @@ impl WelcomeStorage for NostrMlsSqliteStorage {
6767
.prepare("SELECT * FROM welcomes WHERE id = ?")
6868
.map_err(into_welcome_err)?;
6969

70-
stmt.query_row(params![event_id.to_bytes()], db::row_to_welcome)
70+
stmt.query_row(params![event_id.as_bytes()], db::row_to_welcome)
7171
.optional()
7272
.map_err(into_welcome_err)
7373
}
@@ -100,24 +100,22 @@ impl WelcomeStorage for NostrMlsSqliteStorage {
100100
let conn_guard = self.db_connection.lock().map_err(into_welcome_err)?;
101101

102102
// Convert welcome_event_id to string if it exists
103-
let welcome_event_id = processed_welcome
103+
let welcome_event_id: Option<&[u8; 32]> = processed_welcome
104104
.welcome_event_id
105105
.as_ref()
106-
.map(|id| id.to_bytes());
107-
108-
let state_str: String = processed_welcome.state.to_string();
106+
.map(|id| id.as_bytes());
109107

110108
conn_guard
111109
.execute(
112110
"INSERT OR REPLACE INTO processed_welcomes
113111
(wrapper_event_id, welcome_event_id, processed_at, state, failure_reason)
114112
VALUES (?, ?, ?, ?, ?)",
115113
params![
116-
&processed_welcome.wrapper_event_id.to_bytes(),
117-
&welcome_event_id,
118-
&processed_welcome.processed_at.as_u64(),
119-
&state_str,
120-
&processed_welcome.failure_reason
114+
processed_welcome.wrapper_event_id.as_bytes(),
115+
welcome_event_id,
116+
processed_welcome.processed_at.as_u64(),
117+
processed_welcome.state.as_str(),
118+
processed_welcome.failure_reason
121119
],
122120
)
123121
.map_err(into_welcome_err)?;
@@ -135,7 +133,7 @@ impl WelcomeStorage for NostrMlsSqliteStorage {
135133
.prepare("SELECT * FROM processed_welcomes WHERE wrapper_event_id = ?")
136134
.map_err(into_welcome_err)?;
137135

138-
stmt.query_row(params![event_id.to_bytes()], db::row_to_processed_welcome)
136+
stmt.query_row(params![event_id.as_bytes()], db::row_to_processed_welcome)
139137
.optional()
140138
.map_err(into_welcome_err)
141139
}

0 commit comments

Comments
 (0)