Extract models into separate files
This commit is contained in:
parent
439b788641
commit
6d490b9883
|
@ -1,54 +1,3 @@
|
|||
use crate::database::DbConn;
|
||||
mod user;
|
||||
|
||||
use crate::schema::users;
|
||||
|
||||
use diesel::prelude::*;
|
||||
use diesel::query_builder::AsQuery;
|
||||
|
||||
#[derive(Debug, Serialize, Queryable)]
|
||||
pub struct User {
|
||||
pub id: i32,
|
||||
pub username: String,
|
||||
pub encrypted_password: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Insertable)]
|
||||
#[table_name="users"]
|
||||
pub struct NewUser<'a> {
|
||||
pub username: &'a str,
|
||||
pub encrypted_password: &'a str,
|
||||
}
|
||||
|
||||
impl User {
|
||||
pub fn all(db_conn: DbConn) -> Result<Vec<User>, ()> {
|
||||
let query = users::table.as_query();
|
||||
|
||||
let debug = diesel::debug_query::<diesel::pg::Pg, _>(&query);
|
||||
|
||||
println!("{}", debug);
|
||||
|
||||
let result = query.load::<User>(&*db_conn);
|
||||
|
||||
match result {
|
||||
Err(_) => Err(()),
|
||||
Ok(users) => Ok(users),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> NewUser<'a> {
|
||||
pub fn save(&self, db_conn: DbConn) -> Result<(), ()> {
|
||||
let query = diesel::insert_into(users::table).values(self);
|
||||
|
||||
let debug = diesel::debug_query::<diesel::pg::Pg, _>(&query);
|
||||
|
||||
println!("{}", debug);
|
||||
|
||||
let result = query.get_result::<User>(&*db_conn);
|
||||
|
||||
match result {
|
||||
Err(_) => Err(()),
|
||||
Ok(_) => Ok(()),
|
||||
}
|
||||
}
|
||||
}
|
||||
pub use self::user::*;
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
use crate::database::DbConn;
|
||||
|
||||
use crate::schema::users;
|
||||
|
||||
use diesel::prelude::*;
|
||||
use diesel::query_builder::AsQuery;
|
||||
|
||||
#[derive(Debug, Serialize, Queryable)]
|
||||
pub struct User {
|
||||
pub id: i32,
|
||||
pub username: String,
|
||||
pub encrypted_password: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Insertable)]
|
||||
#[table_name="users"]
|
||||
pub struct NewUser<'a> {
|
||||
pub username: &'a str,
|
||||
pub encrypted_password: &'a str,
|
||||
}
|
||||
|
||||
impl User {
|
||||
pub fn all(db_conn: DbConn) -> Result<Vec<User>, ()> {
|
||||
let query = users::table.as_query();
|
||||
|
||||
let debug = diesel::debug_query::<diesel::pg::Pg, _>(&query);
|
||||
|
||||
println!("{}", debug);
|
||||
|
||||
let result = query.load::<User>(&*db_conn);
|
||||
|
||||
match result {
|
||||
Err(_) => Err(()),
|
||||
Ok(users) => Ok(users),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> NewUser<'a> {
|
||||
pub fn save(&self, db_conn: DbConn) -> Result<(), ()> {
|
||||
let query = diesel::insert_into(users::table).values(self);
|
||||
|
||||
let debug = diesel::debug_query::<diesel::pg::Pg, _>(&query);
|
||||
|
||||
println!("{}", debug);
|
||||
|
||||
let result = query.get_result::<User>(&*db_conn);
|
||||
|
||||
match result {
|
||||
Err(_) => Err(()),
|
||||
Ok(_) => Ok(()),
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue