Skip to content

Commit 6a485e5

Browse files
committed
Generalize usage of the common GetAllProvider
1 parent f2f37bf commit 6a485e5

File tree

6 files changed

+41
-51
lines changed

6 files changed

+41
-51
lines changed

mithril-aggregator/src/database/provider/certificate/get_certificate.rs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use sqlite::{ConnectionThreadSafe, Value};
44
use mithril_common::entities::Epoch;
55
use mithril_common::StdResult;
66
use mithril_persistence::sqlite::{
7-
EntityCursor, Provider, SourceAlias, SqLiteEntity, WhereCondition,
7+
EntityCursor, GetAllCondition, Provider, SourceAlias, SqLiteEntity, WhereCondition,
88
};
99

1010
use crate::database::record::CertificateRecord;
@@ -54,16 +54,10 @@ impl<'client> GetCertificateRecordProvider<'client> {
5454

5555
Ok(certificate_record)
5656
}
57-
58-
/// Get all CertificateRecords.
59-
pub fn get_all(&self) -> StdResult<EntityCursor<CertificateRecord>> {
60-
let filters = WhereCondition::default();
61-
let certificate_record = self.find(filters)?;
62-
63-
Ok(certificate_record)
64-
}
6557
}
6658

59+
impl GetAllCondition for GetCertificateRecordProvider<'_> {}
60+
6761
impl<'client> Provider<'client> for GetCertificateRecordProvider<'client> {
6862
type Entity = CertificateRecord;
6963

@@ -81,6 +75,7 @@ impl<'client> Provider<'client> for GetCertificateRecordProvider<'client> {
8175
#[cfg(test)]
8276
mod tests {
8377
use mithril_common::crypto_helper::tests_setup::setup_certificate_chain;
78+
use mithril_persistence::sqlite::GetAllProvider;
8479

8580
use crate::database::test_helper::{insert_certificate_records, main_db_connection};
8681

mithril-aggregator/src/database/provider/signed_entity/get_signed_entity.rs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -97,17 +97,11 @@ impl<'client> GetSignedEntityRecordProvider<'client> {
9797

9898
Ok(signed_entity_record)
9999
}
100-
101-
#[cfg(test)]
102-
/// Get all SignedEntityRecords.
103-
pub fn get_all(&self) -> StdResult<EntityCursor<SignedEntityRecord>> {
104-
let filters = WhereCondition::default();
105-
let signed_entity_record = self.find(filters)?;
106-
107-
Ok(signed_entity_record)
108-
}
109100
}
110101

102+
#[cfg(test)]
103+
impl mithril_persistence::sqlite::GetAllCondition for GetSignedEntityRecordProvider<'_> {}
104+
111105
impl<'client> Provider<'client> for GetSignedEntityRecordProvider<'client> {
112106
type Entity = SignedEntityRecord;
113107

@@ -127,6 +121,7 @@ impl<'client> Provider<'client> for GetSignedEntityRecordProvider<'client> {
127121
#[cfg(test)]
128122
mod tests {
129123
use mithril_common::entities::{CardanoDbBeacon, SignedEntityType};
124+
use mithril_persistence::sqlite::GetAllProvider;
130125

131126
use crate::database::test_helper::{insert_signed_entities, main_db_connection};
132127

mithril-aggregator/src/database/provider/signer/get_signer.rs

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
use mithril_common::StdResult;
21
use mithril_persistence::sqlite::{
3-
EntityCursor, Provider, SourceAlias, SqLiteEntity, SqliteConnection, WhereCondition,
2+
GetAllCondition, Provider, SourceAlias, SqLiteEntity, SqliteConnection,
43
};
54

65
use crate::database::record::SignerRecord;
@@ -15,33 +14,37 @@ impl<'client> GetSignerRecordProvider<'client> {
1514
pub fn new(client: &'client SqliteConnection) -> Self {
1615
Self { client }
1716
}
17+
}
1818

19-
#[cfg(test)]
20-
fn condition_by_signer_id(&self, signer_id: String) -> StdResult<WhereCondition> {
21-
Ok(WhereCondition::new(
22-
"signer_id = ?*",
23-
vec![sqlite::Value::String(signer_id)],
24-
))
25-
}
26-
27-
#[cfg(test)]
28-
/// Get SignerRecords for a given signer id.
29-
pub fn get_by_signer_id(&self, signer_id: String) -> StdResult<EntityCursor<SignerRecord>> {
30-
let filters = self.condition_by_signer_id(signer_id)?;
31-
let signer_record = self.find(filters)?;
19+
#[cfg(test)]
20+
mod test_extensions {
21+
use mithril_common::StdResult;
22+
use mithril_persistence::sqlite::{EntityCursor, WhereCondition};
3223

33-
Ok(signer_record)
34-
}
24+
use crate::database::record::SignerRecord;
3525

36-
/// Get all SignerRecords.
37-
pub fn get_all(&self) -> StdResult<EntityCursor<SignerRecord>> {
38-
let filters = WhereCondition::default();
39-
let signer_record = self.find(filters)?;
26+
use super::*;
4027

41-
Ok(signer_record)
28+
impl<'client> GetSignerRecordProvider<'client> {
29+
fn condition_by_signer_id(&self, signer_id: String) -> StdResult<WhereCondition> {
30+
Ok(WhereCondition::new(
31+
"signer_id = ?*",
32+
vec![sqlite::Value::String(signer_id)],
33+
))
34+
}
35+
36+
/// Get SignerRecords for a given signer id.
37+
pub fn get_by_signer_id(&self, signer_id: String) -> StdResult<EntityCursor<SignerRecord>> {
38+
let filters = self.condition_by_signer_id(signer_id)?;
39+
let signer_record = self.find(filters)?;
40+
41+
Ok(signer_record)
42+
}
4243
}
4344
}
4445

46+
impl GetAllCondition for GetSignerRecordProvider<'_> {}
47+
4548
impl<'client> Provider<'client> for GetSignerRecordProvider<'client> {
4649
type Entity = SignerRecord;
4750

@@ -58,6 +61,8 @@ impl<'client> Provider<'client> for GetSignerRecordProvider<'client> {
5861

5962
#[cfg(test)]
6063
mod tests {
64+
use mithril_persistence::sqlite::GetAllProvider;
65+
6166
use crate::database::test_helper::{insert_signers, main_db_connection};
6267

6368
use super::*;

mithril-aggregator/src/database/provider/signer_registration/get_signer_registration.rs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,11 @@ impl<'client> GetSignerRegistrationRecordProvider<'client> {
5555

5656
Ok(signer_registration_record)
5757
}
58-
59-
#[cfg(test)]
60-
/// Get all SignerRegistrationRecords.
61-
pub fn get_all(&self) -> StdResult<EntityCursor<SignerRegistrationRecord>> {
62-
let filters = WhereCondition::default();
63-
let signer_registration_record = self.find(filters)?;
64-
65-
Ok(signer_registration_record)
66-
}
6758
}
6859

60+
#[cfg(test)]
61+
impl mithril_persistence::sqlite::GetAllCondition for GetSignerRegistrationRecordProvider<'_> {}
62+
6963
impl<'client> Provider<'client> for GetSignerRegistrationRecordProvider<'client> {
7064
type Entity = SignerRegistrationRecord;
7165

@@ -86,6 +80,7 @@ mod tests {
8680

8781
use mithril_common::entities::SignerWithStake;
8882
use mithril_common::test_utils::MithrilFixtureBuilder;
83+
use mithril_persistence::sqlite::GetAllProvider;
8984

9085
use crate::database::test_helper::{insert_signer_registrations, main_db_connection};
9186

mithril-aggregator/src/database/repository/certificate_repository.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use sqlite::ConnectionThreadSafe;
77
use mithril_common::certificate_chain::{CertificateRetriever, CertificateRetrieverError};
88
use mithril_common::entities::{Certificate, Epoch};
99
use mithril_common::StdResult;
10-
use mithril_persistence::sqlite::Provider;
10+
use mithril_persistence::sqlite::{GetAllProvider, Provider};
1111

1212
use crate::database::provider::{
1313
DeleteCertificateProvider, GetCertificateRecordProvider, InsertCertificateRecordProvider,

mithril-aggregator/src/database/repository/signer_store.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use chrono::Utc;
77
use mockall::automock;
88

99
use mithril_common::StdResult;
10-
use mithril_persistence::sqlite::SqliteConnection;
10+
use mithril_persistence::sqlite::{GetAllProvider, SqliteConnection};
1111

1212
use crate::database::provider::{
1313
GetSignerRecordProvider, ImportSignerRecordProvider, RegisterSignerRecordProvider,

0 commit comments

Comments
 (0)