summaryrefslogtreecommitdiff
path: root/src/types/session.rs
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2023-01-28 11:52:32 -0500
committerTyler Murphy <tylermurphy534@gmail.com>2023-01-28 11:52:32 -0500
commit487d97cb019ef1a37d3ef90c6b051ba0389c6d15 (patch)
tree16833c40f95c917a48ddb7f97c1d75330a8222be /src/types/session.rs
parentfix rerendering logout button, console page (diff)
downloadxssbook-487d97cb019ef1a37d3ef90c6b051ba0389c6d15.tar.gz
xssbook-487d97cb019ef1a37d3ef90c6b051ba0389c6d15.tar.bz2
xssbook-487d97cb019ef1a37d3ef90c6b051ba0389c6d15.zip
tracing
Diffstat (limited to 'src/types/session.rs')
-rw-r--r--src/types/session.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/types/session.rs b/src/types/session.rs
index 9b949be..e05dc49 100644
--- a/src/types/session.rs
+++ b/src/types/session.rs
@@ -1,5 +1,6 @@
use rand::{distributions::Alphanumeric, Rng};
use serde::Serialize;
+use tracing::instrument;
use crate::database;
use crate::types::response::{Result, ResponseCode};
@@ -12,6 +13,7 @@ pub struct Session {
impl Session {
+ #[instrument()]
pub fn from_token(token: &str) -> Result<Self> {
let Ok(Some(session)) = database::sessions::get_session(token) else {
return Err(ResponseCode::BadRequest.text("Invalid auth token"));
@@ -20,6 +22,7 @@ impl Session {
Ok(session)
}
+ #[instrument()]
pub fn new(user_id: u64) -> Result<Self> {
let token: String = rand::thread_rng().sample_iter(&Alphanumeric).take(32).map(char::from).collect();
match database::sessions::set_session(user_id, &token) {
@@ -28,8 +31,10 @@ impl Session {
};
}
+ #[instrument()]
pub fn delete(user_id: u64) -> Result<()> {
if let Err(_) = database::sessions::delete_session(user_id) {
+ tracing::error!("Failed to logout user");
return Err(ResponseCode::InternalServerError.text("Failed to logout"));
};
Ok(())