users: Add routes and methods to activate user

Signed-off-by: ATechnoHazard <amolele@gmail.com>
This commit is contained in:
sphericalkat committed 2020-07-01 23:53:15 +05:30
1 parent 328b14f986
commit d1625ce721
8 files changed
+106 -47

No files matched your search

+7
View File
@@ -17,3 +17,10 @@ pub fn find_user(id: String, conn: &PgConnection) -> Result<User> {
let user = users::table.find(id).get_result::<User>(conn)?;
Ok(user)
}
pub fn update_user(user: &User, conn: &PgConnection) -> Result<User> {
let user = diesel::update(users::table.find(user.id.clone()))
.set(user)
.get_result::<User>(conn)?;
Ok(user)
}
+8
View File
@@ -32,3 +32,11 @@ pub fn create_or_fetch_user(id: String, conn: &PgConnection) -> Result<User> {
};
Ok(user)
}
pub fn activate_user(user: &mut User, conn: &PgConnection) -> Result<User> {
let hashed_pass = hash(user.password.as_ref().unwrap().as_bytes(), DEFAULT_COST)?;
user.password = Some(hashed_pass);
let mut activated_user = postgres::update_user(user, conn)?;
activated_user.password = None;
Ok(activated_user)
}