From 03d761f0f3c0546a813c28a5a5c78a49790b4bc9 Mon Sep 17 00:00:00 2001 From: Ashwin Kumar Sivakumar Date: Wed, 15 Jul 2026 01:30:45 +0530 Subject: [PATCH] fix(db): remove role_key column alias breaking every ProfessionalRepository query MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All three queries selected role_key AS profession_key, but the Professional struct's field is named role_key — sqlx's FromRow derive matches by column name, so every call (get_by_user_id, submit_for_verification, and its UPDATE...RETURNING) failed at runtime with "no column found for name: role_key". This is the professional-profile existence check used by document upload, portfolio, and submission endpoints across all 10 profession services — document upload was 500ing for every professional role because of this. Co-Authored-By: Claude Sonnet 5 --- crates/db/src/models/professional.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/db/src/models/professional.rs b/crates/db/src/models/professional.rs index 022c760..74ab5b6 100644 --- a/crates/db/src/models/professional.rs +++ b/crates/db/src/models/professional.rs @@ -110,7 +110,7 @@ pub struct ProfessionalRepository; impl ProfessionalRepository { pub async fn get_by_user_id(pool: &PgPool, user_id: Uuid) -> Result { sqlx::query_as::<_, Professional>( - "SELECT id, user_id, role_key as profession_key, status, created_at, updated_at FROM user_role_profiles WHERE user_id = $1 AND role_key != 'CUSTOMER' AND role_key != 'COMPANY'", + "SELECT id, user_id, role_key, status, created_at, updated_at FROM user_role_profiles WHERE user_id = $1 AND role_key != 'CUSTOMER' AND role_key != 'COMPANY'", ) .bind(user_id) .fetch_one(pool) @@ -556,7 +556,7 @@ impl ProfessionalRepository { profession_key: &str, ) -> Result { let prof = sqlx::query_as::<_, Professional>( - "SELECT id, user_id, role_key as profession_key, status, created_at, updated_at FROM user_role_profiles WHERE user_id = $1 AND role_key = $2", + "SELECT id, user_id, role_key, status, created_at, updated_at FROM user_role_profiles WHERE user_id = $1 AND role_key = $2", ) .bind(user_id) .bind(profession_key) @@ -572,7 +572,7 @@ impl ProfessionalRepository { UPDATE user_role_profiles SET status = 'PENDING_REVIEW', updated_at = NOW() WHERE user_id = $1 AND role_key = $2 - RETURNING id, user_id, role_key as profession_key, status, created_at, updated_at + RETURNING id, user_id, role_key, status, created_at, updated_at "#, ) .bind(user_id)