import type { Request, Response } from 'express' import { getLotStatuses, getWorkOrderMilestoneTypes, getWorkOrderTypes } from '../../helpers/functions.cache.js' import * as configFunctions from '../../helpers/functions.config.js' import { getWorkOrder } from '../../database/getWorkOrder.js' export async function handler( request: Request, response: Response ): Promise { const workOrder = await getWorkOrder(request.params.workOrderId, { includeLotsAndLotOccupancies: true, includeComments: true, includeMilestones: true }) if (workOrder === undefined) { response.redirect( `${configFunctions.getConfigProperty( 'reverseProxy.urlPrefix' )}/workOrders/?error=workOrderIdNotFound` ) return } if (workOrder.workOrderCloseDate) { response.redirect( `${configFunctions.getConfigProperty( 'reverseProxy.urlPrefix' )}/workOrders/${workOrder.workOrderId!.toString()}/?error=workOrderIsClosed` ) return } const workOrderTypes = await getWorkOrderTypes() const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes() const lotStatuses = await getLotStatuses() response.render('workOrder-edit', { headTitle: `Work Order #${workOrder.workOrderNumber!}`, workOrder, isCreate: false, workOrderTypes, workOrderMilestoneTypes, lotStatuses }) } export default handler