X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fdb_schema%2Fsrc%2Fimpls%2Flocal_user.rs;h=9f2c1c3c5fc221adee78246648712ab6a6e220bc;hb=235cc8b22897bfb3e71ba3dbd725d36863fea8ba;hp=31eded1a4ce659669f38e441b2759243d7cb1634;hpb=276a8c2bd3e4fd1323e66b808675cf14cf6f75c5;p=lemmy.git diff --git a/crates/db_schema/src/impls/local_user.rs b/crates/db_schema/src/impls/local_user.rs index 31eded1a..9f2c1c3c 100644 --- a/crates/db_schema/src/impls/local_user.rs +++ b/crates/db_schema/src/impls/local_user.rs @@ -3,7 +3,7 @@ use crate::{ schema::local_user::dsl::*, source::{ actor_language::{LocalUserLanguage, SiteLanguage}, - local_user::{LocalUser, LocalUserForm}, + local_user::{LocalUser, LocalUserInsertForm, LocalUserUpdateForm}, }, traits::Crud, utils::naive_now, @@ -67,17 +67,6 @@ mod safe_settings_type { } impl LocalUser { - pub fn register(conn: &mut PgConnection, form: &LocalUserForm) -> Result { - let mut edited_user = form.clone(); - let password_hash = form - .password_encrypted - .as_ref() - .map(|p| hash(p, DEFAULT_COST).expect("Couldn't hash password")); - edited_user.password_encrypted = password_hash; - - Self::create(conn, &edited_user) - } - pub fn update_password( conn: &mut PgConnection, local_user_id: LocalUserId, @@ -109,7 +98,8 @@ impl LocalUser { } impl Crud for LocalUser { - type Form = LocalUserForm; + type InsertForm = LocalUserInsertForm; + type UpdateForm = LocalUserUpdateForm; type IdType = LocalUserId; fn read(conn: &mut PgConnection, local_user_id: LocalUserId) -> Result { local_user.find(local_user_id).first::(conn) @@ -117,9 +107,14 @@ impl Crud for LocalUser { fn delete(conn: &mut PgConnection, local_user_id: LocalUserId) -> Result { diesel::delete(local_user.find(local_user_id)).execute(conn) } - fn create(conn: &mut PgConnection, form: &LocalUserForm) -> Result { + fn create(conn: &mut PgConnection, form: &Self::InsertForm) -> Result { + let mut form_with_encrypted_password = form.clone(); + let password_hash = + hash(&form.password_encrypted, DEFAULT_COST).expect("Couldn't hash password"); + form_with_encrypted_password.password_encrypted = password_hash; + let local_user_ = insert_into(local_user) - .values(form) + .values(form_with_encrypted_password) .get_result::(conn)?; let site_languages = SiteLanguage::read_local(conn); @@ -137,7 +132,7 @@ impl Crud for LocalUser { fn update( conn: &mut PgConnection, local_user_id: LocalUserId, - form: &LocalUserForm, + form: &Self::UpdateForm, ) -> Result { diesel::update(local_user.find(local_user_id)) .set(form)