Skip to content

Commit

Permalink
Use database settings from BSL
Browse files Browse the repository at this point in the history
  • Loading branch information
sevenzing committed Dec 27, 2023
1 parent cb6b4ec commit bad8909
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 58 deletions.
43 changes: 40 additions & 3 deletions blockscout-ens/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions blockscout-ens/bens-server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ bens-logic = { path = "../bens-logic" }
actix-web = "4.2"
anyhow = "1.0"
blockscout-display-bytes = "1.0"
blockscout-service-launcher = { version = "0.9.0", features = [ "database-0_12" ] }
blockscout-service-launcher = { git = "https://github.com/blockscout/blockscout-rs", rev = "22ba428", features = ["database-0_12"] }
config = "0.13"
ethers = "2.0.0"
serde = "1.0"
Expand All @@ -38,6 +38,6 @@ features = [

[dev-dependencies]
bens-logic = { path = "../bens-logic", features = ["test-utils"] }
blockscout-service-launcher = { version = "0.9.0", features = [ "database-0_12", "test-server" ] }
blockscout-service-launcher = { git = "https://github.com/blockscout/blockscout-rs", rev = "22ba428", features = [ "database-0_12", "test-server" ] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
pretty_assertions = "1.4.0"
56 changes: 3 additions & 53 deletions blockscout-ens/bens-server/src/settings.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use blockscout_service_launcher::{
database::{DatabaseConnectSettings, DatabaseSettings},
launcher::{ConfigSettings, MetricsSettings, ServerSettings},
tracing::{JaegerSettings, TracingSettings},
};
Expand Down Expand Up @@ -84,59 +85,6 @@ impl From<SubgraphSettings> for bens_logic::subgraphs_reader::SubgraphSettings {
}
}

// TODO: move database settings to blockscout-service-launcher
#[derive(Debug, Clone, Deserialize, PartialEq, Eq)]
#[serde(deny_unknown_fields)]
pub struct DatabaseSettings {
pub connect: DatabaseConnectSettings,
}

#[derive(Debug, Clone, Deserialize, PartialEq, Eq)]
#[serde(deny_unknown_fields, rename_all = "lowercase")]
pub enum DatabaseConnectSettings {
Url(String),
Kv(DatabaseKvConnection),
}

impl DatabaseConnectSettings {
pub fn url(self) -> String {
match self {
DatabaseConnectSettings::Url(s) => s,
DatabaseConnectSettings::Kv(kv) => kv.url(),
}
}
}

#[derive(Debug, Clone, Deserialize, PartialEq, Eq)]
#[serde(deny_unknown_fields)]
pub struct DatabaseKvConnection {
pub host: String,
pub port: u16,
pub user: String,
pub password: String,
#[serde(default)]
pub dbname: Option<String>,
#[serde(default)]
pub options: Option<String>,
}

impl DatabaseKvConnection {
pub fn url(self) -> String {
let dbname = self
.dbname
.map(|dbname| format!("/{dbname}"))
.unwrap_or_default();
let options = self
.options
.map(|options| format!("?{options}"))
.unwrap_or_default();
format!(
"postgresql://{}:{}@{}:{}{}{}",
self.user, self.password, self.host, self.port, dbname, options
)
}
}

#[derive(Debug, Clone, Deserialize, PartialEq, Eq)]
#[serde(deny_unknown_fields, default)]
pub struct BlockscoutSettings {
Expand Down Expand Up @@ -179,6 +127,8 @@ impl Settings {
subgraphs_reader: Default::default(),
database: DatabaseSettings {
connect: DatabaseConnectSettings::Url(database_url),
create_database: Default::default(),
run_migrations: Default::default(),
},
}
}
Expand Down

0 comments on commit bad8909

Please sign in to comment.