feat: added logout POST route
This commit is contained in:
parent
2f8181491a
commit
166ae172d0
2 changed files with 66 additions and 3 deletions
|
|
@ -23,12 +23,34 @@ impl Session {
|
|||
.get_result(&mut pool.get()?)?)
|
||||
}
|
||||
|
||||
pub fn user_from_id(pool: &DbPool, id: i64) -> DbResult<Option<super::user::User>> {
|
||||
pub fn user_from_id(pool: &DbPool, id: i64) -> DbResult<super::user::User> {
|
||||
Ok(sessions::dsl::sessions
|
||||
.inner_join(users::table)
|
||||
.filter(sessions::id.eq(id))
|
||||
.select(User::as_select())
|
||||
.get_result(&mut pool.get()?)?)
|
||||
}
|
||||
|
||||
pub fn user(&self, pool: &DbPool) -> DbResult<super::user::User> {
|
||||
Self::user_from_id(pool, self.id)
|
||||
}
|
||||
|
||||
pub fn by_id(pool: &DbPool, id: i64) -> DbResult<Option<Self>> {
|
||||
Ok(sessions::dsl::sessions
|
||||
.find(id)
|
||||
.get_result(&mut pool.get()?)
|
||||
.optional()?)
|
||||
}
|
||||
|
||||
pub fn remove(self, pool: &DbPool) -> DbResult<bool> {
|
||||
Self::remove_by_id(pool, self.id)
|
||||
}
|
||||
|
||||
pub fn remove_by_id(pool: &DbPool, id: i64) -> DbResult<bool> {
|
||||
Ok(
|
||||
diesel::delete(sessions::dsl::sessions.filter(sessions::id.eq(id)))
|
||||
.execute(&mut pool.get()?)?
|
||||
> 0,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue