sunrise-cms/helpers/lotOccupancyDB/addLotOccupancyOccupant.js

35 lines
2.0 KiB
JavaScript

import { acquireConnection } from './pool.js';
export async function addLotOccupancyOccupant(lotOccupancyOccupantForm, requestSession, connectedDatabase) {
const database = connectedDatabase ?? (await acquireConnection());
let lotOccupantIndex = 0;
const maxIndexResult = database
.prepare(`select lotOccupantIndex
from LotOccupancyOccupants
where lotOccupancyId = ?
order by lotOccupantIndex desc
limit 1`)
.get(lotOccupancyOccupantForm.lotOccupancyId);
if (maxIndexResult !== undefined) {
lotOccupantIndex = maxIndexResult.lotOccupantIndex + 1;
}
const rightNowMillis = Date.now();
database
.prepare(`insert into LotOccupancyOccupants (
lotOccupancyId, lotOccupantIndex,
occupantName, occupantFamilyName,
occupantAddress1, occupantAddress2,
occupantCity, occupantProvince, occupantPostalCode,
occupantPhoneNumber, occupantEmailAddress,
occupantComment,
lotOccupantTypeId,
recordCreate_userName, recordCreate_timeMillis,
recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
.run(lotOccupancyOccupantForm.lotOccupancyId, lotOccupantIndex, lotOccupancyOccupantForm.occupantName, lotOccupancyOccupantForm.occupantFamilyName, lotOccupancyOccupantForm.occupantAddress1, lotOccupancyOccupantForm.occupantAddress2, lotOccupancyOccupantForm.occupantCity, lotOccupancyOccupantForm.occupantProvince, lotOccupancyOccupantForm.occupantPostalCode, lotOccupancyOccupantForm.occupantPhoneNumber, lotOccupancyOccupantForm.occupantEmailAddress, lotOccupancyOccupantForm.occupantComment ?? '', lotOccupancyOccupantForm.lotOccupantTypeId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
if (connectedDatabase === undefined) {
database.release();
}
return lotOccupantIndex;
}
export default addLotOccupancyOccupant;