1
1
use mithril_common:: StdError ;
2
2
3
- use mithril_common:: entities:: { PartyId , ProtocolMessage , SingleSignatures } ;
3
+ use mithril_common:: entities:: { ProtocolMessage , SingleSignatures } ;
4
4
use mithril_common:: {
5
5
entities:: { Epoch , SignedEntityType } ,
6
6
sqlite:: { HydrationError , Projection , SqLiteEntity , WhereCondition } ,
@@ -25,7 +25,7 @@ type StdResult<T> = Result<T, StdError>;
25
25
/// generated if possible.
26
26
#[ allow( dead_code) ]
27
27
#[ derive( Debug , Clone , PartialEq , Eq ) ]
28
- pub struct OpenMessage {
28
+ pub struct OpenMessageRecord {
29
29
/// OpenMessage unique identifier
30
30
pub open_message_id : Uuid ,
31
31
@@ -45,7 +45,7 @@ pub struct OpenMessage {
45
45
pub created_at : NaiveDateTime ,
46
46
}
47
47
48
- impl OpenMessage {
48
+ impl OpenMessageRecord {
49
49
#[ cfg( test) ]
50
50
/// Create a dumb OpenMessage instance mainly for test purposes
51
51
pub fn dummy ( ) -> Self {
@@ -64,8 +64,8 @@ impl OpenMessage {
64
64
}
65
65
}
66
66
67
- impl From < OpenMessageWithSingleSignatures > for OpenMessage {
68
- fn from ( value : OpenMessageWithSingleSignatures ) -> Self {
67
+ impl From < OpenMessageWithSingleSignaturesRecord > for OpenMessageRecord {
68
+ fn from ( value : OpenMessageWithSingleSignaturesRecord ) -> Self {
69
69
Self {
70
70
open_message_id : value. open_message_id ,
71
71
epoch : value. epoch ,
@@ -77,7 +77,7 @@ impl From<OpenMessageWithSingleSignatures> for OpenMessage {
77
77
}
78
78
}
79
79
80
- impl SqLiteEntity for OpenMessage {
80
+ impl SqLiteEntity for OpenMessageRecord {
81
81
fn hydrate ( row : Row ) -> Result < Self , HydrationError >
82
82
where
83
83
Self : Sized ,
@@ -199,7 +199,7 @@ impl<'client> OpenMessageProvider<'client> {
199
199
}
200
200
201
201
impl < ' client > Provider < ' client > for OpenMessageProvider < ' client > {
202
- type Entity = OpenMessage ;
202
+ type Entity = OpenMessageRecord ;
203
203
204
204
fn get_definition ( & self , condition : & str ) -> String {
205
205
let aliases = SourceAlias :: new ( & [
@@ -245,7 +245,7 @@ impl<'client> InsertOpenMessageProvider<'client> {
245
245
}
246
246
247
247
impl < ' client > Provider < ' client > for InsertOpenMessageProvider < ' client > {
248
- type Entity = OpenMessage ;
248
+ type Entity = OpenMessageRecord ;
249
249
250
250
fn get_connection ( & ' client self ) -> & ' client Connection {
251
251
self . connection
@@ -267,7 +267,7 @@ impl<'client> UpdateOpenMessageProvider<'client> {
267
267
Self { connection }
268
268
}
269
269
270
- fn get_update_condition ( & self , open_message : & OpenMessage ) -> StdResult < WhereCondition > {
270
+ fn get_update_condition ( & self , open_message : & OpenMessageRecord ) -> StdResult < WhereCondition > {
271
271
let expression = "(open_message_id, epoch_setting_id, beacon, signed_entity_type_id, protocol_message, is_certified) values (?*, ?*, ?*, ?*, ?*, ?*)" ;
272
272
let beacon_str = open_message. signed_entity_type . get_json_beacon ( ) ?;
273
273
let parameters = vec ! [
@@ -284,7 +284,7 @@ impl<'client> UpdateOpenMessageProvider<'client> {
284
284
}
285
285
286
286
impl < ' client > Provider < ' client > for UpdateOpenMessageProvider < ' client > {
287
- type Entity = OpenMessage ;
287
+ type Entity = OpenMessageRecord ;
288
288
289
289
fn get_connection ( & ' client self ) -> & ' client Connection {
290
290
self . connection
@@ -316,7 +316,7 @@ impl<'client> DeleteOpenMessageProvider<'client> {
316
316
}
317
317
318
318
impl < ' client > Provider < ' client > for DeleteOpenMessageProvider < ' client > {
319
- type Entity = OpenMessage ;
319
+ type Entity = OpenMessageRecord ;
320
320
321
321
fn get_connection ( & ' client self ) -> & ' client Connection {
322
322
self . connection
@@ -332,7 +332,7 @@ impl<'client> Provider<'client> for DeleteOpenMessageProvider<'client> {
332
332
333
333
/// Open Message with associated single signatures if any.
334
334
#[ derive( Debug , Clone ) ]
335
- pub struct OpenMessageWithSingleSignatures {
335
+ pub struct OpenMessageWithSingleSignaturesRecord {
336
336
/// OpenMessage unique identifier
337
337
pub open_message_id : Uuid ,
338
338
@@ -355,17 +355,7 @@ pub struct OpenMessageWithSingleSignatures {
355
355
pub created_at : NaiveDateTime ,
356
356
}
357
357
358
- impl OpenMessageWithSingleSignatures {
359
- /// Gather all signers party_id for this open message
360
- pub fn get_signers_id ( & self ) -> Vec < PartyId > {
361
- self . single_signatures
362
- . iter ( )
363
- . map ( |sig| sig. party_id . to_owned ( ) )
364
- . collect ( )
365
- }
366
- }
367
-
368
- impl SqLiteEntity for OpenMessageWithSingleSignatures {
358
+ impl SqLiteEntity for OpenMessageWithSingleSignaturesRecord {
369
359
fn hydrate ( row : Row ) -> Result < Self , HydrationError >
370
360
where
371
361
Self : Sized ,
@@ -378,7 +368,7 @@ impl SqLiteEntity for OpenMessageWithSingleSignatures {
378
368
) )
379
369
} ) ?;
380
370
381
- let open_message = OpenMessage :: hydrate ( row) ?;
371
+ let open_message = OpenMessageRecord :: hydrate ( row) ?;
382
372
383
373
let open_message = Self {
384
374
open_message_id : open_message. open_message_id ,
@@ -440,7 +430,7 @@ impl<'client> OpenMessageWithSingleSignaturesProvider<'client> {
440
430
}
441
431
442
432
impl < ' client > Provider < ' client > for OpenMessageWithSingleSignaturesProvider < ' client > {
443
- type Entity = OpenMessageWithSingleSignatures ;
433
+ type Entity = OpenMessageWithSingleSignaturesRecord ;
444
434
445
435
fn get_definition ( & self , condition : & str ) -> String {
446
436
let aliases = SourceAlias :: new ( & [
@@ -485,7 +475,7 @@ impl OpenMessageRepository {
485
475
pub async fn get_open_message (
486
476
& self ,
487
477
signed_entity_type : & SignedEntityType ,
488
- ) -> StdResult < Option < OpenMessage > > {
478
+ ) -> StdResult < Option < OpenMessageRecord > > {
489
479
let lock = self . connection . lock ( ) . await ;
490
480
let provider = OpenMessageProvider :: new ( & lock) ;
491
481
let filters = provider
@@ -502,7 +492,7 @@ impl OpenMessageRepository {
502
492
epoch : Epoch ,
503
493
signed_entity_type : & SignedEntityType ,
504
494
protocol_message : & ProtocolMessage ,
505
- ) -> StdResult < OpenMessage > {
495
+ ) -> StdResult < OpenMessageRecord > {
506
496
let lock = self . connection . lock ( ) . await ;
507
497
let provider = InsertOpenMessageProvider :: new ( & lock) ;
508
498
let filters = provider. get_insert_condition ( epoch, signed_entity_type, protocol_message) ?;
@@ -514,7 +504,10 @@ impl OpenMessageRepository {
514
504
}
515
505
516
506
/// Updates an [OpenMessage] in the database.
517
- pub async fn update_open_message ( & self , open_message : & OpenMessage ) -> StdResult < OpenMessage > {
507
+ pub async fn update_open_message (
508
+ & self ,
509
+ open_message : & OpenMessageRecord ,
510
+ ) -> StdResult < OpenMessageRecord > {
518
511
let lock = self . connection . lock ( ) . await ;
519
512
let provider = UpdateOpenMessageProvider :: new ( & lock) ;
520
513
let filters = provider. get_update_condition ( open_message) ?;
@@ -540,7 +533,7 @@ impl OpenMessageRepository {
540
533
pub async fn get_open_message_with_single_signatures (
541
534
& self ,
542
535
signed_entity_type : & SignedEntityType ,
543
- ) -> StdResult < Option < OpenMessageWithSingleSignatures > > {
536
+ ) -> StdResult < Option < OpenMessageWithSingleSignaturesRecord > > {
544
537
let lock = self . connection . lock ( ) . await ;
545
538
let provider = OpenMessageWithSingleSignaturesProvider :: new ( & lock) ;
546
539
let filters = provider. get_signed_entity_type_condition ( signed_entity_type) ;
@@ -564,7 +557,7 @@ mod tests {
564
557
565
558
#[ test]
566
559
fn open_message_with_single_signature_projection ( ) {
567
- let projection = OpenMessageWithSingleSignatures :: get_projection ( ) ;
560
+ let projection = OpenMessageWithSingleSignaturesRecord :: get_projection ( ) ;
568
561
let aliases = SourceAlias :: new ( & [
569
562
( "{:open_message:}" , "open_message" ) ,
570
563
( "{:single_signature:}" , "single_signature" ) ,
@@ -578,7 +571,7 @@ mod tests {
578
571
579
572
#[ test]
580
573
fn open_message_projection ( ) {
581
- let projection = OpenMessage :: get_projection ( ) ;
574
+ let projection = OpenMessageRecord :: get_projection ( ) ;
582
575
let aliases = SourceAlias :: new ( & [ ( "{:open_message:}" , "open_message" ) ] ) ;
583
576
584
577
assert_eq ! (
@@ -659,7 +652,7 @@ mod tests {
659
652
fn update_provider_condition ( ) {
660
653
let connection = Connection :: open ( ":memory:" ) . unwrap ( ) ;
661
654
let provider = UpdateOpenMessageProvider :: new ( & connection) ;
662
- let open_message = OpenMessage {
655
+ let open_message = OpenMessageRecord {
663
656
open_message_id : Uuid :: new_v4 ( ) ,
664
657
epoch : Epoch ( 12 ) ,
665
658
signed_entity_type : SignedEntityType :: dummy ( ) ,
@@ -836,7 +829,7 @@ mod tests {
836
829
setup_single_signature_db ( & connection, single_signature_records. clone ( ) ) . unwrap ( ) ;
837
830
let repository = OpenMessageRepository :: new ( Arc :: new ( Mutex :: new ( connection) ) ) ;
838
831
839
- let mut open_message = OpenMessage :: dummy ( ) ;
832
+ let mut open_message = OpenMessageRecord :: dummy ( ) ;
840
833
open_message. open_message_id = single_signature_records[ 0 ] . open_message_id ;
841
834
repository. update_open_message ( & open_message) . await . unwrap ( ) ;
842
835
@@ -857,7 +850,7 @@ mod tests {
857
850
setup_single_signature_db ( & connection, Vec :: new ( ) ) . unwrap ( ) ;
858
851
let repository = OpenMessageRepository :: new ( Arc :: new ( Mutex :: new ( connection) ) ) ;
859
852
860
- let open_message = OpenMessage :: dummy ( ) ;
853
+ let open_message = OpenMessageRecord :: dummy ( ) ;
861
854
repository
862
855
. create_open_message (
863
856
open_message. epoch ,
0 commit comments