import sqlite from 'better-sqlite3' import { sunriseDB } from '../helpers/database.helpers.js' import { clearCacheByTableName } from '../helpers/functions.cache.js' type RecordTable = | 'BurialSiteStatuses' | 'BurialSiteTypes' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes' const recordNameIdColumns = new Map([ ['BurialSiteStatuses', ['burialSiteStatus', 'burialSiteStatusId']], ['BurialSiteTypes', ['burialSiteType', 'burialSiteTypeId']], [ 'WorkOrderMilestoneTypes', ['workOrderMilestoneType', 'workOrderMilestoneTypeId'] ], ['WorkOrderTypes', ['workOrderType', 'workOrderTypeId']] ]) export function updateRecord( recordTable: RecordTable, recordId: number | string, recordName: string, user: User ): boolean { const database = sqlite(sunriseDB) const result = database .prepare( `update ${recordTable} set ${recordNameIdColumns.get(recordTable)![0]} = ?, recordUpdate_userName = ?, recordUpdate_timeMillis = ? where recordDelete_timeMillis is null and ${recordNameIdColumns.get(recordTable)![1]} = ?` ) .run(recordName, user.userName, Date.now(), recordId) database.close() clearCacheByTableName(recordTable) return result.changes > 0 }