Add a model for likes

This commit is contained in:
Bat
2018-05-10 16:54:35 +01:00
parent b81b9f90ec
commit 7b5f0f1704
5 changed files with 51 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
use chrono;
use diesel::{PgConnection, QueryDsl, RunQueryDsl, ExpressionMethods};
use schema::likes;
#[derive(Queryable)]
pub struct Like {
id: i32,
user_id: i32,
post_id: i32,
creation_date: chrono::NaiveDateTime
}
#[derive(Insertable)]
#[table_name = "likes"]
pub struct NewLike {
user_id: i32,
post_id: i32
}
impl Like {
pub fn get(conn: &PgConnection, id: i32) -> Option<Like> {
likes::table.filter(likes::id.eq(id))
.limit(1)
.load::<Like>(conn)
.expect("Error loading like by ID")
.into_iter().nth(0)
}
}
+1
View File
@@ -3,6 +3,7 @@ pub mod blogs;
pub mod comments;
pub mod follows;
pub mod instance;
pub mod likes;
pub mod post_authors;
pub mod posts;
pub mod users;