sunrise-cms/database/getBurialSiteTypes.js

26 lines
1.2 KiB
JavaScript

import sqlite from 'better-sqlite3';
import { sunriseDB } from '../helpers/database.helpers.js';
import getBurialSiteTypeFields from './getBurialSiteTypeFields.js';
import { updateRecordOrderNumber } from './updateRecordOrderNumber.js';
export default function getBurialSiteTypes(includeDeleted = false) {
const database = sqlite(sunriseDB);
const updateOrderNumbers = !database.readonly && !includeDeleted;
const burialSiteTypes = database
.prepare(`select burialSiteTypeId, burialSiteType, orderNumber
from BurialSiteTypes
${includeDeleted ? '' : ' where recordDelete_timeMillis is null '}
order by orderNumber, burialSiteType`)
.all();
let expectedOrderNumber = -1;
for (const burialSiteType of burialSiteTypes) {
expectedOrderNumber += 1;
if (updateOrderNumbers && burialSiteType.orderNumber !== expectedOrderNumber) {
updateRecordOrderNumber('BurialSiteTypes', burialSiteType.burialSiteTypeId, expectedOrderNumber, database);
burialSiteType.orderNumber = expectedOrderNumber;
}
burialSiteType.burialSiteTypeFields = getBurialSiteTypeFields(burialSiteType.burialSiteTypeId, database);
}
database.close();
return burialSiteTypes;
}