diff --git a/migrations/2020-10-26-202745_gitea_tokens/up.sql b/migrations/2020-10-26-202745_gitea_tokens/up.sql index fafd8b3..8825ced 100644 --- a/migrations/2020-10-26-202745_gitea_tokens/up.sql +++ b/migrations/2020-10-26-202745_gitea_tokens/up.sql @@ -1,6 +1,6 @@ CREATE TABLE IF NOT EXISTS gitea_tokens ( id UUID DEFAULT uuid_generate_v4() NOT NULL - , user_id UUID + , user_id UUID NOT NULL , access_token VARCHAR NOT NULL , refresh_token VARCHAR NOT NULL , PRIMARY KEY (id) diff --git a/src/main.rs b/src/main.rs index 9510d15..642057c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -68,8 +68,7 @@ fn gitea_callback( .limit(1) .load::(&*conn) { - Ok(u) => u[0].clone(), - Err(why) => { + Ok(u) => if u.len() == 0 { let u = models::User { id: uuid::Uuid::new_v4(), salutation: gitea_user.full_name, @@ -79,7 +78,7 @@ fn gitea_callback( tier: 0, }; - diesel::insert_into(users_table) + let u: models::User = diesel::insert_into(users_table) .values(&u) .get_result(&*conn) .expect("able to insert user"); @@ -91,12 +90,19 @@ fn gitea_callback( refresh_token: refresh, }; - diesel::insert_into(gitea_tokens::table) + let _: models::GiteaToken = diesel::insert_into(gitea_tokens::table) .values(&tok) .get_result(&*conn) .expect("able to insert token"); u + } else { + tracing::info!("{} {:?} logged in", u[0].id, u[0].salutation); + u[0].clone() + }, + Err(why) => { + tracing::error!("error reading from database: {}", why); + todo!("error response") } }; diff --git a/src/schema.rs b/src/schema.rs index 87ce4da..c099e04 100644 --- a/src/schema.rs +++ b/src/schema.rs @@ -1,7 +1,7 @@ table! { gitea_tokens (id) { id -> Uuid, - user_id -> Nullable, + user_id -> Uuid, access_token -> Varchar, refresh_token -> Varchar, }