import refreshTokenHelper from "../../../utils/refreshTokenHelper" import forceLogoutHelper from "../../../utils/forceLogoutHelper" import errorHandlingHelper from "../../../utils/errorHandlingHelper" import fetchHelper from "../../../utils/fetchHelper" // Minimal single-field date write for the cross-dock board's timeline drag. // Deliberately NOT routed through /api/orders/update: that route always sends // `PeriodPerformanceDate: body.periodPerformanceDate || null`, so a minimal // payload would silently wipe the field. This one touches DatePromised only. // Body: { id, datePromised: 'YYYY-MM-DD' } const handleFunc = async (event: any, authToken: any = null) => { let data: any = {} const token = authToken ?? await getTokenHelper(event) const body = await readBody(event) if (!body.id || !body.datePromised) { return { status: 400, message: 'id and datePromised are required' } } const res: any = await fetchHelper(event, 'models/c_order/' + Number(body.id), 'PUT', token, { datePromised: body.datePromised, tableName: 'C_Order' }) if(res) { data = res data['status'] = 200 data['message'] = '' } return data } export default defineEventHandler(async (event) => { let data: any = {} try { data = await handleFunc(event) } catch(err: any) { try { let authToken: any = await refreshTokenHelper(event) data = await handleFunc(event, authToken) } catch(error: any) { data = errorHandlingHelper(err?.data ?? err, error?.data ?? error) forceLogoutHelper(event, data) } } return data })