From b58654fd70958d89b344a6f7acac204f67ae9879 Mon Sep 17 00:00:00 2001 From: Tyler Murphy Date: Sat, 28 Jan 2023 18:04:00 -0500 Subject: fmt --- src/database/mod.rs | 4 +-- src/database/posts.rs | 43 +++++++++++++++------- src/database/sessions.rs | 14 ++++---- src/database/users.rs | 94 +++++++++++++++++++++++++++++++++++------------- 4 files changed, 111 insertions(+), 44 deletions(-) (limited to 'src/database') diff --git a/src/database/mod.rs b/src/database/mod.rs index 59cc377..d48f352 100644 --- a/src/database/mod.rs +++ b/src/database/mod.rs @@ -1,6 +1,6 @@ pub mod posts; -pub mod users; pub mod sessions; +pub mod users; pub fn connect() -> Result { rusqlite::Connection::open("xssbook.db") @@ -11,4 +11,4 @@ pub fn init() -> Result<(), rusqlite::Error> { posts::init()?; sessions::init()?; Ok(()) -} \ No newline at end of file +} diff --git a/src/database/posts.rs b/src/database/posts.rs index 6086fdc..58470f0 100644 --- a/src/database/posts.rs +++ b/src/database/posts.rs @@ -1,11 +1,11 @@ use std::collections::HashSet; -use std::time::{SystemTime, UNIX_EPOCH, Duration}; +use std::time::{Duration, SystemTime, UNIX_EPOCH}; use rusqlite::{OptionalExtension, Row}; use tracing::instrument; -use crate::types::post::Post; use crate::database; +use crate::types::post::Post; pub fn init() -> Result<(), rusqlite::Error> { let sql = " @@ -40,7 +40,14 @@ fn post_from_row(row: &Row) -> Result { return Err(rusqlite::Error::InvalidQuery) }; - Ok(Post{post_id, user_id, content, likes, comments, date}) + Ok(Post { + post_id, + user_id, + content, + likes, + comments, + date, + }) } #[instrument()] @@ -48,10 +55,12 @@ pub fn get_post(post_id: u64) -> Result, 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| { - let row = post_from_row(row)?; - Ok(row) - }).optional()?; + let row = stmt + .query_row([post_id], |row| { + let row = post_from_row(row)?; + Ok(row) + }) + .optional()?; Ok(row) } @@ -73,7 +82,7 @@ pub fn get_users_posts(user_id: u64) -> Result, 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| { + let row = stmt.query_map([user_id], |row| { let row = post_from_row(row)?; Ok(row) })?; @@ -91,10 +100,16 @@ pub fn add_post(user_id: u64, content: &str) -> Result { let Ok(comments_json) = serde_json::to_string(&comments) else { return Err(rusqlite::Error::InvalidQuery) }; - let date = u64::try_from(SystemTime::now().duration_since(UNIX_EPOCH).unwrap_or(Duration::ZERO).as_millis()).unwrap_or(0); + let date = u64::try_from( + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap_or(Duration::ZERO) + .as_millis(), + ) + .unwrap_or(0); let conn = database::connect()?; let mut stmt = conn.prepare("INSERT INTO posts (user_id, content, likes, comments, date) VALUES(?,?,?,?,?) RETURNING *;")?; - let post = stmt.query_row((user_id, content, likes_json, comments_json, date), |row| { + let post = stmt.query_row((user_id, content, likes_json, comments_json, date), |row| { let row = post_from_row(row)?; Ok(row) })?; @@ -102,7 +117,11 @@ pub fn add_post(user_id: u64, content: &str) -> Result { } #[instrument()] -pub fn update_post(post_id: u64, likes: &HashSet, comments: &Vec<(u64, String)>) -> Result<(), rusqlite::Error> { +pub fn update_post( + post_id: u64, + likes: &HashSet, + 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) @@ -114,4 +133,4 @@ pub fn update_post(post_id: u64, likes: &HashSet, comments: &Vec<(u64, Stri let sql = "UPDATE posts SET likes = ?, comments = ? WHERE post_id = ?"; conn.execute(sql, (likes_json, comments_json, post_id))?; Ok(()) -} \ No newline at end of file +} diff --git a/src/database/sessions.rs b/src/database/sessions.rs index 2283b58..8d4ca73 100644 --- a/src/database/sessions.rs +++ b/src/database/sessions.rs @@ -21,12 +21,14 @@ pub fn get_session(token: &str) -> Result, rusqlite::Error> { tracing::trace!("Retrieving session"); let conn = database::connect()?; let mut stmt = conn.prepare("SELECT * FROM sessions WHERE token = ?")?; - let row = stmt.query_row([token], |row| { - Ok(Session { - user_id: row.get(0)?, - token: row.get(1)?, + let row = stmt + .query_row([token], |row| { + Ok(Session { + user_id: row.get(0)?, + token: row.get(1)?, + }) }) - }).optional()?; + .optional()?; Ok(row) } @@ -46,4 +48,4 @@ pub fn delete_session(user_id: u64) -> Result<(), Box> { let sql = "DELETE FROM sessions WHERE user_id = ?;"; conn.execute(sql, [user_id])?; Ok(()) -} \ No newline at end of file +} diff --git a/src/database/users.rs b/src/database/users.rs index a578e69..05a3a57 100644 --- a/src/database/users.rs +++ b/src/database/users.rs @@ -1,8 +1,8 @@ -use std::time::{SystemTime, UNIX_EPOCH, Duration}; use rusqlite::{OptionalExtension, Row}; +use std::time::{Duration, SystemTime, UNIX_EPOCH}; use tracing::instrument; -use crate::{database, types::user::User, api::auth::RegistrationRequet}; +use crate::{api::auth::RegistrationRequet, database, types::user::User}; pub fn init() -> Result<(), rusqlite::Error> { let sql = " @@ -36,9 +36,24 @@ fn user_from_row(row: &Row, hide_password: bool) -> Result Result, tracing::trace!("Retrieving user by id"); let conn = database::connect()?; let mut stmt = conn.prepare("SELECT * FROM users WHERE user_id = ?")?; - let row = stmt.query_row([user_id], |row| { - let row = user_from_row(row, hide_password)?; - Ok(row) - }).optional()?; + let row = stmt + .query_row([user_id], |row| { + let row = user_from_row(row, hide_password)?; + Ok(row) + }) + .optional()?; Ok(row) } #[instrument()] -pub fn get_user_by_email(email: &str, hide_password: bool) -> Result, rusqlite::Error> { +pub fn get_user_by_email( + email: &str, + hide_password: bool, +) -> Result, rusqlite::Error> { tracing::trace!("Retrieving user by email"); let conn = database::connect()?; let mut stmt = conn.prepare("SELECT * FROM users WHERE email = ?")?; - let row = stmt.query_row([email], |row| { - let row = user_from_row(row, hide_password)?; - Ok(row) - }).optional()?; + let row = stmt + .query_row([email], |row| { + let row = user_from_row(row, hide_password)?; + Ok(row) + }) + .optional()?; Ok(row) } #[instrument()] -pub fn get_user_by_password(password: &str, hide_password: bool) -> Result, rusqlite::Error> { +pub fn get_user_by_password( + password: &str, + hide_password: bool, +) -> Result, rusqlite::Error> { tracing::trace!("Retrieving user by password"); let conn = database::connect()?; let mut stmt = conn.prepare("SELECT * FROM users WHERE password = ?")?; - let row = stmt.query_row([password], |row| { - let row = user_from_row(row, hide_password)?; - Ok(row) - }).optional()?; + let row = stmt + .query_row([password], |row| { + let row = user_from_row(row, hide_password)?; + Ok(row) + }) + .optional()?; Ok(row) } @@ -93,13 +120,32 @@ pub fn get_user_page(page: u64, hide_password: bool) -> Result, rusqli #[instrument()] pub fn add_user(request: RegistrationRequet) -> Result { tracing::trace!("Adding new user"); - let date = u64::try_from(SystemTime::now().duration_since(UNIX_EPOCH).unwrap_or(Duration::ZERO).as_millis()).unwrap_or(0); + let date = u64::try_from( + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap_or(Duration::ZERO) + .as_millis(), + ) + .unwrap_or(0); let conn = database::connect()?; let mut stmt = conn.prepare("INSERT INTO users (firstname, lastname, email, password, gender, date, day, month, year) VALUES(?,?,?,?,?,?,?,?,?) RETURNING *;")?; - let user = stmt.query_row((request.firstname, request.lastname, request.email, request.password, request.gender, date, request.day, request.month, request.year), |row| { - let row = user_from_row(row, false)?; - Ok(row) - })?; + let user = stmt.query_row( + ( + request.firstname, + request.lastname, + request.email, + request.password, + request.gender, + date, + request.day, + request.month, + request.year, + ), + |row| { + let row = user_from_row(row, false)?; + Ok(row) + }, + )?; Ok(user) -} \ No newline at end of file +} -- cgit v1.2.3-freya