diff --git a/crates/mysql/src/lib.rs b/crates/mysql/src/lib.rs index 87ac3ca..1c16878 100644 --- a/crates/mysql/src/lib.rs +++ b/crates/mysql/src/lib.rs @@ -1,4 +1,7 @@ -use mysql::{Error, Pool, prelude::Queryable}; +use mysql::{ + Error, Pool, + prelude::{FromRow, Queryable}, +}; pub struct Mysql { pool: Pool, @@ -118,6 +121,17 @@ impl Mysql { Ok(c.last_insert_id()) } + pub fn content(&self, content_id: u64) -> Result, Error> { + self.pool.get_conn()?.exec_first( + "SELECT `content_id`, + `channel_item_id`, + `source_id`, + `title`, + `description` FROM `content` WHERE `content_id` = ?", + (content_id,), + ) + } + pub fn contents_total(&self) -> Result { let total: Option = self .pool @@ -199,7 +213,7 @@ pub struct ChannelItem { pub description: Option, } -#[derive(Debug, PartialEq, Eq)] +#[derive(Debug, PartialEq, Eq, FromRow)] pub struct Content { pub content_id: u64, pub channel_item_id: u64,