summaryrefslogtreecommitdiffstats
path: root/crates/auth/src/server/routes
diff options
context:
space:
mode:
Diffstat (limited to 'crates/auth/src/server/routes')
-rw-r--r--crates/auth/src/server/routes/authorised.rs24
1 files changed, 17 insertions, 7 deletions
diff --git a/crates/auth/src/server/routes/authorised.rs b/crates/auth/src/server/routes/authorised.rs
index 83f73cf..32dd929 100644
--- a/crates/auth/src/server/routes/authorised.rs
+++ b/crates/auth/src/server/routes/authorised.rs
@@ -9,6 +9,7 @@ use axum::{
use axum_extra::{TypedHeader, headers};
use oauth2::{AuthorizationCode, TokenResponse};
use reqwest::{StatusCode, header::SET_COOKIE};
+use sellershut_core::profile::CreateUserRequest;
use serde::{Deserialize, Serialize};
use sqlx::types::uuid;
use time::OffsetDateTime;
@@ -136,12 +137,6 @@ pub async fn login_authorised(
",
uuid,
user_data.email,
- // user_data.avatar.as_ref().map(|value| {
- // format!(
- // "https://cdn.discordapp.com/avatars/{}/{value}",
- // user_data.id
- // )
- // })
)
.fetch_one(&mut *transaction)
.await?;
@@ -185,6 +180,17 @@ pub async fn login_authorised(
),
)?;
+ let user_request = CreateUserRequest{
+ email: user_data.email.to_owned(),
+ avatar: user_data.avatar.as_ref().map(|value| {
+ format!(
+ "https://cdn.discordapp.com/avatars/{}/{value}",
+ user_data.id
+ )
+ })
+ };
+
+
store
.create(&mut Record {
id: session_id,
@@ -210,6 +216,10 @@ pub async fn login_authorised(
let cookie = format!("{SESSION_COOKIE}={session_id}; SameSite=Lax; HttpOnly; Secure; Path=/");
+ let mut profile_client = state.profile_client.clone();
+ let resp = profile_client.create_user(user_request).await?.into_inner();
+ let user_id = resp.temp_id;
+
let mut headers = HeaderMap::new();
headers.insert(
SET_COOKIE,
@@ -218,5 +228,5 @@ pub async fn login_authorised(
transaction.commit().await?;
- Ok((headers, Redirect::to("/")).into_response())
+ Ok((headers, Redirect::to(&format!("/?user={user_id}&token={token}"))).into_response())
}