diff options
Diffstat (limited to 'src/models')
-rw-r--r-- | src/models/user.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/models/user.rs b/src/models/user.rs index 9587fd3..82a359b 100644 --- a/src/models/user.rs +++ b/src/models/user.rs @@ -18,10 +18,10 @@ impl User { users.load::<User>(&*conn) } - pub fn by_id(user_id: i32, conn: utils::DbConn) -> QueryResult<User> { + pub fn by_id(user_id: i32, conn: &utils::DbConn) -> QueryResult<User> { use schema::users::dsl::*; users.filter(id.eq(user_id)) - .load::<User>(&*conn) + .load::<User>(&**conn) .map(|ref v| v[0].clone()) } @@ -38,6 +38,11 @@ impl User { .get_result(&*conn) } + pub fn update(user: &User, conn: &utils::DbConn) -> QueryResult<User> { + use ::schema::users::dsl::*; + user.save_changes(&*conn) + } + pub fn delete(user_id: i32, conn: utils::DbConn) -> QueryResult<User> { use ::schema::users::dsl::*; diesel::delete(users.filter(id.eq(user_id))).get_result::<User>(&*conn) |