users: Add routes and methods to activate user
Signed-off-by: ATechnoHazard <amolele@gmail.com>
This commit is contained in:
8 files changed
+106
-47
No files matched your search
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
Reference in new issue
Block a user