diff --git a/Cargo.lock b/Cargo.lock index a5e620db..322181c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3017,6 +3017,7 @@ version = "0.1.0" dependencies = [ "async-std", "async-trait", + "bitfield", "impl_ops", "lazy_static", "log", @@ -3024,6 +3025,7 @@ dependencies = [ "num_enum", "ops", "optional_struct", + "rauth", "rocket", "serde", "validator 0.14.0", diff --git a/src/main.rs b/src/main.rs index 2fe529a0..948dd5e0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -29,6 +29,7 @@ use rauth::{ config::{Captcha, Config, EmailVerification, SMTPSettings, Template, Templates}, logic::Auth, }; +use revolt_quark::DatabaseInfo; use std::str::FromStr; use rocket_cors::AllowedOrigins; /*use util::variables::{ @@ -128,13 +129,20 @@ async fn launch_web() { }; }*/ - //let auth = Auth::new(database::get_db(), config); + let db = DatabaseInfo::Dummy.connect().await.unwrap(); + + let mongo_db = mongodb::Client::with_uri_str("mongodb://localhost") + .await + .expect("Failed to init db connection."); + + let auth = Auth::new(mongo_db.database("revolt"), config); let rocket = rocket::build(); routes::mount(rocket) .mount("/", rocket_cors::catch_all_options_routes()) - //.mount("/auth/account", rauth::web::account::routes()) - //.mount("/auth/session", rauth::web::session::routes()) - //.manage(auth) + .mount("/auth/account", rauth::web::account::routes()) + .mount("/auth/session", rauth::web::session::routes()) + .manage(auth) + .manage(db) .manage(cors.clone()) //.manage(RatelimitState::new()) .attach(cors) diff --git a/src/routes/users/fetch_self.rs b/src/routes/users/fetch_self.rs index 9540c580..4dfdf3db 100755 --- a/src/routes/users/fetch_self.rs +++ b/src/routes/users/fetch_self.rs @@ -1,7 +1,7 @@ use revolt_quark::Result; use revolt_quark::models::User; -use rocket::serde::json::{Json, Value}; +use rocket::serde::json::Json; #[get("/@me")] pub async fn req(user: User) -> Result> { diff --git a/src/routes/users/fetch_user.rs b/src/routes/users/fetch_user.rs index ef6c45c4..008444ea 100644 --- a/src/routes/users/fetch_user.rs +++ b/src/routes/users/fetch_user.rs @@ -1,8 +1,8 @@ -use revolt_quark::{Error, Result}; +use revolt_quark::{Ref, Result, models::User}; use rocket::serde::json::Value; #[get("/")] -pub async fn req(user: User, target: User, target: String) -> Result { +pub async fn req(user: User, target: Ref) -> Result { todo!() }