Skip to content

Commit e7bba1d

Browse files
committed
fix: uses correct Postgres connection URI
1 parent cb156f2 commit e7bba1d

4 files changed

Lines changed: 20 additions & 7 deletions

File tree

src/main.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,11 @@ fn main() {
7474

7575
let cli = Cli::parse();
7676

77-
let log_level = if cli.debug { "oxide=debug" } else { "info" };
77+
let log_level = if cli.debug {
78+
"oxide=debug"
79+
} else {
80+
"oxide=info"
81+
};
7882
env_logger::init_from_env(
7983
env_logger::Env::default().filter_or(env_logger::DEFAULT_FILTER_ENV, log_level),
8084
);

src/pg.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ pub struct PgDb {
3535

3636
impl PgDb {
3737
pub fn new() -> Self {
38-
PgDb::new_with_uri(env::var("DATABASE_URL").unwrap())
38+
PgDb::new_with_uri(&env::var("DATABASE_URL").unwrap())
3939
}
4040

4141
pub fn new_from_pool(pool: r2d2::Pool<PostgresConnectionManager<NoTls>>) -> Self {
4242
let client = pool.get().unwrap();
4343
PgDb { client }
4444
}
4545

46-
pub fn new_with_uri(uri: String) -> Self {
46+
pub fn new_with_uri(uri: &str) -> Self {
4747
let manager = PostgresConnectionManager::new(uri.parse().unwrap(), NoTls);
4848
let pool = r2d2::Pool::new(manager).unwrap();
4949
let client = pool.get().unwrap();

src/server.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,12 @@ impl Server {
3636
}
3737

3838
pub fn start(&self) {
39-
log::info!("Connecting to PostgreSQL database...");
39+
let uri = &self.pg_url;
40+
let sanitized_uri = format!(
41+
"postgres://*****:*****@{}",
42+
uri.split("@").collect::<Vec<_>>()[1]
43+
);
44+
log::info!("Connecting to {}...", sanitized_uri);
4045
let manager = PostgresConnectionManager::new(self.pg_url.parse().unwrap(), NoTls);
4146
if let Ok(pool) = r2d2::Pool::new(manager) {
4247
self.start_with_pool(pool);

src/ui.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ pub fn start(listen_addr: &str, port: u16, postgres_url: Option<String>) {
2626
For more information use --help.
2727
"});
2828
}
29+
let pg_url = pg_url.unwrap();
2930

3031
let index_html = Asset::get("index.html").unwrap();
3132
let index_data = std::str::from_utf8(index_html.data.as_ref());
@@ -59,13 +60,14 @@ pub fn start(listen_addr: &str, port: u16, postgres_url: Option<String>) {
5960
},
6061
);
6162

63+
let uri = pg_url.clone();
6264
server.post(
6365
"/api/run",
6466
middleware! { |req, _res|
6567
let req_json = req.json_as::<Value>().unwrap();
6668
let query = req_json["query"].as_str().unwrap();
6769
log::info!("POST /api/query\n{}", query);
68-
let mut client = PgDb::new();
70+
let mut client = PgDb::new_with_uri(&uri);
6971
let mut rows = vec![];
7072
let res = client.raw_query(query, &[]);
7173
if res.is_err() {
@@ -82,23 +84,25 @@ pub fn start(listen_addr: &str, port: u16, postgres_url: Option<String>) {
8284
},
8385
);
8486

87+
let uri = pg_url.clone();
8588
server.get(
8689
"/api/databases",
8790
middleware! { |_req, _res|
8891
log::info!("GET /api/databases");
89-
let mut client = PgDb::new();
92+
let mut client = PgDb::new_with_uri(&uri);
9093
let databases = client.get_schemas();
9194
json!({ "databases": databases })
9295

9396
},
9497
);
9598

99+
let uri = pg_url.clone();
96100
server.get(
97101
"/api/databases/:database/collections",
98102
middleware! { |req, _res|
99103
let database = req.param("database").unwrap();
100104
log::info!("GET /api/collections\ndatabase = {}", database);
101-
let mut client = PgDb::new();
105+
let mut client = PgDb::new_with_uri(&uri);
102106
let collections = client.get_tables(database);
103107
json!({ "collections": collections })
104108

0 commit comments

Comments
 (0)