Fix null date handling in order history API

Safely handle null/empty OrderAddedOn and OrderLastEditedOn fields
that were causing server errors when formatting dates.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
John Mizerek 2026-01-14 21:36:18 -08:00
parent 4c06040f41
commit f98eaa4ba1

View file

@ -125,6 +125,21 @@ try {
default: statusText = "Unknown"; default: statusText = "Unknown";
} }
// Safely format dates
createdAt = "";
try {
if (!isNull(row.OrderAddedOn) && len(trim(row.OrderAddedOn))) {
createdAt = dateTimeFormat(row.OrderAddedOn, "yyyy-mm-dd'T'HH:nn:ss");
}
} catch (any de) { createdAt = ""; }
completedAt = "";
try {
if (row.OrderStatusID >= 4 && !isNull(row.OrderLastEditedOn) && len(trim(row.OrderLastEditedOn))) {
completedAt = dateTimeFormat(row.OrderLastEditedOn, "yyyy-mm-dd'T'HH:nn:ss");
}
} catch (any de) { completedAt = ""; }
arrayAppend(orders, { arrayAppend(orders, {
"OrderID": row.OrderID, "OrderID": row.OrderID,
"OrderUUID": row.OrderUUID ?: "", "OrderUUID": row.OrderUUID ?: "",
@ -134,12 +149,10 @@ try {
"OrderStatusID": row.OrderStatusID, "OrderStatusID": row.OrderStatusID,
"StatusName": statusText, "StatusName": statusText,
"OrderTypeID": row.OrderTypeID ?: 0, "OrderTypeID": row.OrderTypeID ?: 0,
"TypeName": row.OrderTypeName, "TypeName": row.OrderTypeName ?: "Unknown",
"ItemCount": itemCount, "ItemCount": itemCount,
"CreatedAt": dateTimeFormat(row.OrderAddedOn, "yyyy-mm-dd'T'HH:nn:ss"), "CreatedAt": createdAt,
"CompletedAt": (row.OrderStatusID >= 4 && len(row.OrderLastEditedOn)) "CompletedAt": completedAt
? dateTimeFormat(row.OrderLastEditedOn, "yyyy-mm-dd'T'HH:nn:ss")
: ""
}); });
} }