INNER CODE UNIT · Rust
get_target_databases
lanterndata/lantern · lantern_cli/src/daemon/mod.rs:34
async fn get_target_databases(
args: &cli::DaemonArgs,
logger: Arc<Logger>,
) -> Result<Vec<TargetDB>, anyhow::Error> {
if args.target_db.is_none() && args.master_db.is_none() {
anyhow::bail!("Please pass `--master-db` or `--target-db` to operate");
}
if let Some(target_db) = args.target_db.as_ref() {
return target_db
.iter()
.map(|db_str| -> Result<TargetDB, anyhow::Error> { Ok(TargetDB::from_uri(db_str)?) })
.collect::<Result<Vec<TargetDB>, anyhow::Error>>();
}
let db_uri = args.master_db.as_ref().unwrap();
let (client, connection) = tokio_postgres::connect(db_uri, NoTls).await?;
tokio::spawn(async move { connection.await.unwrap() });