diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2024-10-05 23:00:58 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2024-10-05 23:00:58 -0400 |
| commit | 05de3c7b211727039b3912311aa4bab6787a7457 (patch) | |
| tree | 08a3860b68391514390f42872ccc1cb4c6e6afd2 /src/login | |
| parent | bc514e0ea5f0a553f15ab8275961907877181520 (diff) | |
| parent | 6a10fcaf64938da52b326ea80013d9f30ed62a6c (diff) | |
Merge branch 'wip/boot'
Diffstat (limited to 'src/login')
| -rw-r--r-- | src/login/app.rs | 13 | ||||
| -rw-r--r-- | src/login/mod.rs | 1 | ||||
| -rw-r--r-- | src/login/routes.rs | 25 | ||||
| -rw-r--r-- | src/login/routes/test/boot.rs | 14 | ||||
| -rw-r--r-- | src/login/routes/test/mod.rs | 1 |
5 files changed, 3 insertions, 51 deletions
diff --git a/src/login/app.rs b/src/login/app.rs index 15adb31..4f60b89 100644 --- a/src/login/app.rs +++ b/src/login/app.rs @@ -1,8 +1,5 @@ use sqlx::sqlite::SqlitePool; -use crate::event::{repo::Provider as _, Sequence}; - -#[cfg(test)] use super::{repo::Provider as _, Login, Password}; pub struct Logins<'a> { @@ -14,15 +11,6 @@ impl<'a> Logins<'a> { Self { db } } - pub async fn boot_point(&self) -> Result<Sequence, sqlx::Error> { - let mut tx = self.db.begin().await?; - let sequence = tx.sequence().current().await?; - tx.commit().await?; - - Ok(sequence) - } - - #[cfg(test)] pub async fn create(&self, name: &str, password: &Password) -> Result<Login, CreateError> { let password_hash = password.hash()?; @@ -34,7 +22,6 @@ impl<'a> Logins<'a> { } } -#[cfg(test)] #[derive(Debug, thiserror::Error)] #[error(transparent)] pub enum CreateError { diff --git a/src/login/mod.rs b/src/login/mod.rs index 65e3ada..f272f80 100644 --- a/src/login/mod.rs +++ b/src/login/mod.rs @@ -1,3 +1,4 @@ +#[cfg(test)] pub mod app; pub mod extract; mod id; diff --git a/src/login/routes.rs b/src/login/routes.rs index 0874cc3..6579ae6 100644 --- a/src/login/routes.rs +++ b/src/login/routes.rs @@ -2,7 +2,7 @@ use axum::{ extract::{Json, State}, http::StatusCode, response::{IntoResponse, Response}, - routing::{get, post}, + routing::post, Router, }; @@ -10,7 +10,7 @@ use crate::{ app::App, clock::RequestedAt, error::{Internal, Unauthorized}, - login::{Login, Password}, + login::Password, token::{app, extract::IdentityToken}, }; @@ -19,31 +19,10 @@ mod test; pub fn router() -> Router<App> { Router::new() - .route("/api/boot", get(boot)) .route("/api/auth/login", post(on_login)) .route("/api/auth/logout", post(on_logout)) } -async fn boot(State(app): State<App>, login: Login) -> Result<Boot, Internal> { - let resume_point = app.logins().boot_point().await?; - Ok(Boot { - login, - resume_point: resume_point.to_string(), - }) -} - -#[derive(serde::Serialize)] -struct Boot { - login: Login, - resume_point: String, -} - -impl IntoResponse for Boot { - fn into_response(self) -> Response { - Json(self).into_response() - } -} - #[derive(serde::Deserialize)] struct LoginRequest { name: String, diff --git a/src/login/routes/test/boot.rs b/src/login/routes/test/boot.rs deleted file mode 100644 index 9655354..0000000 --- a/src/login/routes/test/boot.rs +++ /dev/null @@ -1,14 +0,0 @@ -use axum::extract::State; - -use crate::{login::routes, test::fixtures}; - -#[tokio::test] -async fn returns_identity() { - let app = fixtures::scratch_app().await; - let login = fixtures::login::fictitious(); - let response = routes::boot(State(app), login.clone()) - .await - .expect("boot always succeeds"); - - assert_eq!(login, response.login); -} diff --git a/src/login/routes/test/mod.rs b/src/login/routes/test/mod.rs index 7693755..90522c4 100644 --- a/src/login/routes/test/mod.rs +++ b/src/login/routes/test/mod.rs @@ -1,3 +1,2 @@ -mod boot; mod login; mod logout; |
