diff options
author | Tyler Murphy <tylermurphy534@gmail.com> | 2023-01-28 11:52:32 -0500 |
---|---|---|
committer | Tyler Murphy <tylermurphy534@gmail.com> | 2023-01-28 11:52:32 -0500 |
commit | 487d97cb019ef1a37d3ef90c6b051ba0389c6d15 (patch) | |
tree | 16833c40f95c917a48ddb7f97c1d75330a8222be /src/database/posts.rs | |
parent | fix rerendering logout button, console page (diff) | |
download | xssbook-487d97cb019ef1a37d3ef90c6b051ba0389c6d15.tar.gz xssbook-487d97cb019ef1a37d3ef90c6b051ba0389c6d15.tar.bz2 xssbook-487d97cb019ef1a37d3ef90c6b051ba0389c6d15.zip |
tracing
Diffstat (limited to 'src/database/posts.rs')
-rw-r--r-- | src/database/posts.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/database/posts.rs b/src/database/posts.rs index 96cd18a..6ee5e0f 100644 --- a/src/database/posts.rs +++ b/src/database/posts.rs @@ -2,6 +2,7 @@ use std::collections::HashSet; use std::time::{SystemTime, UNIX_EPOCH}; use rusqlite::{OptionalExtension, Row}; +use tracing::instrument; use crate::types::post::Post; use crate::database; @@ -42,14 +43,18 @@ fn post_from_row(row: &Row) -> Result<Post, rusqlite::Error> { Ok(Post{post_id, user_id, content, likes, comments, date}) } +#[instrument()] pub fn get_post(post_id: u64) -> Result<Option<Post>, rusqlite::Error> { + tracing::trace!("Retrieving post"); let conn = database::connect()?; let mut stmt = conn.prepare("SELECT * FROM posts WHERE post_id = ?")?; let row = stmt.query_row([post_id], |row| Ok(post_from_row(row)?)).optional()?; Ok(row) } +#[instrument()] pub fn get_post_page(page: u64) -> Result<Vec<Post>, rusqlite::Error> { + tracing::trace!("Retrieving posts page"); let page_size = 10; let conn = database::connect()?; let mut stmt = conn.prepare("SELECT * FROM posts ORDER BY post_id DESC LIMIT ? OFFSET ?")?; @@ -57,14 +62,18 @@ pub fn get_post_page(page: u64) -> Result<Vec<Post>, rusqlite::Error> { Ok(row.into_iter().flatten().collect()) } +#[instrument()] pub fn get_users_posts(user_id: u64) -> Result<Vec<Post>, rusqlite::Error> { + tracing::trace!("Retrieving users posts"); let conn = database::connect()?; let mut stmt = conn.prepare("SELECT * FROM posts WHERE user_id = ? ORDER BY post_id DESC")?; let row = stmt.query_map([user_id], |row| Ok(post_from_row(row)?))?; Ok(row.into_iter().flatten().collect()) } +#[instrument()] pub fn add_post(user_id: u64, content: &str) -> Result<Post, rusqlite::Error> { + tracing::trace!("Adding post"); let likes: HashSet<u64> = HashSet::new(); let comments: Vec<(u64, String)> = Vec::new(); let Ok(likes_json) = serde_json::to_string(&likes) else { @@ -80,7 +89,9 @@ pub fn add_post(user_id: u64, content: &str) -> Result<Post, rusqlite::Error> { Ok(post) } +#[instrument()] pub fn update_post(post_id: u64, likes: &HashSet<u64>, comments: &Vec<(u64, String)>) -> Result<(), rusqlite::Error> { + tracing::trace!("Updating post"); let Ok(likes_json) = serde_json::to_string(&likes) else { return Err(rusqlite::Error::InvalidQuery) }; |