Skip to content

Commit 58bbfc7

Browse files
authored
fix bill cache for multiple identities (#539)
1 parent 8ce4f00 commit 58bbfc7

File tree

10 files changed

+178
-93
lines changed

10 files changed

+178
-93
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
* Upload and download files to and from Nostr using Blossom
44
* Add `nostr_hash` to `File` (breaking DB change)
5+
* Fix MintRequestResponse return type
6+
* Bill Caching for multiple identities (breaking DB change)
57

68
# 0.3.14
79

crates/bcr-ebill-api/src/service/bill_service/data_fetching.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -730,7 +730,7 @@ impl BillService {
730730
.await?;
731731
if let Err(e) = self
732732
.store
733-
.save_bill_to_cache(bill_id, &calculated_bill)
733+
.save_bill_to_cache(bill_id, current_identity_node_id, &calculated_bill)
734734
.await
735735
{
736736
error!("Error saving calculated bill {bill_id} to cache: {e}");
@@ -757,7 +757,10 @@ impl BillService {
757757
let contacts = self.contact_store.get_map().await?;
758758

759759
// check if the bill is in the cache
760-
let bill_cache_result = self.store.get_bill_from_cache(bill_id).await;
760+
let bill_cache_result = self
761+
.store
762+
.get_bill_from_cache(bill_id, current_identity_node_id)
763+
.await;
761764
let mut bill = match bill_cache_result {
762765
Ok(Some(mut bill)) => {
763766
// update contact data from contact store

crates/bcr-ebill-api/src/service/bill_service/mod.rs

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ pub mod tests {
480480
ctx.bill_store.expect_save_keys().returning(|_, _| Ok(()));
481481
ctx.bill_store
482482
.expect_save_bill_to_cache()
483-
.returning(|_, _| Ok(()));
483+
.returning(|_, _, _| Ok(()));
484484
// should send a bill is signed event
485485
ctx.notification_service
486486
.expect_send_bill_is_signed_event()
@@ -546,7 +546,7 @@ pub mod tests {
546546
ctx.bill_store.expect_save_keys().returning(|_, _| Ok(()));
547547
ctx.bill_store
548548
.expect_save_bill_to_cache()
549-
.returning(|_, _| Ok(()));
549+
.returning(|_, _, _| Ok(()));
550550
// should send a bill is signed event
551551
ctx.notification_service
552552
.expect_send_bill_is_signed_event()
@@ -692,7 +692,7 @@ pub mod tests {
692692
ctx.bill_store.expect_save_keys().returning(|_, _| Ok(()));
693693
ctx.bill_store
694694
.expect_save_bill_to_cache()
695-
.returning(|_, _| Ok(()));
695+
.returning(|_, _, _| Ok(()));
696696
// should send a bill is signed event
697697
ctx.notification_service
698698
.expect_send_bill_is_signed_event()
@@ -847,7 +847,7 @@ pub mod tests {
847847
.times(1);
848848
ctx.bill_store
849849
.expect_get_bills_from_cache()
850-
.returning(move |_| Ok(vec![bill.clone()]));
850+
.returning(move |_, _| Ok(vec![bill.clone()]));
851851
ctx.bill_store
852852
.expect_get_ids()
853853
.returning(|| Ok(vec![TEST_BILL_ID.to_string(), "4321".to_string()]));
@@ -899,7 +899,7 @@ pub mod tests {
899899
.times(2);
900900
ctx.bill_store
901901
.expect_get_bills_from_cache()
902-
.returning(move |_| Ok(vec![bill.clone()]));
902+
.returning(move |_, _| Ok(vec![bill.clone()]));
903903
ctx.bill_store
904904
.expect_get_ids()
905905
.returning(|| Ok(vec![TEST_BILL_ID.to_string(), "4321".to_string()]));
@@ -1072,7 +1072,7 @@ pub mod tests {
10721072
ctx.bill_store.expect_exists().returning(|_| Ok(true));
10731073
ctx.bill_store
10741074
.expect_get_bill_from_cache()
1075-
.returning(move |_| Ok(Some(bill.clone())));
1075+
.returning(move |_, _| Ok(Some(bill.clone())));
10761076
ctx.bill_blockchain_store.expect_get_chain().never();
10771077
ctx.notification_service
10781078
.expect_get_active_bill_notification()
@@ -1122,7 +1122,7 @@ pub mod tests {
11221122
ctx.bill_store.expect_exists().returning(|_| Ok(true));
11231123
ctx.bill_store
11241124
.expect_get_bill_from_cache()
1125-
.returning(move |_| Ok(Some(bill.clone())));
1125+
.returning(move |_, _| Ok(Some(bill.clone())));
11261126
ctx.bill_blockchain_store
11271127
.expect_get_chain()
11281128
.returning(move |_| Ok(get_genesis_chain(Some(chain_bill.clone()))))
@@ -1160,7 +1160,9 @@ pub mod tests {
11601160
ctx.bill_store.expect_exists().returning(|_| Ok(true));
11611161
ctx.bill_store
11621162
.expect_get_bill_from_cache()
1163-
.returning(move |_| Err(persistence::Error::Io(std::io::Error::other("test error"))));
1163+
.returning(move |_, _| {
1164+
Err(persistence::Error::Io(std::io::Error::other("test error")))
1165+
});
11641166
ctx.bill_blockchain_store
11651167
.expect_get_chain()
11661168
.returning(move |_| Ok(get_genesis_chain(Some(bill.clone()))));
@@ -2218,7 +2220,7 @@ pub mod tests {
22182220
bill.drawee = bill_identified_participant_only_node_id(identity.identity.node_id.clone());
22192221
ctx.bill_store
22202222
.expect_save_bill_to_cache()
2221-
.returning(|_, _| Ok(()));
2223+
.returning(|_, _, _| Ok(()));
22222224
ctx.bill_blockchain_store
22232225
.expect_get_chain()
22242226
.returning(move |_| Ok(get_genesis_chain(Some(bill.clone()))));
@@ -2254,7 +2256,7 @@ pub mod tests {
22542256
bill.drawee = bill_identified_participant_only_node_id(identity.identity.node_id.clone());
22552257
ctx.bill_store
22562258
.expect_save_bill_to_cache()
2257-
.returning(|_, _| Ok(()));
2259+
.returning(|_, _, _| Ok(()));
22582260
ctx.bill_blockchain_store
22592261
.expect_get_chain()
22602262
.returning(move |_| Ok(get_genesis_chain(Some(bill.clone()))));
@@ -2289,7 +2291,7 @@ pub mod tests {
22892291
.returning(move |_| Ok(get_genesis_chain(Some(bill.clone()))));
22902292
ctx.bill_store
22912293
.expect_save_bill_to_cache()
2292-
.returning(|_, _| Ok(()));
2294+
.returning(|_, _, _| Ok(()));
22932295

22942296
// Should send bill accepted event
22952297
ctx.notification_service
@@ -2399,7 +2401,7 @@ pub mod tests {
23992401
));
24002402
ctx.bill_store
24012403
.expect_save_bill_to_cache()
2402-
.returning(|_, _| Ok(()));
2404+
.returning(|_, _, _| Ok(()));
24032405
ctx.bill_store.expect_is_paid().returning(|_| Ok(false));
24042406
ctx.bill_blockchain_store
24052407
.expect_get_chain()
@@ -2438,7 +2440,7 @@ pub mod tests {
24382440
));
24392441
ctx.bill_store
24402442
.expect_save_bill_to_cache()
2441-
.returning(|_, _| Ok(()));
2443+
.returning(|_, _, _| Ok(()));
24422444
ctx.bill_store.expect_is_paid().returning(|_| Ok(false));
24432445
ctx.bill_blockchain_store
24442446
.expect_get_chain()
@@ -2501,7 +2503,7 @@ pub mod tests {
25012503
));
25022504
ctx.bill_store
25032505
.expect_save_bill_to_cache()
2504-
.returning(|_, _| Ok(()));
2506+
.returning(|_, _, _| Ok(()));
25052507
ctx.bill_blockchain_store
25062508
.expect_get_chain()
25072509
.returning(move |_| Ok(get_genesis_chain(Some(bill.clone()))));
@@ -2538,7 +2540,7 @@ pub mod tests {
25382540
));
25392541
ctx.bill_store
25402542
.expect_save_bill_to_cache()
2541-
.returning(|_, _| Ok(()));
2543+
.returning(|_, _, _| Ok(()));
25422544
ctx.bill_blockchain_store
25432545
.expect_get_chain()
25442546
.returning(move |_| Ok(get_genesis_chain(Some(bill.clone()))));
@@ -2600,7 +2602,7 @@ pub mod tests {
26002602
));
26012603
ctx.bill_store
26022604
.expect_save_bill_to_cache()
2603-
.returning(|_, _| Ok(()));
2605+
.returning(|_, _, _| Ok(()));
26042606
ctx.bill_blockchain_store
26052607
.expect_get_chain()
26062608
.returning(move |_| {
@@ -2647,7 +2649,7 @@ pub mod tests {
26472649
));
26482650
ctx.bill_store
26492651
.expect_save_bill_to_cache()
2650-
.returning(|_, _| Ok(()));
2652+
.returning(|_, _, _| Ok(()));
26512653
ctx.bill_blockchain_store
26522654
.expect_get_chain()
26532655
.returning(move |_| {
@@ -2763,7 +2765,7 @@ pub mod tests {
27632765
));
27642766
ctx.bill_store
27652767
.expect_save_bill_to_cache()
2766-
.returning(|_, _| Ok(()));
2768+
.returning(|_, _, _| Ok(()));
27672769
ctx.bill_blockchain_store
27682770
.expect_get_chain()
27692771
.returning(move |_| Ok(get_genesis_chain(Some(bill.clone()))));
@@ -2805,7 +2807,7 @@ pub mod tests {
28052807
));
28062808
ctx.bill_store
28072809
.expect_save_bill_to_cache()
2808-
.returning(|_, _| Ok(()));
2810+
.returning(|_, _, _| Ok(()));
28092811
ctx.bill_blockchain_store
28102812
.expect_get_chain()
28112813
.returning(move |_| Ok(get_genesis_chain(Some(bill.clone()))));
@@ -2882,7 +2884,7 @@ pub mod tests {
28822884
let buyer_clone = buyer.clone();
28832885
ctx.bill_store
28842886
.expect_save_bill_to_cache()
2885-
.returning(|_, _| Ok(()));
2887+
.returning(|_, _, _| Ok(()));
28862888
ctx.bill_blockchain_store
28872889
.expect_get_chain()
28882890
.returning(move |_| {
@@ -2952,7 +2954,7 @@ pub mod tests {
29522954
let buyer_clone = buyer.clone();
29532955
ctx.bill_store
29542956
.expect_save_bill_to_cache()
2955-
.returning(|_, _| Ok(()));
2957+
.returning(|_, _, _| Ok(()));
29562958
ctx.bill_blockchain_store
29572959
.expect_get_chain()
29582960
.returning(move |_| {
@@ -3151,7 +3153,7 @@ pub mod tests {
31513153
));
31523154
ctx.bill_store
31533155
.expect_save_bill_to_cache()
3154-
.returning(|_, _| Ok(()));
3156+
.returning(|_, _, _| Ok(()));
31553157
ctx.bill_blockchain_store
31563158
.expect_get_chain()
31573159
.returning(move |_| Ok(get_genesis_chain(Some(bill.clone()))));
@@ -3189,7 +3191,7 @@ pub mod tests {
31893191
));
31903192
ctx.bill_store
31913193
.expect_save_bill_to_cache()
3192-
.returning(|_, _| Ok(()));
3194+
.returning(|_, _, _| Ok(()));
31933195
ctx.bill_blockchain_store
31943196
.expect_get_chain()
31953197
.returning(move |_| Ok(get_genesis_chain(Some(bill.clone()))));
@@ -4558,7 +4560,7 @@ pub mod tests {
45584560

45594561
ctx.bill_store
45604562
.expect_save_bill_to_cache()
4561-
.returning(|_, _| Ok(()));
4563+
.returning(|_, _, _| Ok(()));
45624564
ctx.bill_blockchain_store
45634565
.expect_get_chain()
45644566
.returning(move |_| {
@@ -4616,7 +4618,7 @@ pub mod tests {
46164618

46174619
ctx.bill_store
46184620
.expect_save_bill_to_cache()
4619-
.returning(|_, _| Ok(()));
4621+
.returning(|_, _, _| Ok(()));
46204622
ctx.bill_blockchain_store
46214623
.expect_get_chain()
46224624
.returning(move |_| {
@@ -4673,7 +4675,7 @@ pub mod tests {
46734675
let identity_clone = identity.identity.clone();
46744676
ctx.bill_store
46754677
.expect_save_bill_to_cache()
4676-
.returning(|_, _| Ok(()));
4678+
.returning(|_, _, _| Ok(()));
46774679
ctx.bill_store.expect_exists().returning(|_| Ok(true));
46784680
ctx.bill_blockchain_store
46794681
.expect_get_chain()
@@ -4723,7 +4725,7 @@ pub mod tests {
47234725
let identity_clone = identity.identity.clone();
47244726
ctx.bill_store
47254727
.expect_save_bill_to_cache()
4726-
.returning(|_, _| Ok(()));
4728+
.returning(|_, _, _| Ok(()));
47274729
ctx.bill_store.expect_exists().returning(|_| Ok(true));
47284730
ctx.bill_blockchain_store
47294731
.expect_get_chain()
@@ -4773,7 +4775,7 @@ pub mod tests {
47734775

47744776
ctx.bill_store
47754777
.expect_save_bill_to_cache()
4776-
.returning(|_, _| Ok(()));
4778+
.returning(|_, _, _| Ok(()));
47774779
ctx.bill_blockchain_store
47784780
.expect_get_chain()
47794781
.returning(move |_| {
@@ -4833,7 +4835,7 @@ pub mod tests {
48334835

48344836
ctx.bill_store
48354837
.expect_save_bill_to_cache()
4836-
.returning(|_, _| Ok(()));
4838+
.returning(|_, _, _| Ok(()));
48374839
ctx.bill_blockchain_store
48384840
.expect_get_chain()
48394841
.returning(move |_| {
@@ -4892,7 +4894,7 @@ pub mod tests {
48924894

48934895
ctx.bill_store
48944896
.expect_save_bill_to_cache()
4895-
.returning(|_, _| Ok(()));
4897+
.returning(|_, _, _| Ok(()));
48964898
ctx.bill_blockchain_store
48974899
.expect_get_chain()
48984900
.returning(move |_| {
@@ -4957,7 +4959,7 @@ pub mod tests {
49574959

49584960
ctx.bill_store
49594961
.expect_save_bill_to_cache()
4960-
.returning(|_, _| Ok(()));
4962+
.returning(|_, _, _| Ok(()));
49614963
ctx.bill_blockchain_store
49624964
.expect_get_chain()
49634965
.returning(move |_| {
@@ -5022,7 +5024,7 @@ pub mod tests {
50225024

50235025
ctx.bill_store
50245026
.expect_save_bill_to_cache()
5025-
.returning(|_, _| Ok(()));
5027+
.returning(|_, _, _| Ok(()));
50265028
ctx.bill_store
50275029
.expect_get_bill_ids_waiting_for_recourse_payment()
50285030
.returning(|| Ok(vec![TEST_BILL_ID.to_string()]));
@@ -5080,7 +5082,7 @@ pub mod tests {
50805082

50815083
ctx.bill_store
50825084
.expect_save_bill_to_cache()
5083-
.returning(|_, _| Ok(()));
5085+
.returning(|_, _, _| Ok(()));
50845086
ctx.bill_store
50855087
.expect_get_bill_ids_waiting_for_recourse_payment()
50865088
.returning(|| Ok(vec![TEST_BILL_ID.to_string()]));
@@ -5148,7 +5150,7 @@ pub mod tests {
51485150

51495151
ctx.bill_store
51505152
.expect_save_bill_to_cache()
5151-
.returning(|_, _| Ok(()));
5153+
.returning(|_, _, _| Ok(()));
51525154
ctx.bill_blockchain_store
51535155
.expect_get_chain()
51545156
.returning(move |_| {
@@ -5239,7 +5241,7 @@ pub mod tests {
52395241

52405242
ctx.bill_store
52415243
.expect_save_bill_to_cache()
5242-
.returning(|_, _| Ok(()));
5244+
.returning(|_, _, _| Ok(()));
52435245
ctx.bill_store.expect_is_paid().returning(|_| Ok(false));
52445246
ctx.bill_blockchain_store
52455247
.expect_get_chain()
@@ -5335,7 +5337,7 @@ pub mod tests {
53355337

53365338
ctx.bill_store
53375339
.expect_save_bill_to_cache()
5338-
.returning(|_, _| Ok(()));
5340+
.returning(|_, _, _| Ok(()));
53395341
ctx.bill_store.expect_is_paid().returning(|_| Ok(false));
53405342
ctx.bill_blockchain_store
53415343
.expect_get_chain()
@@ -5432,7 +5434,7 @@ pub mod tests {
54325434

54335435
ctx.bill_store
54345436
.expect_save_bill_to_cache()
5435-
.returning(|_, _| Ok(()));
5437+
.returning(|_, _, _| Ok(()));
54365438
ctx.bill_store.expect_is_paid().returning(|_| Ok(false));
54375439
ctx.bill_blockchain_store
54385440
.expect_get_chain()
@@ -5504,7 +5506,7 @@ pub mod tests {
55045506

55055507
ctx.bill_store
55065508
.expect_save_bill_to_cache()
5507-
.returning(|_, _| Ok(()));
5509+
.returning(|_, _, _| Ok(()));
55085510
ctx.bill_store.expect_is_paid().returning(|_| Ok(false));
55095511
ctx.bill_blockchain_store
55105512
.expect_get_chain()
@@ -5796,7 +5798,7 @@ pub mod tests {
57965798
));
57975799
ctx.bill_store
57985800
.expect_save_bill_to_cache()
5799-
.returning(|_, _| Ok(()));
5801+
.returning(|_, _, _| Ok(()));
58005802
ctx.bill_blockchain_store
58015803
.expect_get_chain()
58025804
.returning(move |_| {
@@ -5928,7 +5930,7 @@ pub mod tests {
59285930
));
59295931
ctx.bill_store
59305932
.expect_save_bill_to_cache()
5931-
.returning(|_, _| Ok(()));
5933+
.returning(|_, _, _| Ok(()));
59325934
ctx.bill_blockchain_store
59335935
.expect_get_chain()
59345936
.returning(move |_| {

0 commit comments

Comments
 (0)