import sqlite from 'better-sqlite3' type RecordTable = | 'FeeCategories' | 'Fees' | 'LotOccupantTypes' | 'LotStatuses' | 'LotTypes' | 'LotTypeFields' | 'OccupancyTypes' | 'OccupancyTypeFields' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes' const recordIdColumns: Map = new Map() recordIdColumns.set('FeeCategories', 'feeCategoryId') recordIdColumns.set('Fees', 'feeId') recordIdColumns.set('LotOccupantTypes', 'lotOccupantTypeId') recordIdColumns.set('LotStatuses', 'lotStatusId') recordIdColumns.set('LotTypes', 'lotTypeId') recordIdColumns.set('LotTypeFields', 'lotTypeFieldId') recordIdColumns.set('OccupancyTypes', 'occupancyTypeId') recordIdColumns.set('OccupancyTypeFields', 'occupancyTypeFieldId') recordIdColumns.set('WorkOrderMilestoneTypes', 'workOrderMilestoneTypeId') recordIdColumns.set('WorkOrderTypes', 'workOrderTypeId') export function updateRecordOrderNumber( recordTable: RecordTable, recordId: number | string, orderNumber: number | string, connectedDatabase: sqlite.Database ): boolean { const result = connectedDatabase .prepare( `update ${recordTable} set orderNumber = ? where recordDelete_timeMillis is null and ${recordIdColumns.get(recordTable)!} = ?` ) .run(orderNumber, recordId) return result.changes > 0 }