43 lines
1.9 KiB
JavaScript
43 lines
1.9 KiB
JavaScript
import sqlite from 'better-sqlite3';
|
|
import { sunriseDB } from '../helpers/database.helpers.js';
|
|
import updateCemeteryDirectionsOfArrival from './updateCemeteryDirectionsOfArrival.js';
|
|
/**
|
|
* Updates a cemetery in the database.
|
|
* Be sure to rebuild burial site names after updating a cemetery.
|
|
* @param updateForm - The form data from the update cemetery form.
|
|
* @param user - The user who is updating the cemetery.
|
|
* @returns `true` if the cemetery was updated successfully, `false` otherwise.
|
|
*/
|
|
export default function updateCemetery(updateForm, user) {
|
|
const database = sqlite(sunriseDB);
|
|
const result = database
|
|
.prepare(`update Cemeteries
|
|
set cemeteryName = ?,
|
|
cemeteryKey = ?,
|
|
cemeteryDescription = ?,
|
|
cemeterySvg = ?,
|
|
cemeteryLatitude = ?,
|
|
cemeteryLongitude = ?,
|
|
cemeteryAddress1 = ?,
|
|
cemeteryAddress2 = ?,
|
|
cemeteryCity = ?,
|
|
cemeteryProvince = ?,
|
|
cemeteryPostalCode = ?,
|
|
cemeteryPhoneNumber = ?,
|
|
parentCemeteryId = ?,
|
|
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, updateForm.parentCemeteryId === ''
|
|
? undefined
|
|
: updateForm.parentCemeteryId, user.userName, Date.now(), updateForm.cemeteryId);
|
|
updateCemeteryDirectionsOfArrival(updateForm.cemeteryId, updateForm, database);
|
|
database.close();
|
|
return result.changes > 0;
|
|
}
|