Plume/src/models/mod.rs

26 lines
700 B
Rust
Raw Normal View History

// TODO: support multiple columns (see Like::find_by_user_on_post)
macro_rules! find_by {
($table:ident, $fn:ident, $col:ident as $type:ident) => {
/// Try to find a $table with a given $col
pub fn $fn(conn: &PgConnection, val: $type) -> Option<Self> {
$table::table.filter($table::$col.eq(val))
.limit(1)
.load::<Self>(conn)
.expect("Error loading $table by $col")
.into_iter().nth(0)
}
};
}
2018-04-23 11:27:27 +00:00
pub mod blog_authors;
2018-04-23 10:29:27 +00:00
pub mod blogs;
2018-05-09 20:35:02 +00:00
pub mod comments;
2018-05-01 13:06:31 +00:00
pub mod follows;
pub mod instance;
2018-05-10 15:54:35 +00:00
pub mod likes;
2018-05-13 12:44:18 +00:00
pub mod notifications;
2018-04-23 14:37:49 +00:00
pub mod post_authors;
2018-04-23 15:19:28 +00:00
pub mod posts;
2018-05-19 09:23:02 +00:00
pub mod reshares;
2018-04-23 15:19:28 +00:00
pub mod users;