diff --git a/server-api/db/src/messages.rs b/server-api/db/src/messages.rs index e11ed9b..620bbe4 100644 --- a/server-api/db/src/messages.rs +++ b/server-api/db/src/messages.rs @@ -112,3 +112,27 @@ impl FromDB for Message { } } } + +impl Message { + pub async fn send(p: &Pool, content: &str, cid: UBigInt, uid: UBigInt) -> Result, SqlError> { + //! @returns on_sucess -> empty + //! @returns on_failure Err(SqlErr) + + use chrono::Utc; + let conn = p.get_conn().await?; + let q = "INSERT INTO messages + (time, content, author_id, channel_id) + VALUES (:time, :content, :author, :channel)"; + let now = Utc::now().timestamp(); + + conn.prep_exec(q, params!{ + "time" => now, + "content" => content, + "author" => uid, + "channel" => cid + }).await?; + + return Ok(Response::Empty); + } +} +