@@ -31,8 +31,8 @@ pub struct SignerRecord {
31
31
/// Date and time when the signer was updated.
32
32
pub updated_at : DateTime < Utc > ,
33
33
34
- /// Date and time when the signer first registered.
35
- pub registered_at : Option < DateTime < Utc > > ,
34
+ /// Date and time when the signer registered for the last time .
35
+ pub last_registered_at : Option < DateTime < Utc > > ,
36
36
}
37
37
38
38
impl SqLiteEntity for SignerRecord {
@@ -63,7 +63,7 @@ impl SqLiteEntity for SignerRecord {
63
63
) )
64
64
} ) ?
65
65
. with_timezone ( & Utc ) ,
66
- registered_at : registered_at
66
+ last_registered_at : registered_at
67
67
. map ( |d| match DateTime :: parse_from_rfc3339 ( d) {
68
68
Ok ( date) => Ok ( date. with_timezone ( & Utc ) ) ,
69
69
Err ( e) => Err ( HydrationError :: InvalidData ( format ! (
@@ -82,7 +82,11 @@ impl SqLiteEntity for SignerRecord {
82
82
projection. add_field ( "pool_ticker" , "{:signer:}.pool_ticker" , "text" ) ;
83
83
projection. add_field ( "created_at" , "{:signer:}.created_at" , "text" ) ;
84
84
projection. add_field ( "updated_at" , "{:signer:}.updated_at" , "text" ) ;
85
- projection. add_field ( "registered_at" , "{:signer:}.registered_at" , "text" ) ;
85
+ projection. add_field (
86
+ "last_registered_at" ,
87
+ "{:signer:}.last_registered_at" ,
88
+ "text" ,
89
+ ) ;
86
90
87
91
projection
88
92
}
@@ -150,7 +154,7 @@ impl<'conn> RegisterSignerRecordProvider<'conn> {
150
154
151
155
fn get_register_condition ( & self , signer_record : SignerRecord ) -> WhereCondition {
152
156
WhereCondition :: new (
153
- "(signer_id, pool_ticker, created_at, updated_at, registered_at ) values (?*, ?*, ?*, ?*, ?*)" ,
157
+ "(signer_id, pool_ticker, created_at, updated_at, last_registered_at ) values (?*, ?*, ?*, ?*, ?*)" ,
154
158
vec ! [
155
159
Value :: String ( signer_record. signer_id) ,
156
160
signer_record
@@ -160,7 +164,7 @@ impl<'conn> RegisterSignerRecordProvider<'conn> {
160
164
Value :: String ( signer_record. created_at. to_rfc3339( ) ) ,
161
165
Value :: String ( signer_record. updated_at. to_rfc3339( ) ) ,
162
166
signer_record
163
- . registered_at
167
+ . last_registered_at
164
168
. map( |d| Value :: String ( d. to_rfc3339( ) ) )
165
169
. unwrap_or( Value :: Null ) ,
166
170
] ,
@@ -193,7 +197,7 @@ impl<'conn> Provider<'conn> for RegisterSignerRecordProvider<'conn> {
193
197
194
198
format ! (
195
199
"insert into signer {condition} on conflict (signer_id) do update set \
196
- updated_at = excluded.updated_at, registered_at = excluded.registered_at returning {projection}"
200
+ updated_at = excluded.updated_at, last_registered_at = excluded.last_registered_at returning {projection}"
197
201
)
198
202
}
199
203
}
@@ -210,7 +214,7 @@ impl<'conn> ImportSignerRecordProvider<'conn> {
210
214
}
211
215
212
216
fn get_import_condition ( & self , signer_records : Vec < SignerRecord > ) -> WhereCondition {
213
- let columns = "(signer_id, pool_ticker, created_at, updated_at, registered_at )" ;
217
+ let columns = "(signer_id, pool_ticker, created_at, updated_at, last_registered_at )" ;
214
218
let values_columns: Vec < & str > = repeat ( "(?*, ?*, ?*, ?*, ?*)" )
215
219
. take ( signer_records. len ( ) )
216
220
. collect ( ) ;
@@ -226,7 +230,7 @@ impl<'conn> ImportSignerRecordProvider<'conn> {
226
230
Value :: String ( signer_record. created_at. to_rfc3339( ) ) ,
227
231
Value :: String ( signer_record. updated_at. to_rfc3339( ) ) ,
228
232
signer_record
229
- . registered_at
233
+ . last_registered_at
230
234
. map( |d| Value :: String ( d. to_rfc3339( ) ) )
231
235
. unwrap_or( Value :: Null ) ,
232
236
]
@@ -295,7 +299,7 @@ impl SignerStore {
295
299
Self { connection }
296
300
}
297
301
298
- /// Import a signer in the database, its registered_at date will be left empty
302
+ /// Import a signer in the database, its last_registered_at date will be left empty
299
303
pub async fn import_signer (
300
304
& self ,
301
305
signer_id : String ,
@@ -310,14 +314,14 @@ impl SignerStore {
310
314
pool_ticker,
311
315
created_at,
312
316
updated_at,
313
- registered_at : None ,
317
+ last_registered_at : None ,
314
318
} ;
315
319
provider. persist ( signer_record) ?;
316
320
317
321
Ok ( ( ) )
318
322
}
319
323
320
- /// Create many signers at once in the database, their registered_at date will be left empty
324
+ /// Create many signers at once in the database, their last_registered_at date will be left empty
321
325
pub async fn import_many_signers (
322
326
& self ,
323
327
pool_ticker_by_id : HashMap < String , Option < String > > ,
@@ -334,7 +338,7 @@ impl SignerStore {
334
338
pool_ticker,
335
339
created_at,
336
340
updated_at,
337
- registered_at : None ,
341
+ last_registered_at : None ,
338
342
} )
339
343
. collect ( ) ;
340
344
@@ -357,7 +361,7 @@ impl SignerRecorder for SignerStore {
357
361
pool_ticker : None ,
358
362
created_at,
359
363
updated_at,
360
- registered_at,
364
+ last_registered_at : registered_at,
361
365
} ;
362
366
provider. persist ( signer_record) ?;
363
367
@@ -396,7 +400,7 @@ mod tests {
396
400
updated_at : DateTime :: parse_from_rfc3339 ( "2024-01-19T13:43:05.618857482Z" )
397
401
. unwrap ( )
398
402
. with_timezone ( & Utc ) ,
399
- registered_at : Some (
403
+ last_registered_at : Some (
400
404
DateTime :: parse_from_rfc3339 ( "2023-01-19T13:43:05.618857482Z" )
401
405
. unwrap ( )
402
406
. with_timezone ( & Utc ) ,
@@ -442,7 +446,7 @@ mod tests {
442
446
(
443
447
5 ,
444
448
signer_record
445
- . registered_at
449
+ . last_registered_at
446
450
. map ( |d| Value :: String ( d. to_rfc3339 ( ) ) )
447
451
. unwrap_or ( Value :: Null ) ,
448
452
) ,
@@ -461,7 +465,7 @@ mod tests {
461
465
462
466
assert_eq ! (
463
467
"s.signer_id as signer_id, s.pool_ticker as pool_ticker, s.created_at as created_at, \
464
- s.updated_at as updated_at, s.registered_at as registered_at "
468
+ s.updated_at as updated_at, s.last_registered_at as last_registered_at "
465
469
. to_string( ) ,
466
470
projection. expand( aliases)
467
471
) ;
@@ -489,7 +493,7 @@ mod tests {
489
493
let ( values, params) = condition. expand ( ) ;
490
494
491
495
assert_eq ! (
492
- "(signer_id, pool_ticker, created_at, updated_at, registered_at ) values (?1, ?2, ?3, ?4, ?5)" . to_string( ) ,
496
+ "(signer_id, pool_ticker, created_at, updated_at, last_registered_at ) values (?1, ?2, ?3, ?4, ?5)" . to_string( ) ,
493
497
values
494
498
) ;
495
499
assert_eq ! (
@@ -498,7 +502,7 @@ mod tests {
498
502
Value :: String ( signer_record. pool_ticker. unwrap( ) ) ,
499
503
Value :: String ( signer_record. created_at. to_rfc3339( ) ) ,
500
504
Value :: String ( signer_record. updated_at. to_rfc3339( ) ) ,
501
- Value :: String ( signer_record. registered_at . unwrap( ) . to_rfc3339( ) ) ,
505
+ Value :: String ( signer_record. last_registered_at . unwrap( ) . to_rfc3339( ) ) ,
502
506
] ,
503
507
params
504
508
) ;
@@ -513,7 +517,7 @@ mod tests {
513
517
let ( values, params) = condition. expand ( ) ;
514
518
515
519
assert_eq ! (
516
- "(signer_id, pool_ticker, created_at, updated_at, registered_at ) values (?1, ?2, ?3, ?4, ?5), (?6, ?7, ?8, ?9, ?10)" ,
520
+ "(signer_id, pool_ticker, created_at, updated_at, last_registered_at ) values (?1, ?2, ?3, ?4, ?5), (?6, ?7, ?8, ?9, ?10)" ,
517
521
& values
518
522
) ;
519
523
assert_eq ! (
@@ -522,12 +526,12 @@ mod tests {
522
526
Value :: String ( signer_records[ 0 ] . pool_ticker. to_owned( ) . unwrap( ) ) ,
523
527
Value :: String ( signer_records[ 0 ] . created_at. to_rfc3339( ) ) ,
524
528
Value :: String ( signer_records[ 0 ] . updated_at. to_rfc3339( ) ) ,
525
- Value :: String ( signer_records[ 0 ] . registered_at . unwrap( ) . to_rfc3339( ) ) ,
529
+ Value :: String ( signer_records[ 0 ] . last_registered_at . unwrap( ) . to_rfc3339( ) ) ,
526
530
Value :: String ( signer_records[ 1 ] . signer_id. to_owned( ) ) ,
527
531
Value :: String ( signer_records[ 1 ] . pool_ticker. to_owned( ) . unwrap( ) ) ,
528
532
Value :: String ( signer_records[ 1 ] . created_at. to_rfc3339( ) ) ,
529
533
Value :: String ( signer_records[ 1 ] . updated_at. to_rfc3339( ) ) ,
530
- Value :: String ( signer_records[ 1 ] . registered_at . unwrap( ) . to_rfc3339( ) ) ,
534
+ Value :: String ( signer_records[ 1 ] . last_registered_at . unwrap( ) . to_rfc3339( ) ) ,
531
535
] ,
532
536
params
533
537
) ;
@@ -674,7 +678,7 @@ mod tests {
674
678
assert ! (
675
679
signer_records_stored
676
680
. iter( )
677
- . all( |s| s. registered_at . is_some( ) ) ,
681
+ . all( |s| s. last_registered_at . is_some( ) ) ,
678
682
"registering a signer should set the registration date"
679
683
)
680
684
}
@@ -711,7 +715,7 @@ mod tests {
711
715
assert ! (
712
716
signer_records_stored
713
717
. iter( )
714
- . all( |s| s. registered_at . is_none( ) ) ,
718
+ . all( |s| s. last_registered_at . is_none( ) ) ,
715
719
"imported signer should not have a registration date"
716
720
)
717
721
}
@@ -743,7 +747,7 @@ mod tests {
743
747
assert ! (
744
748
signer_records_stored
745
749
. iter( )
746
- . all( |s| s. registered_at . is_none( ) ) ,
750
+ . all( |s| s. last_registered_at . is_none( ) ) ,
747
751
"imported signer should not have a registration date"
748
752
) ;
749
753
}
0 commit comments