Skip to content

Commit 7603a24

Browse files
committed
use try_get instead of get in lnurl server
1 parent efbcb4e commit 7603a24

File tree

2 files changed

+90
-62
lines changed

2 files changed

+90
-62
lines changed

crates/breez-sdk/lnurl/src/postgresql/repository.rs

Lines changed: 45 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,16 @@ impl crate::repository::LnurlRepository for LnurlRepository {
4141
.bind(name)
4242
.fetch_optional(&self.pool)
4343
.await?
44-
.map(|row| User {
45-
domain: domain.to_string(),
46-
pubkey: row.get(0),
47-
name: row.get(1),
48-
description: row.get(2),
49-
nostr_pubkey: row.get(3),
50-
});
44+
.map(|row| {
45+
Ok::<_, sqlx::Error>(User {
46+
domain: domain.to_string(),
47+
pubkey: row.try_get(0)?,
48+
name: row.try_get(1)?,
49+
description: row.try_get(2)?,
50+
nostr_pubkey: row.try_get(3)?,
51+
})
52+
})
53+
.transpose()?;
5154
Ok(maybe_user)
5255
}
5356

@@ -65,13 +68,16 @@ impl crate::repository::LnurlRepository for LnurlRepository {
6568
.bind(pubkey)
6669
.fetch_optional(&self.pool)
6770
.await?
68-
.map(|row| User {
69-
domain: domain.to_string(),
70-
pubkey: row.get(0),
71-
name: row.get(1),
72-
description: row.get(2),
73-
nostr_pubkey: row.get(3),
74-
});
71+
.map(|row| {
72+
Ok::<_, sqlx::Error>(User {
73+
domain: domain.to_string(),
74+
pubkey: row.try_get(0)?,
75+
name: row.try_get(1)?,
76+
description: row.try_get(2)?,
77+
nostr_pubkey: row.try_get(3)?,
78+
})
79+
})
80+
.transpose()?;
7581
Ok(maybe_user)
7682
}
7783

@@ -134,15 +140,18 @@ impl crate::repository::LnurlRepository for LnurlRepository {
134140
.bind(payment_hash)
135141
.fetch_optional(&self.pool)
136142
.await?
137-
.map(|row| Zap {
138-
payment_hash: row.get(0),
139-
zap_request: row.get(1),
140-
zap_event: row.get(2),
141-
user_pubkey: row.get(3),
142-
invoice_expiry: row.get(4),
143-
updated_at: row.get(5),
144-
is_user_nostr_key: row.get(6),
145-
});
143+
.map(|row| {
144+
Ok::<_, sqlx::Error>(Zap {
145+
payment_hash: row.try_get(0)?,
146+
zap_request: row.try_get(1)?,
147+
zap_event: row.try_get(2)?,
148+
user_pubkey: row.try_get(3)?,
149+
invoice_expiry: row.try_get(4)?,
150+
updated_at: row.try_get(5)?,
151+
is_user_nostr_key: row.try_get(6)?,
152+
})
153+
})
154+
.transpose()?;
146155
Ok(maybe_zap)
147156
}
148157

@@ -156,7 +165,10 @@ impl crate::repository::LnurlRepository for LnurlRepository {
156165
.bind(now)
157166
.fetch_all(&self.pool)
158167
.await?;
159-
let keys = rows.into_iter().map(|row| row.get(0)).collect();
168+
let keys = rows
169+
.into_iter()
170+
.map(|row| row.try_get(0))
171+
.collect::<Result<Vec<_>, sqlx::Error>>()?;
160172
Ok(keys)
161173
}
162174

@@ -223,14 +235,16 @@ impl crate::repository::LnurlRepository for LnurlRepository {
223235
.await?;
224236
let metadata = rows
225237
.into_iter()
226-
.map(|row| ListMetadataMetadata {
227-
payment_hash: row.get(0),
228-
sender_comment: row.get(1),
229-
nostr_zap_request: row.get(2),
230-
nostr_zap_receipt: row.get(3),
231-
updated_at: row.get(4),
238+
.map(|row| {
239+
Ok(ListMetadataMetadata {
240+
payment_hash: row.try_get(0)?,
241+
sender_comment: row.try_get(1)?,
242+
nostr_zap_request: row.try_get(2)?,
243+
nostr_zap_receipt: row.try_get(3)?,
244+
updated_at: row.try_get(4)?,
245+
})
232246
})
233-
.collect();
247+
.collect::<Result<Vec<_>, sqlx::Error>>()?;
234248
Ok(metadata)
235249
}
236250
}

crates/breez-sdk/lnurl/src/sqlite/repository.rs

Lines changed: 45 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,16 @@ impl crate::repository::LnurlRepository for LnurlRepository {
4141
.bind(name)
4242
.fetch_optional(&self.pool)
4343
.await?
44-
.map(|row| User {
45-
domain: domain.to_string(),
46-
pubkey: row.get(0),
47-
name: row.get(1),
48-
description: row.get(2),
49-
nostr_pubkey: row.get(3),
50-
});
44+
.map(|row| {
45+
Ok::<_, sqlx::Error>(User {
46+
domain: domain.to_string(),
47+
pubkey: row.try_get(0)?,
48+
name: row.try_get(1)?,
49+
description: row.try_get(2)?,
50+
nostr_pubkey: row.try_get(3)?,
51+
})
52+
})
53+
.transpose()?;
5154
Ok(maybe_user)
5255
}
5356

@@ -65,13 +68,16 @@ impl crate::repository::LnurlRepository for LnurlRepository {
6568
.bind(pubkey)
6669
.fetch_optional(&self.pool)
6770
.await?
68-
.map(|row| User {
69-
domain: domain.to_string(),
70-
pubkey: row.get(0),
71-
name: row.get(1),
72-
description: row.get(2),
73-
nostr_pubkey: row.get(3),
74-
});
71+
.map(|row| {
72+
Ok::<_, sqlx::Error>(User {
73+
domain: domain.to_string(),
74+
pubkey: row.try_get(0)?,
75+
name: row.try_get(1)?,
76+
description: row.try_get(2)?,
77+
nostr_pubkey: row.try_get(3)?,
78+
})
79+
})
80+
.transpose()?;
7581
Ok(maybe_user)
7682
}
7783

@@ -122,15 +128,18 @@ impl crate::repository::LnurlRepository for LnurlRepository {
122128
.bind(payment_hash)
123129
.fetch_optional(&self.pool)
124130
.await?
125-
.map(|row| Zap {
126-
payment_hash: row.get(0),
127-
zap_request: row.get(1),
128-
zap_event: row.get(2),
129-
user_pubkey: row.get(3),
130-
invoice_expiry: row.get(4),
131-
updated_at: row.get(5),
132-
is_user_nostr_key: row.get(6),
133-
});
131+
.map(|row| {
132+
Ok::<_, sqlx::Error>(Zap {
133+
payment_hash: row.try_get(0)?,
134+
zap_request: row.try_get(1)?,
135+
zap_event: row.try_get(2)?,
136+
user_pubkey: row.try_get(3)?,
137+
invoice_expiry: row.try_get(4)?,
138+
updated_at: row.try_get(5)?,
139+
is_user_nostr_key: row.try_get(6)?,
140+
})
141+
})
142+
.transpose()?;
134143
Ok(maybe_zap)
135144
}
136145

@@ -144,7 +153,10 @@ impl crate::repository::LnurlRepository for LnurlRepository {
144153
.bind(now)
145154
.fetch_all(&self.pool)
146155
.await?;
147-
let keys = rows.into_iter().map(|row| row.get(0)).collect();
156+
let keys = rows
157+
.into_iter()
158+
.map(|row| row.try_get(0))
159+
.collect::<Result<Vec<_>, _>>()?;
148160
Ok(keys)
149161
}
150162

@@ -211,14 +223,16 @@ impl crate::repository::LnurlRepository for LnurlRepository {
211223
.await?;
212224
let metadata = rows
213225
.into_iter()
214-
.map(|row| ListMetadataMetadata {
215-
payment_hash: row.get(0),
216-
sender_comment: row.get(1),
217-
nostr_zap_request: row.get(2),
218-
nostr_zap_receipt: row.get(3),
219-
updated_at: row.get(4),
226+
.map(|row| {
227+
Ok(ListMetadataMetadata {
228+
payment_hash: row.try_get(0)?,
229+
sender_comment: row.try_get(1)?,
230+
nostr_zap_request: row.try_get(2)?,
231+
nostr_zap_receipt: row.try_get(3)?,
232+
updated_at: row.try_get(4)?,
233+
})
220234
})
221-
.collect();
235+
.collect::<Result<Vec<_>, sqlx::Error>>()?;
222236
Ok(metadata)
223237
}
224238
}

0 commit comments

Comments
 (0)