clean code with clippy
This commit is contained in:
@ -1,17 +1,8 @@
|
||||
use std::ops::Deref;
|
||||
|
||||
use argon2::{
|
||||
password_hash::{rand_core::OsRng, SaltString},
|
||||
Argon2, PasswordHash, PasswordHasher, PasswordVerifier,
|
||||
};
|
||||
use base64::{engine, prelude::BASE64_STANDARD_NO_PAD, Engine};
|
||||
use rocket::{
|
||||
request::{self, FromRequest},
|
||||
Request,
|
||||
};
|
||||
use argon2::{password_hash::SaltString, Argon2, PasswordHasher};
|
||||
use serde::Serialize;
|
||||
use sqlx::{FromRow, SqlitePool};
|
||||
|
||||
#[derive(FromRow, Debug)]
|
||||
#[derive(FromRow, Debug, Serialize)]
|
||||
pub struct User {
|
||||
id: i64,
|
||||
name: String,
|
||||
|
@ -1,14 +1,17 @@
|
||||
use rocket::{
|
||||
form::Form,
|
||||
get, post,
|
||||
get,
|
||||
http::{Cookie, CookieJar},
|
||||
post,
|
||||
request::FlashMessage,
|
||||
response::{status, Flash, Redirect},
|
||||
routes, FromForm, Responder, Route, State,
|
||||
response::{Flash, Redirect},
|
||||
routes, FromForm, Route, State,
|
||||
};
|
||||
use rocket_dyn_templates::{context, tera, Template};
|
||||
use rocket_dyn_templates::{tera, Template};
|
||||
use serde_json::json;
|
||||
use sqlx::SqlitePool;
|
||||
|
||||
use crate::model::user::{self, User};
|
||||
use crate::model::user::User;
|
||||
|
||||
#[get("/")]
|
||||
async fn index(flash: Option<FlashMessage<'_>>) -> Template {
|
||||
@ -28,7 +31,11 @@ struct LoginForm {
|
||||
}
|
||||
|
||||
#[post("/", data = "<login>")]
|
||||
async fn login(login: Form<LoginForm>, db: &State<SqlitePool>) -> Flash<Redirect> {
|
||||
async fn login(
|
||||
login: Form<LoginForm>,
|
||||
db: &State<SqlitePool>,
|
||||
cookies: &CookieJar<'_>,
|
||||
) -> Flash<Redirect> {
|
||||
let user = User::login(db, login.name.clone(), login.password.clone()).await;
|
||||
|
||||
//TODO: be able to use for find_by_name. This would get rid of the following match clause.
|
||||
@ -39,6 +46,9 @@ async fn login(login: Form<LoginForm>, db: &State<SqlitePool>) -> Flash<Redirect
|
||||
}
|
||||
};
|
||||
|
||||
let user_json: String = format!("{}", json!(user));
|
||||
cookies.add_private(Cookie::new("user", user_json));
|
||||
|
||||
Flash::success(Redirect::to("/"), "Login erfolgreich")
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user