diff --git a/apps/users/src/handlers/profile.rs b/apps/users/src/handlers/profile.rs index 030b6fe..34a144d 100644 --- a/apps/users/src/handlers/profile.rs +++ b/apps/users/src/handlers/profile.rs @@ -156,7 +156,7 @@ async fn get_profile( }; let query = format!( - r#"SELECT custom_data, status FROM {} WHERE id = $1"#, + r#"SELECT custom_data, status FROM {} WHERE user_role_profile_id = $1"#, table ); @@ -333,9 +333,9 @@ async fn save_profile( let query = format!( r#" - INSERT INTO {table} (id, custom_data, status, updated_at) - VALUES ($1, $2, 'DRAFT', NOW()) - ON CONFLICT (id) DO UPDATE SET + INSERT INTO {table} (user_id, user_role_profile_id, custom_data, status, updated_at) + VALUES ($1, $2, $3, 'DRAFT', NOW()) + ON CONFLICT (user_id) DO UPDATE SET custom_data = EXCLUDED.custom_data, updated_at = NOW() "# @@ -347,6 +347,7 @@ async fn save_profile( }; match sqlx::query(&query) + .bind(auth.user_id) .bind(user_role_profile_id) .bind(&input.profile_data) .execute(&state.pool) @@ -610,7 +611,7 @@ async fn set_profile_status(state: &AppState, user_id: Uuid, role_key: &str, sta if let Some(table) = role_to_table(role_key) { let q = format!( - "UPDATE {} SET status = $1, updated_at = NOW() WHERE id = $2", + "UPDATE {} SET status = $1, updated_at = NOW() WHERE user_role_profile_id = $2", table ); sqlx::query(&q) @@ -670,7 +671,7 @@ async fn fetch_saved_profile_by_urp_id( role_key: &str, ) -> serde_json::Value { if let Some(table) = role_to_table(role_key) { - let q = format!(r#"SELECT custom_data FROM {} WHERE id = $1"#, table); + let q = format!(r#"SELECT custom_data FROM {} WHERE user_role_profile_id = $1"#, table); if let Ok(Some(row)) = sqlx::query(&q) .bind(user_role_profile_id) .fetch_optional(&state.pool)