diff options
Diffstat (limited to 'src/models/user.rs')
-rw-r--r-- | src/models/user.rs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/models/user.rs b/src/models/user.rs index 08c54d7..991cb66 100644 --- a/src/models/user.rs +++ b/src/models/user.rs @@ -13,9 +13,9 @@ pub struct User { } impl User { - pub fn all(conn: DbConn) -> QueryResult<Vec<User>> { + pub fn all(conn: &DbConn) -> QueryResult<Vec<User>> { use schema::users::dsl::*; - users.load::<User>(&*conn) + users.load::<User>(&**conn) } pub fn by_id(user_id: i32, conn: &DbConn) -> QueryResult<User> { @@ -26,28 +26,27 @@ impl User { .map(|ref v| v[0].clone()) } - pub fn by_email(user_email: &str, conn: DbConn) -> QueryResult<User> { + pub fn by_email(user_email: &str, conn: &DbConn) -> QueryResult<User> { use schema::users::dsl::*; users .filter(email.eq(user_email)) - .get_result::<User>(&*conn) + .get_result::<User>(&**conn) } - pub fn create(new_user: &NewUser, conn: DbConn) -> QueryResult<User> { + pub fn create(new_user: &NewUser, conn: &DbConn) -> QueryResult<User> { use schema::users::dsl::*; diesel::insert_into(users) .values(new_user) - .get_result(&*conn) + .get_result(&**conn) } pub fn update(user: &User, conn: &DbConn) -> QueryResult<User> { - use schema::users::dsl::*; user.save_changes(&*conn) } - pub fn delete(user_id: i32, conn: DbConn) -> QueryResult<User> { + pub fn delete(user_id: i32, conn: &DbConn) -> QueryResult<User> { use schema::users::dsl::*; - diesel::delete(users.filter(id.eq(user_id))).get_result::<User>(&*conn) + diesel::delete(users.filter(id.eq(user_id))).get_result::<User>(&**conn) } pub fn realname(&self) -> String { |