diff options
Diffstat (limited to 'src/database')
-rw-r--r-- | src/database/mod.rs | 4 | ||||
-rw-r--r-- | src/database/posts.rs | 4 | ||||
-rw-r--r-- | src/database/sessions.rs | 1 | ||||
-rw-r--r-- | src/database/users.rs | 6 |
4 files changed, 6 insertions, 9 deletions
diff --git a/src/database/mod.rs b/src/database/mod.rs index 19e4203..59cc377 100644 --- a/src/database/mod.rs +++ b/src/database/mod.rs @@ -1,5 +1,3 @@ -use rusqlite::Result; - pub mod posts; pub mod users; pub mod sessions; @@ -8,7 +6,7 @@ pub fn connect() -> Result<rusqlite::Connection, rusqlite::Error> { rusqlite::Connection::open("xssbook.db") } -pub fn init() -> Result<()> { +pub fn init() -> Result<(), rusqlite::Error> { users::init()?; posts::init()?; sessions::init()?; diff --git a/src/database/posts.rs b/src/database/posts.rs index 7892683..6086fdc 100644 --- a/src/database/posts.rs +++ b/src/database/posts.rs @@ -1,5 +1,5 @@ use std::collections::HashSet; -use std::time::{SystemTime, UNIX_EPOCH}; +use std::time::{SystemTime, UNIX_EPOCH, Duration}; use rusqlite::{OptionalExtension, Row}; use tracing::instrument; @@ -91,7 +91,7 @@ pub fn add_post(user_id: u64, content: &str) -> Result<Post, rusqlite::Error> { let Ok(comments_json) = serde_json::to_string(&comments) else { return Err(rusqlite::Error::InvalidQuery) }; - let date = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_millis() as u64; + 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| { diff --git a/src/database/sessions.rs b/src/database/sessions.rs index a2a2f6e..2283b58 100644 --- a/src/database/sessions.rs +++ b/src/database/sessions.rs @@ -4,7 +4,6 @@ use tracing::instrument; use crate::{database, types::session::Session}; pub fn init() -> Result<(), rusqlite::Error> { - tracing::trace!("Retrieving posts page"); let sql = " CREATE TABLE IF NOT EXISTS sessions ( user_id INTEGER PRIMARY KEY NOT NULL, diff --git a/src/database/users.rs b/src/database/users.rs index d9e35b1..a578e69 100644 --- a/src/database/users.rs +++ b/src/database/users.rs @@ -1,4 +1,4 @@ -use std::time::{SystemTime, UNIX_EPOCH}; +use std::time::{SystemTime, UNIX_EPOCH, Duration}; use rusqlite::{OptionalExtension, Row}; use tracing::instrument; @@ -36,7 +36,7 @@ fn user_from_row(row: &Row, hide_password: bool) -> Result<User, rusqlite::Error let month = row.get(8)?; let year = row.get(9)?; - let password = if hide_password { "".to_string() } else { password }; + let password = if hide_password { String::new() } else { password }; Ok(User{user_id, firstname, lastname, email, password, gender,date, day, month, year}) } @@ -93,7 +93,7 @@ pub fn get_user_page(page: u64, hide_password: bool) -> Result<Vec<User>, rusqli #[instrument()] pub fn add_user(request: RegistrationRequet) -> Result<User, rusqlite::Error> { tracing::trace!("Adding new user"); - let date = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_millis() as u64; + 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 *;")?; |