diff --git a/crates/back/src/cli.rs b/crates/back/src/cli.rs index a32b80437f09a133dbf6c0efca70ee8562ca300e..8c86371cddc578fed93fb9306c28d49a461e6b84 100644 --- a/crates/back/src/cli.rs +++ b/crates/back/src/cli.rs @@ -59,7 +59,7 @@ impl FromStr for DatabaseConfig { return Ok(Self::None); } - let (left, right) = s.split_once("=").ok_or_else(|| "missing '='".to_owned())?; + let (left, right) = s.split_once('=').ok_or_else(|| "missing '='".to_owned())?; match left { #[cfg(feature = "postgres_db")] diff --git a/crates/back/src/db/any.rs b/crates/back/src/db/any.rs index 3012bd13c345547c7ce81aa13ad42750237e0782..e328b01c8176baa9505603012a16364d0c07b492 100644 --- a/crates/back/src/db/any.rs +++ b/crates/back/src/db/any.rs @@ -4,7 +4,7 @@ use argon2::{ password_hash::{rand_core::OsRng, SaltString}, Argon2, PasswordHash, PasswordHasher, }; -use std::{future::Future, ops::Deref, pin::Pin}; +use std::{future::Future, pin::Pin}; use uuid::Uuid; // @@ -37,7 +37,7 @@ pub(super) type GetUserFut<'a> = DbFut<'a, Result<Option<DbUser>, DbError>>; pub(super) trait DatabaseImpl { // TODO: https://github.com/rust-lang/rust/issues/91611 - fn get_courses<'a>(&'a self) -> GetCoursesFut<'a>; + fn get_courses(&self) -> GetCoursesFut; fn create_user<'a>( &'a self, @@ -121,7 +121,7 @@ impl AnyDatabase { } */ impl DatabaseImpl for AnyDatabase { - fn get_courses<'a>(&'a self) -> GetCoursesFut<'a> { + fn get_courses(&self) -> GetCoursesFut { match self { #[cfg(feature = "postgres_db")] AnyDatabase::Postgres(v) => v.get_courses(), @@ -158,7 +158,7 @@ impl DatabaseImpl for AnyDatabase { } impl DatabaseImpl for () { - fn get_courses<'a>(&'a self) -> GetCoursesFut<'a> { + fn get_courses(&self) -> GetCoursesFut { Box::pin(async { Err(DbError::DatabaseNotConnected) }) } diff --git a/crates/back/src/db/postgres.rs b/crates/back/src/db/postgres.rs index 105f0c711b4dec156f70fd03e89065c4467fe74c..393c1bcf6bca451d819f6ca6abac62bc14d88721 100644 --- a/crates/back/src/db/postgres.rs +++ b/crates/back/src/db/postgres.rs @@ -1,6 +1,6 @@ use super::{ any::{CreateUserFut, DatabaseImpl, GetCoursesFut, GetUserFut}, - DbCourse, DbCreateUser, DbError, DbUser, + DbCreateUser, DbError, }; use argon2::PasswordHash; use sqlx::{postgres::PgPoolOptions, PgPool}; @@ -20,7 +20,7 @@ impl Database { tracing::debug!("Connecting to pg database"); let pool = PgPoolOptions::new() .max_connections(5) - .connect(&db_addr) + .connect(db_addr) .await?; // TODO: init db @@ -30,7 +30,7 @@ impl Database { } impl DatabaseImpl for Database { - fn get_courses<'a>(&'a self) -> GetCoursesFut<'a> { + fn get_courses(&self) -> GetCoursesFut { Box::pin(async move { Ok(sqlx::query_as( r#"SELECT id, name, description, points_max diff --git a/crates/back/src/db/sled.rs b/crates/back/src/db/sled.rs index 331412547278fc75a15cda76af717b3950ce0650..3d8c208a5e78c5ef3b9edbd22df4658da315dbec 100644 --- a/crates/back/src/db/sled.rs +++ b/crates/back/src/db/sled.rs @@ -1,30 +1,25 @@ use super::{ any::{CreateUserFut, DatabaseImpl, GetCoursesFut, GetUserFut}, - DbCourse, DbCreateUser, DbError, DbUser, + DbCreateUser, DbError, DbUser, }; use argon2::PasswordHash; -use sled::{Db, IVec, Tree}; -use std::{ - future::Future, - path::{Path, PathBuf}, - pin::Pin, -}; +use sled::{IVec, Tree}; +use std::path::Path; use uuid::Uuid; // pub struct Database { - db: Db, - + /* db: Db, */ users: Tree, courses: Tree, - course_admins: Tree, + /* course_admins: Tree, lessons: Tree, exercises: Tree, course_progress: Tree, lesson_progress: Tree, - exercise_progress: Tree, + exercise_progress: Tree, */ } // @@ -35,31 +30,30 @@ impl Database { let users = db.open_tree("users")?; let courses = db.open_tree("courses")?; - let course_admins = db.open_tree("course_admins")?; + /* let course_admins = db.open_tree("course_admins")?; let lessons = db.open_tree("lessons")?; let exercises = db.open_tree("exercises")?; let course_progress = db.open_tree("course_progress")?; let lesson_progress = db.open_tree("lesson_progress")?; - let exercise_progress = db.open_tree("exercise_progress")?; + let exercise_progress = db.open_tree("exercise_progress")?; */ Ok(Self { - db, - + /* db, */ users, courses, - course_admins, + /* course_admins, lessons, exercises, course_progress, lesson_progress, - exercise_progress, + exercise_progress, */ }) } } impl DatabaseImpl for Database { - fn get_courses<'a>(&'a self) -> GetCoursesFut<'a> { + fn get_courses(&self) -> GetCoursesFut { Box::pin(async move { self.courses .iter()