This commit is contained in:
2026-05-29 11:37:45 +05:30
parent 39b562ddb5
commit 0269c1b26d

View File

@@ -86,11 +86,16 @@ const extractRiders = (previewData) => {
const flattenRiders = (riders) => { const flattenRiders = (riders) => {
const out = []; const out = [];
riders.forEach((r) => { riders.forEach((r) => {
// Go backend types Deliveries.userid as int — coerce here so any
// upstream string (AI response, riders API, change-rider edit) gets
// normalised before the JSON body is built.
const ridNum = Number(r.rider_id);
const rid = Number.isFinite(ridNum) ? ridNum : r.rider_id;
(r.orders || []).forEach((o) => { (r.orders || []).forEach((o) => {
out.push({ out.push({
...o, ...o,
rider_id: r.rider_id, rider_id: rid,
userid: r.rider_id, userid: rid,
rider_name: r.rider_name, rider_name: r.rider_name,
rider: r.rider_name rider: r.rider_name
}); });
@@ -439,7 +444,9 @@ const Preview = () => {
const confirmChangeRider = () => { const confirmChangeRider = () => {
if (!selectedNewRider || !selectedOrder) return; if (!selectedNewRider || !selectedOrder) return;
const newRiderId = selectedNewRider.userid; // Backend expects an int — coerce at the boundary so a string from the
// riders API doesn't propagate into the Assign Orders payload.
const newRiderId = Number(selectedNewRider.userid);
const newRiderName = const newRiderName =
selectedNewRider.label || selectedNewRider.label ||
`${selectedNewRider.firstname || ''} ${selectedNewRider.lastname || ''}`.trim() || `${selectedNewRider.firstname || ''} ${selectedNewRider.lastname || ''}`.trim() ||