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";
}
// 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, {
"OrderID": row.OrderID,
"OrderUUID": row.OrderUUID ?: "",
@ -134,12 +149,10 @@ try {
"OrderStatusID": row.OrderStatusID,
"StatusName": statusText,
"OrderTypeID": row.OrderTypeID ?: 0,
"TypeName": row.OrderTypeName,
"TypeName": row.OrderTypeName ?: "Unknown",
"ItemCount": itemCount,
"CreatedAt": dateTimeFormat(row.OrderAddedOn, "yyyy-mm-dd'T'HH:nn:ss"),
"CompletedAt": (row.OrderStatusID >= 4 && len(row.OrderLastEditedOn))
? dateTimeFormat(row.OrderLastEditedOn, "yyyy-mm-dd'T'HH:nn:ss")
: ""
"CreatedAt": createdAt,
"CompletedAt": completedAt
});
}