aboutsummaryrefslogtreecommitdiff
path: root/backend/src/db/sessions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'backend/src/db/sessions.rs')
-rw-r--r--backend/src/db/sessions.rs46
1 files changed, 0 insertions, 46 deletions
diff --git a/backend/src/db/sessions.rs b/backend/src/db/sessions.rs
deleted file mode 100644
index 96f3926..0000000
--- a/backend/src/db/sessions.rs
+++ /dev/null
@@ -1,46 +0,0 @@
-use super::users::User;
-use crate::schema::{sessions, users};
-use base64;
-use diesel::PgConnection;
-use diesel::{insert_into, prelude::*, Insertable, RunQueryDsl};
-use rand::{self, Rng};
-
-#[derive(Insertable)]
-#[table_name = "sessions"]
-struct NewSession {
- token: String,
- user_id: i32,
-}
-
-#[derive(Queryable, Debug, PartialEq)]
-pub struct Session {
- pub id: i32,
- pub user_id: i32,
- pub token: String,
-}
-
-pub fn create_session(user: &User, conn: &PgConnection) -> Session {
- let new_session = NewSession {
- token: gen_session_token(),
- user_id: user.id,
- };
- let session = insert_into(sessions::table)
- .values(&new_session)
- .get_result::<Session>(conn)
- .unwrap();
-
- return session;
-}
-
-pub fn find_user_by_session(token: &str, conn: &PgConnection) -> QueryResult<(Session, User)> {
- sessions::table
- .inner_join(users::table)
- .filter(sessions::token.eq(&token))
- .first::<(Session, User)>(conn)
-}
-
-pub fn gen_session_token() -> String {
- let mut rng = rand::thread_rng();
- let token: [u8; 32] = rng.gen();
- return base64::encode(&token);
-}