This commit is contained in:
2026-10-21 14:30:41 +08:00
parent 0af977bdef
commit 40a03978cd
53 changed files with 1004 additions and 1291 deletions
@@ -76,11 +76,9 @@ export function grayUiSchedule(now = Date.now()) {
}
export function applyGrayUiTransportWindow(method, path, body, schedule) {
if (method !== 'POST' || !/^\/api\/platform\/v1\/last-leg\/dispatches\/[^/]+\/transfer-delivery$/.test(path)) return body
demand(body && Array.isArray(body.groups) && body.groups.length && body.groups.every(group => group?.groupKey)
&& schedule?.plannedDeliveryAt && Number.isFinite(Date.parse(schedule.plannedDeliveryAt)), 'GRAY_UI_NATIVE_DELIVERY_WINDOW_REQUIRED')
const plannedDeliveryAt = new Date(schedule.plannedDeliveryAt).toISOString()
return { ...body, groups: body.groups.map(group => ({ ...group, plannedDeliveryAt })) }
if (!['POST', 'PUT'].includes(method) || !/^\/api\/platform\/v1\/last-leg\/dispatches(?:\/[^/]+)?$/.test(path)) return body
demand(body && schedule?.plannedDeliveryAt && Number.isFinite(Date.parse(schedule.plannedDeliveryAt)), 'GRAY_UI_NATIVE_DELIVERY_WINDOW_REQUIRED')
return { ...body, estimatedArrivalAt: new Date(schedule.plannedDeliveryAt).toISOString() }
}
/** Private directory override is for isolated offline tests, never exposed as a CLI option. */