feat(db/models): Add handling of CreatePost message

This commit is contained in:
Vincent Ambo 2018-04-08 20:19:46 +02:00
parent 55b28f8136
commit 148dfc39c8
2 changed files with 30 additions and 2 deletions

View file

@ -75,7 +75,28 @@ impl Handler<CreateThread> for DbExecutor {
let conn = self.0.get()?;
Ok(diesel::insert_into(threads::table)
.values(&msg.0)
.get_result(&conn)?)
.values(&msg.0)
.get_result(&conn)?)
}
}
/// Message used to create a new reply
pub struct CreatePost(pub NewPost);
impl Message for CreatePost {
type Result = Result<Post>;
}
impl Handler<CreatePost> for DbExecutor {
type Result = <CreatePost as Message>::Result;
fn handle(&mut self, msg: CreatePost, _: &mut Self::Context) -> Self::Result {
use schema::posts;
let conn = self.0.get()?;
Ok(diesel::insert_into(posts::table)
.values(&msg.0)
.get_result(&conn)?)
}
}

View file

@ -24,3 +24,10 @@ pub struct NewThread {
pub title: String,
pub body: String,
}
#[derive(Deserialize, Insertable)]
#[table_name="posts"]
pub struct NewPost {
pub thread_id: i32,
pub body: String,
}