diff --git a/helpers/lotOccupancyDB/getWorkOrders.d.ts b/helpers/lotOccupancyDB/getWorkOrders.d.ts index 5ec13075..9be82739 100644 --- a/helpers/lotOccupancyDB/getWorkOrders.d.ts +++ b/helpers/lotOccupancyDB/getWorkOrders.d.ts @@ -15,7 +15,7 @@ interface GetWorkOrdersOptions { includeComments?: boolean; includeMilestones?: boolean; } -export declare function getWorkOrders(filters: GetWorkOrdersFilters, options?: GetWorkOrdersOptions, connectedDatabase?: PoolConnection): Promise<{ +export declare function getWorkOrders(filters: GetWorkOrdersFilters, options: GetWorkOrdersOptions, connectedDatabase?: PoolConnection): Promise<{ count: number; workOrders: recordTypes.WorkOrder[]; }>; diff --git a/helpers/lotOccupancyDB/getWorkOrders.js b/helpers/lotOccupancyDB/getWorkOrders.js index c4158574..6650f834 100644 --- a/helpers/lotOccupancyDB/getWorkOrders.js +++ b/helpers/lotOccupancyDB/getWorkOrders.js @@ -82,15 +82,15 @@ export async function getWorkOrders(filters, options, connectedDatabase) { ' group by workOrderId) m on w.workOrderId = m.workOrderId') + sqlWhereClause + ' order by w.workOrderOpenDate desc, w.workOrderNumber desc' + - (options === undefined + (options.limit === -1 ? '' : ` limit ${options.limit} offset ${options.offset}`)) .all(sqlParameters); } - if (options !== undefined && - ((options.includeComments ?? false) || - (options.includeLotsAndLotOccupancies ?? false) || - (options.includeMilestones ?? false))) { + const hasInclusions = (options.includeComments ?? false) || + (options.includeLotsAndLotOccupancies ?? false) || + (options.includeMilestones ?? false); + if (hasInclusions) { for (const workOrder of workOrders) { if (options.includeComments ?? false) { workOrder.workOrderComments = await getWorkOrderComments(workOrder.workOrderId, database); diff --git a/helpers/lotOccupancyDB/getWorkOrders.ts b/helpers/lotOccupancyDB/getWorkOrders.ts index 2e4f511a..dbedbed3 100644 --- a/helpers/lotOccupancyDB/getWorkOrders.ts +++ b/helpers/lotOccupancyDB/getWorkOrders.ts @@ -101,7 +101,7 @@ function buildWhereClause(filters: GetWorkOrdersFilters): { export async function getWorkOrders( filters: GetWorkOrdersFilters, - options?: GetWorkOrdersOptions, + options: GetWorkOrdersOptions, connectedDatabase?: PoolConnection ): Promise<{ count: number; workOrders: recordTypes.WorkOrder[] }> { const database = connectedDatabase ?? (await acquireConnection()) @@ -138,23 +138,23 @@ export async function getWorkOrders( ' group by workOrderId) m on w.workOrderId = m.workOrderId') + sqlWhereClause + ' order by w.workOrderOpenDate desc, w.workOrderNumber desc' + - (options === undefined + (options.limit === -1 ? '' : ` limit ${options.limit} offset ${options.offset}`) ) .all(sqlParameters) } - if ( - options !== undefined && - ((options.includeComments ?? false) || - (options.includeLotsAndLotOccupancies ?? false) || - (options.includeMilestones ?? false)) - ) { + const hasInclusions = + (options.includeComments ?? false) || + (options.includeLotsAndLotOccupancies ?? false) || + (options.includeMilestones ?? false) + + if (hasInclusions) { for (const workOrder of workOrders) { if (options.includeComments ?? false) { workOrder.workOrderComments = await getWorkOrderComments( - workOrder.workOrderId as number, + workOrder.workOrderId!, database ) }