use std::time::SystemTime; //use diesel::sql_types::Timestamp; use diesel::{Insertable, Queryable, Identifiable, Associations}; //use bcrypt::{DEFAULT_COST, hash}; //use diesel::serialize::ToSql; use libpso:: use elseware::schema::*; #[derive(Queryable, Identifiable, Debug)] pub struct UserAccount { pub id: i32, pub username: String, pub password: String, pub guildcard: Option, pub team_id: Option, pub banned: bool, pub muted_until: SystemTime, pub created_at: SystemTime, } #[derive(Insertable)] #[table_name="user_accounts"] pub struct NewUser { username: String, password: String, } impl NewUser { pub fn new(username: String, password: String) -> NewUser { let crypt_password = bcrypt::hash(password, bcrypt::DEFAULT_COST).expect("could not hash password?"); NewUser { username: username, password: crypt_password, } } } #[derive(Queryable, Identifiable, Associations, Debug)] pub struct UserSettings { id: i32, user_id: i32, settings_blob: [u32; 0x1160], }