53 lines
2.5 KiB
JavaScript
53 lines
2.5 KiB
JavaScript
import { buildBurialSiteName } from '../helpers/burialSites.helpers.js';
|
|
import { getConfigProperty } from '../helpers/config.helpers.js';
|
|
import getBurialSites from './getBurialSites.js';
|
|
import { acquireConnection } from './pool.js';
|
|
export default async function updateCemetery(updateForm, user) {
|
|
const database = await acquireConnection();
|
|
const result = database
|
|
.prepare(`update Cemeteries
|
|
set cemeteryName = ?,
|
|
cemeteryKey = ?,
|
|
cemeteryDescription = ?,
|
|
cemeterySvg = ?,
|
|
cemeteryLatitude = ?,
|
|
cemeteryLongitude = ?,
|
|
cemeteryAddress1 = ?,
|
|
cemeteryAddress2 = ?,
|
|
cemeteryCity = ?,
|
|
cemeteryProvince = ?,
|
|
cemeteryPostalCode = ?,
|
|
cemeteryPhoneNumber = ?,
|
|
recordUpdate_userName = ?,
|
|
recordUpdate_timeMillis = ?
|
|
where cemeteryId = ?
|
|
and recordDelete_timeMillis is null`)
|
|
.run(updateForm.cemeteryName, updateForm.cemeteryKey, updateForm.cemeteryDescription, updateForm.cemeterySvg, updateForm.cemeteryLatitude === ''
|
|
? undefined
|
|
: updateForm.cemeteryLatitude, updateForm.cemeteryLongitude === ''
|
|
? undefined
|
|
: updateForm.cemeteryLongitude, updateForm.cemeteryAddress1, updateForm.cemeteryAddress2, updateForm.cemeteryCity, updateForm.cemeteryProvince, updateForm.cemeteryPostalCode, updateForm.cemeteryPhoneNumber, user.userName, Date.now(), updateForm.cemeteryId);
|
|
/*
|
|
* Check if burial site names need to be updated
|
|
*/
|
|
let doRebuildBurialSiteNames = false;
|
|
if (getConfigProperty('settings.burialSites.burialSiteNameSegments.includeCemeteryKey')) {
|
|
const burialSites = await getBurialSites({ cemeteryId: updateForm.cemeteryId }, { limit: 1, offset: 0 }, database);
|
|
if (burialSites.count > 0 &&
|
|
buildBurialSiteName(updateForm.cemeteryKey, {
|
|
burialSiteNameSegment1: burialSites.burialSites[0].burialSiteNameSegment1,
|
|
burialSiteNameSegment2: burialSites.burialSites[0].burialSiteNameSegment2,
|
|
burialSiteNameSegment3: burialSites.burialSites[0].burialSiteNameSegment3,
|
|
burialSiteNameSegment4: burialSites.burialSites[0].burialSiteNameSegment4,
|
|
burialSiteNameSegment5: burialSites.burialSites[0].burialSiteNameSegment5
|
|
}) !== burialSites.burialSites[0].burialSiteName) {
|
|
doRebuildBurialSiteNames = true;
|
|
}
|
|
}
|
|
database.release();
|
|
return {
|
|
doRebuildBurialSiteNames,
|
|
success: result.changes > 0
|
|
};
|
|
}
|