summaryrefslogtreecommitdiff
path: root/src/database/sessions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/database/sessions.rs')
-rw-r--r--src/database/sessions.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/database/sessions.rs b/src/database/sessions.rs
index 7866d76..a2a2f6e 100644
--- a/src/database/sessions.rs
+++ b/src/database/sessions.rs
@@ -1,8 +1,10 @@
use rusqlite::OptionalExtension;
+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,
@@ -15,7 +17,9 @@ pub fn init() -> Result<(), rusqlite::Error> {
Ok(())
}
+#[instrument()]
pub fn get_session(token: &str) -> Result<Option<Session>, 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| {
@@ -27,14 +31,18 @@ pub fn get_session(token: &str) -> Result<Option<Session>, rusqlite::Error> {
Ok(row)
}
+#[instrument()]
pub fn set_session(user_id: u64, token: &str) -> Result<(), Box<dyn std::error::Error>> {
+ tracing::trace!("Setting new session");
let conn = database::connect()?;
let sql = "INSERT OR REPLACE INTO sessions (user_id, token) VALUES (?, ?);";
conn.execute(sql, (user_id, token))?;
Ok(())
}
+#[instrument()]
pub fn delete_session(user_id: u64) -> Result<(), Box<dyn std::error::Error>> {
+ tracing::trace!("Deleting session");
let conn = database::connect()?;
let sql = "DELETE FROM sessions WHERE user_id = ?;";
conn.execute(sql, [user_id])?;