summaryrefslogtreecommitdiff
path: root/src/database/sessions.rs
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2023-01-29 19:28:48 -0500
committerTyler Murphy <tylermurphy534@gmail.com>2023-01-29 19:28:48 -0500
commitac58a612a3fe928793b77c592551fdd962b69064 (patch)
treec746d9325a88447e3149891a2435bcb1f3ece67a /src/database/sessions.rs
parentno mass rerendering html plus logging fix (diff)
downloadxssbook-ac58a612a3fe928793b77c592551fdd962b69064.tar.gz
xssbook-ac58a612a3fe928793b77c592551fdd962b69064.tar.bz2
xssbook-ac58a612a3fe928793b77c592551fdd962b69064.zip
admin page
Diffstat (limited to 'src/database/sessions.rs')
-rw-r--r--src/database/sessions.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/database/sessions.rs b/src/database/sessions.rs
index 8d4ca73..9adccd4 100644
--- a/src/database/sessions.rs
+++ b/src/database/sessions.rs
@@ -33,6 +33,20 @@ pub fn get_session(token: &str) -> Result<Option<Session>, rusqlite::Error> {
}
#[instrument()]
+pub fn get_all_sessions() -> Result<Vec<Session>, rusqlite::Error> {
+ tracing::trace!("Retrieving session");
+ let conn = database::connect()?;
+ let mut stmt = conn.prepare("SELECT * FROM sessions")?;
+ let row = stmt.query_map([], |row| {
+ Ok(Session {
+ user_id: row.get(0)?,
+ token: row.get(1)?,
+ })
+ })?;
+ Ok(row.into_iter().flatten().collect())
+}
+
+#[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()?;