25 lines
500 B
Rust
Executable File
25 lines
500 B
Rust
Executable File
extern crate bcrypt;
|
|
|
|
use bcrypt::verify;
|
|
use diesel::{Identifiable, Queryable};
|
|
|
|
use crate::schema::users;
|
|
|
|
#[derive(Queryable, Identifiable)]
|
|
#[diesel(table_name=users)]
|
|
#[derive(Clone)]
|
|
pub struct User {
|
|
pub id: i32,
|
|
pub username: String,
|
|
pub email: String,
|
|
pub password: String,
|
|
pub unique_id: String,
|
|
pub token_version: i32,
|
|
}
|
|
|
|
impl User {
|
|
pub fn verify(self, password: String) -> anyhow::Result<bool> {
|
|
Ok(verify(password.as_str(), &self.password)?)
|
|
}
|
|
}
|