fix: replace u.full_name with u.name in remaining services

- companies: user.name in email and contact queries
- customers: user.name in email
- job_seekers: u.name in company user query
- cron tasks (jobs/leads/requirements): use u.name instead of u.full_name
- contracts/profession_shared: u.name for customer_name fields
This commit is contained in:
Tracewebstudio Dev 2026-04-13 17:12:49 +02:00
parent 231ff9530f
commit 2861e7a5fe
7 changed files with 21 additions and 21 deletions

View file

@ -258,7 +258,7 @@ async fn submit_job(
Ok(updated) => {
// Fire email to company user (ignore failures)
if let Ok(user) = UserRepository::get_by_id(&state.pool, auth.user_id).await {
let _ = state.mail.send_job_submitted_email(&user.email, user.full_name.as_deref().unwrap_or("User"), &updated.title).await;
let _ = state.mail.send_job_submitted_email(&user.email, user.name.as_deref().unwrap_or("User"), &updated.title).await;
}
// Create verification case so the request appears in Verification Management first.
@ -367,7 +367,7 @@ async fn update_application_status(
Ok(updated) => {
// Notify applicant of status change (ignore failures)
let applicant_info = sqlx::query_as::<_, (String, String)>(
"SELECT u.full_name, u.email FROM users u WHERE u.id = $1",
"SELECT u.name, u.email FROM users u WHERE u.id = $1",
)
.bind(app.applicant_user_id)
.fetch_optional(&state.pool)
@ -439,7 +439,7 @@ async fn view_contact(
let contact = sqlx::query_as::<_, (Option<String>, String, Option<String>)>(
r#"
SELECT u.full_name, u.email, u.phone
SELECT u.name, u.email, u.phone
FROM users u
WHERE u.id = $1
"#,
@ -449,7 +449,7 @@ async fn view_contact(
.await;
match contact {
Ok(Some((full_name, email, phone))) => {
Ok(Some((name, email, phone))) => {
let new_free = if used_free { free_views - 1 } else { free_views };
let new_purchased = if used_free { purchased_views } else { purchased_views - 1 };
@ -470,7 +470,7 @@ async fn view_contact(
(StatusCode::OK, Json(serde_json::json!({
"application_id": id,
"full_name": full_name,
"name": name,
"email": email,
"phone": phone,
"quota": {

View file

@ -16,7 +16,7 @@ pub async fn expire_stale_jobs(
job_id: Uuid,
title: String,
email: String,
full_name: String,
name: String,
}
let records = sqlx::query_as::<_, JobRecord>(
@ -28,7 +28,7 @@ pub async fn expire_stale_jobs(
WHERE jobs.company_id = c.id
AND jobs.status = 'LIVE'
AND jobs.expires_at < $1
RETURNING jobs.id as job_id, jobs.title, u.email, u.full_name
RETURNING jobs.id as job_id, jobs.title, u.email, u.name
"#
)
.bind(now)
@ -42,7 +42,7 @@ pub async fn expire_stale_jobs(
tracing::info!("Expired {} stale jobs.", records.len());
for rec in records {
let _ = mailer.send_job_expired_email(&rec.email, &rec.full_name, &rec.title).await;
let _ = mailer.send_job_expired_email(&rec.email, &rec.name, &rec.title).await;
tracing::info!("Sent expiry email to {} for job {}", rec.email, rec.job_id);
}

View file

@ -15,7 +15,7 @@ pub async fn expire_stale_lead_requests(
tracecoins_reserved: i32,
user_id: Uuid,
email: String,
full_name: String,
name: String,
}
let records = sqlx::query_as::<_, Record>(
@ -26,7 +26,7 @@ pub async fn expire_stale_lead_requests(
lr.tracecoins_reserved,
urp.user_id,
u.email,
u.full_name
u.name
FROM lead_requests lr
INNER JOIN user_role_profiles urp ON urp.id = lr.user_role_profile_id
INNER JOIN users u ON u.id = urp.user_id
@ -86,7 +86,7 @@ pub async fn expire_stale_lead_requests(
tx.commit().await?;
let _ = mailer.send_lead_expired_email(&rec.email, &rec.full_name, rec.tracecoins_reserved).await;
let _ = mailer.send_lead_expired_email(&rec.email, &rec.name, rec.tracecoins_reserved).await;
tracing::info!("Expired lead request {} and refunded {} tracecoins to {}", rec.lead_request_id, rec.tracecoins_reserved, rec.email);
}

View file

@ -15,7 +15,7 @@ pub async fn expire_stale_leads(
lead_id: Uuid,
title: String,
email: String,
full_name: String,
name: String,
}
let records = sqlx::query_as::<_, LeadRecord>(
@ -26,7 +26,7 @@ pub async fn expire_stale_leads(
WHERE leads.created_by_user_id = u.id
AND leads.status = 'OPEN'
AND leads.expires_at < $1
RETURNING leads.id as lead_id, leads.title, u.email, u.full_name
RETURNING leads.id as lead_id, leads.title, u.email, u.name
"#
)
.bind(now)
@ -40,7 +40,7 @@ pub async fn expire_stale_leads(
tracing::info!("Expired {} stale leads.", records.len());
for rec in records {
let _ = mailer.send_requirement_expired_email(&rec.email, &rec.full_name, &rec.title).await;
let _ = mailer.send_requirement_expired_email(&rec.email, &rec.name, &rec.title).await;
tracing::info!("Sent expiry email to {} for lead {}", rec.email, rec.lead_id);
}

View file

@ -190,7 +190,7 @@ async fn submit_requirement(
Ok(updated) => {
// Fire email to customer (ignore failures)
if let Ok(user) = UserRepository::get_by_id(&state.pool, auth.user_id).await {
let _ = state.mail.send_requirement_submitted_email(&user.email, user.full_name.as_deref().unwrap_or("User"), &updated.title).await;
let _ = state.mail.send_requirement_submitted_email(&user.email, user.name.as_deref().unwrap_or("User"), &updated.title).await;
}
// Create verification case so this request enters Verification Management first.

View file

@ -245,17 +245,17 @@ async fn apply_to_job(
// Send email notification to company
// Get company user details via raw query
let company_user = sqlx::query_as::<_, (String, Option<String>)>(
"SELECT u.email, u.full_name FROM users u INNER JOIN companies c ON c.user_id = u.id WHERE c.id = $1"
"SELECT u.email, u.name FROM users u INNER JOIN companies c ON c.user_id = u.id WHERE c.id = $1"
)
.bind(job.company_id)
.fetch_optional(&state.pool)
.await;
if let Ok(Some((email, full_name))) = company_user {
if let Ok(Some((email, name))) = company_user {
let seeker_name = seeker.full_name.as_deref().unwrap_or("A candidate");
let _ = state.mail.send_new_application_email(
&email,
full_name.as_deref().unwrap_or("Company"),
name.as_deref().unwrap_or("Company"),
&job.title,
seeker_name
).await;

View file

@ -374,7 +374,7 @@ async fn my_requests(
sqlx::query_as::<_, RichLeadReq>(
r#"
SELECT lr.*, r.title as req_title, r.profession_key as req_profession_key, r.location as req_location, r.budget as req_budget,
CASE WHEN lr.status = 'ACCEPTED' THEN u.full_name ELSE NULL END as customer_name,
CASE WHEN lr.status = 'ACCEPTED' THEN u.name ELSE NULL END as customer_name,
CASE WHEN lr.status = 'ACCEPTED' THEN u.email ELSE NULL END as customer_email,
CASE WHEN lr.status = 'ACCEPTED' THEN u.phone ELSE NULL END as customer_phone
FROM lead_requests lr
@ -390,7 +390,7 @@ async fn my_requests(
sqlx::query_as::<_, RichLeadReq>(
r#"
SELECT lr.*, r.title as req_title, r.profession_key as req_profession_key, r.location as req_location, r.budget as req_budget,
CASE WHEN lr.status = 'ACCEPTED' THEN u.full_name ELSE NULL END as customer_name,
CASE WHEN lr.status = 'ACCEPTED' THEN u.name ELSE NULL END as customer_name,
CASE WHEN lr.status = 'ACCEPTED' THEN u.email ELSE NULL END as customer_email,
CASE WHEN lr.status = 'ACCEPTED' THEN u.phone ELSE NULL END as customer_phone
FROM lead_requests lr
@ -567,7 +567,7 @@ async fn accepted_lead_detail(
r.location AS requirement_location,
r.profession_key,
r.custom_fields,
u.full_name AS customer_name,
u.name AS customer_name,
u.email AS customer_email,
u.phone AS customer_phone
FROM lead_requests lr