aboutsummaryrefslogtreecommitdiff
path: root/api/src/db.rs
diff options
context:
space:
mode:
Diffstat (limited to 'api/src/db.rs')
-rw-r--r--api/src/db.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/api/src/db.rs b/api/src/db.rs
new file mode 100644
index 0000000..59b86c5
--- /dev/null
+++ b/api/src/db.rs
@@ -0,0 +1,22 @@
+use mongodb::{error::Error, options::ClientOptions, Client};
+use std::env;
+
+pub struct User {
+ pub name: String,
+ pub id: String,
+ pub secret: String,
+ pub pass_salt: String,
+ pub pass_hash: String,
+}
+
+pub async fn init() -> Result<Client, Error> {
+ let host = env::var("MONGO_HOST").expect("MONGO_HOST is not set");
+ let port = env::var("MONGO_PORT").expect("MONGO_PORT is not set");
+
+ let mut client_options = ClientOptions::parse(format!("mongodb://{}:{}", host, port)).await?;
+
+ client_options.app_name = Some("pressure-api".to_string());
+
+ let client = Client::with_options(client_options)?;
+ Ok(client)
+}