summaryrefslogtreecommitdiff
path: root/src/database
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2023-01-28 14:22:29 -0500
committerTyler Murphy <tylermurphy534@gmail.com>2023-01-28 14:22:29 -0500
commit7e07687b5ec14bd788b8d2dd3f0a7ead83842fd4 (patch)
tree795df5d4e91e44e50214437dc0c77f25db66b870 /src/database
parentdocker (diff)
downloadxssbook-7e07687b5ec14bd788b8d2dd3f0a7ead83842fd4.tar.gz
xssbook-7e07687b5ec14bd788b8d2dd3f0a7ead83842fd4.tar.bz2
xssbook-7e07687b5ec14bd788b8d2dd3f0a7ead83842fd4.zip
clippy my beloved
Diffstat (limited to 'src/database')
-rw-r--r--src/database/mod.rs2
-rw-r--r--src/database/posts.rs20
-rw-r--r--src/database/users.rs29
3 files changed, 39 insertions, 12 deletions
diff --git a/src/database/mod.rs b/src/database/mod.rs
index 7227074..19e4203 100644
--- a/src/database/mod.rs
+++ b/src/database/mod.rs
@@ -5,7 +5,7 @@ pub mod users;
pub mod sessions;
pub fn connect() -> Result<rusqlite::Connection, rusqlite::Error> {
- return rusqlite::Connection::open("xssbook.db");
+ rusqlite::Connection::open("xssbook.db")
}
pub fn init() -> Result<()> {
diff --git a/src/database/posts.rs b/src/database/posts.rs
index 6ee5e0f..7892683 100644
--- a/src/database/posts.rs
+++ b/src/database/posts.rs
@@ -48,7 +48,10 @@ 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()?;
+ let row = stmt.query_row([post_id], |row| {
+ let row = post_from_row(row)?;
+ Ok(row)
+ }).optional()?;
Ok(row)
}
@@ -58,7 +61,10 @@ pub fn get_post_page(page: u64) -> Result<Vec<Post>, rusqlite::Error> {
let page_size = 10;
let conn = database::connect()?;
let mut stmt = conn.prepare("SELECT * FROM posts ORDER BY post_id DESC LIMIT ? OFFSET ?")?;
- let row = stmt.query_map([page_size, page_size * page], |row| Ok(post_from_row(row)?))?;
+ let row = stmt.query_map([page_size, page_size * page], |row| {
+ let row = post_from_row(row)?;
+ Ok(row)
+ })?;
Ok(row.into_iter().flatten().collect())
}
@@ -67,7 +73,10 @@ 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)?))?;
+ let row = stmt.query_map([user_id], |row| {
+ let row = post_from_row(row)?;
+ Ok(row)
+ })?;
Ok(row.into_iter().flatten().collect())
}
@@ -85,7 +94,10 @@ pub fn add_post(user_id: u64, content: &str) -> Result<Post, rusqlite::Error> {
let date = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_millis() as u64;
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| Ok(post_from_row(row)?))?;
+ let post = stmt.query_row((user_id, content, likes_json, comments_json, date), |row| {
+ let row = post_from_row(row)?;
+ Ok(row)
+ })?;
Ok(post)
}
diff --git a/src/database/users.rs b/src/database/users.rs
index 56b8814..d9e35b1 100644
--- a/src/database/users.rs
+++ b/src/database/users.rs
@@ -2,7 +2,7 @@ use std::time::{SystemTime, UNIX_EPOCH};
use rusqlite::{OptionalExtension, Row};
use tracing::instrument;
-use crate::{database, types::user::User};
+use crate::{database, types::user::User, api::auth::RegistrationRequet};
pub fn init() -> Result<(), rusqlite::Error> {
let sql = "
@@ -46,7 +46,10 @@ pub fn get_user_by_id(user_id: u64, hide_password: bool) -> Result<Option<User>,
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| Ok(user_from_row(row, hide_password)?)).optional()?;
+ let row = stmt.query_row([user_id], |row| {
+ let row = user_from_row(row, hide_password)?;
+ Ok(row)
+ }).optional()?;
Ok(row)
}
@@ -55,7 +58,10 @@ pub fn get_user_by_email(email: &str, hide_password: bool) -> Result<Option<User
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| Ok(user_from_row(row, hide_password)?)).optional()?;
+ let row = stmt.query_row([email], |row| {
+ let row = user_from_row(row, hide_password)?;
+ Ok(row)
+ }).optional()?;
Ok(row)
}
@@ -64,7 +70,10 @@ pub fn get_user_by_password(password: &str, hide_password: bool) -> Result<Optio
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| Ok(user_from_row(row, hide_password)?)).optional()?;
+ let row = stmt.query_row([password], |row| {
+ let row = user_from_row(row, hide_password)?;
+ Ok(row)
+ }).optional()?;
Ok(row)
}
@@ -74,17 +83,23 @@ pub fn get_user_page(page: u64, hide_password: bool) -> Result<Vec<User>, rusqli
let page_size = 5;
let conn = database::connect()?;
let mut stmt = conn.prepare("SELECT * FROM users ORDER BY user_id DESC LIMIT ? OFFSET ?")?;
- let row = stmt.query_map([page_size, page_size * page], |row| Ok(user_from_row(row, hide_password)?))?;
+ let row = stmt.query_map([page_size, page_size * page], |row| {
+ let row = user_from_row(row, hide_password)?;
+ Ok(row)
+ })?;
Ok(row.into_iter().flatten().collect())
}
#[instrument()]
-pub fn add_user(firstname: &str, lastname: &str, email: &str, password: &str, gender: &str, day: u8, month: u8, year: u32) -> Result<User, rusqlite::Error> {
+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 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((firstname, lastname, email, password, gender, date, day, month, year), |row| Ok(user_from_row(row, false)?))?;
+ 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