import sqlite from "better-sqlite3"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import type * as recordTypes from "../../types/recordTypes"; type RecordTable = | "FeeCategories" | "LotStatuses" | "LotTypes" | "OccupancyTypes" | "WorkOrderMilestoneTypes" | "WorkOrderTypes"; const recordNameColumns: Map = new Map(); recordNameColumns.set("FeeCategories", "feeCategory"); recordNameColumns.set("LotStatuses", "lotStatus"); recordNameColumns.set("LotTypes", "lotType"); recordNameColumns.set("OccupancyTypes", "occupancyType"); recordNameColumns.set("WorkOrderMilestoneTypes", "workOrderMilestoneType"); recordNameColumns.set("WorkOrderTypes", "workOrderType"); export function addRecord( recordTable: RecordTable, recordName: string, orderNumber: number, requestSession: recordTypes.PartialSession ): number { const database = sqlite(databasePath); const rightNowMillis = Date.now(); const result = database .prepare( `insert into ${recordTable} ( ${recordNameColumns.get(recordTable)}, orderNumber, recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?)` ) .run( recordName, orderNumber, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis ); database.close(); return result.lastInsertRowid as number; }