×rcrossreview
REVIEW DASHBOARD

Rename CustomerDTO fields for clarity (fullName->name, email->contactEmail)

Request changes

Renaming fullName and email on CustomerDTO introduces breaking API contract changes across multiple dependent sibling repositories (frontend-app, customer-api, and billing-service). Downstream services and UI components directly reference customer.fullName and customer.email. This PR must be rejected or updated with backward-compatible aliases.

1
Findings
100% confidence
3
Repos scanned
17 snippets used
3.5k
Tokens
520 out · ~₹0.30
1
Ralph iters
critic 1.00

Impacted repositories

frontend-appcustomer-apibilling-service

Findings

CRITICALapi-contract

Breaking change to CustomerDTO fields breaks frontend-app, customer-api, and billing-service

src/customer.ts:9frontend-app/src/CustomerCard.tsx

Renaming fullName to name and email to contactEmail on CustomerDTO breaks contract compatibility with consuming repos. frontend-app reads customer.fullName and customer.email in CustomerCard.tsx, customer-api constructs CustomerDTO using fullName and email in server.ts, and billing-service reads these fields when creating invoices in worker.ts.

<h2 className="customer-card__name">{customer.fullName}</h2> and <a href={`mailto:${customer.email}`}>{customer.email}</a> in frontend-app (CustomerCard.tsx:25-27).

Retain fullName and email (or deprecate them while adding optional new fields) to preserve backward compatibility, or coordinate a major version release alongside PRs updating all consumer services.