44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import sqlite from 'better-sqlite3'
|
|
|
|
type RecordTable =
|
|
| 'FeeCategories'
|
|
| 'Fees'
|
|
| 'LotOccupantTypes'
|
|
| 'LotStatuses'
|
|
| 'LotTypes'
|
|
| 'LotTypeFields'
|
|
| 'OccupancyTypes'
|
|
| 'OccupancyTypeFields'
|
|
| 'WorkOrderMilestoneTypes'
|
|
| 'WorkOrderTypes'
|
|
|
|
const recordIdColumns: Map<RecordTable, string> = 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
|
|
}
|