diff --git a/database/getBurialSiteTypeFields.js b/database/getBurialSiteTypeFields.js index 27acce46..6e45b0b1 100644 --- a/database/getBurialSiteTypeFields.js +++ b/database/getBurialSiteTypeFields.js @@ -3,6 +3,7 @@ import { sunriseDB } from '../helpers/database.helpers.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; export default function getBurialSiteTypeFields(burialSiteTypeId, connectedDatabase) { const database = connectedDatabase ?? sqlite(sunriseDB); + const updateOrderNumbers = !database.readonly; const typeFields = database .prepare(`select burialSiteTypeFieldId, burialSiteTypeField, fieldType, fieldValues, @@ -12,13 +13,15 @@ export default function getBurialSiteTypeFields(burialSiteTypeId, connectedDatab and burialSiteTypeId = ? order by orderNumber, burialSiteTypeField`) .all(burialSiteTypeId); - let expectedOrderNumber = 0; - for (const typeField of typeFields) { - if (typeField.orderNumber !== expectedOrderNumber) { - updateRecordOrderNumber('BurialSiteTypeFields', typeField.burialSiteTypeFieldId, expectedOrderNumber, database); - typeField.orderNumber = expectedOrderNumber; + if (updateOrderNumbers) { + let expectedOrderNumber = 0; + for (const typeField of typeFields) { + if (typeField.orderNumber !== expectedOrderNumber) { + updateRecordOrderNumber('BurialSiteTypeFields', typeField.burialSiteTypeFieldId, expectedOrderNumber, database); + typeField.orderNumber = expectedOrderNumber; + } + expectedOrderNumber += 1; } - expectedOrderNumber += 1; } if (connectedDatabase === undefined) { database.close(); diff --git a/database/getBurialSiteTypeFields.ts b/database/getBurialSiteTypeFields.ts index 257d6eed..bd77166c 100644 --- a/database/getBurialSiteTypeFields.ts +++ b/database/getBurialSiteTypeFields.ts @@ -11,6 +11,8 @@ export default function getBurialSiteTypeFields( ): BurialSiteTypeField[] { const database = connectedDatabase ?? sqlite(sunriseDB) + const updateOrderNumbers = !database.readonly + const typeFields = database .prepare( `select burialSiteTypeFieldId, @@ -23,21 +25,23 @@ export default function getBurialSiteTypeFields( ) .all(burialSiteTypeId) as BurialSiteTypeField[] - let expectedOrderNumber = 0 + if (updateOrderNumbers) { + let expectedOrderNumber = 0 - for (const typeField of typeFields) { - if (typeField.orderNumber !== expectedOrderNumber) { - updateRecordOrderNumber( - 'BurialSiteTypeFields', - typeField.burialSiteTypeFieldId, - expectedOrderNumber, - database - ) + for (const typeField of typeFields) { + if (typeField.orderNumber !== expectedOrderNumber) { + updateRecordOrderNumber( + 'BurialSiteTypeFields', + typeField.burialSiteTypeFieldId, + expectedOrderNumber, + database + ) - typeField.orderNumber = expectedOrderNumber + typeField.orderNumber = expectedOrderNumber + } + + expectedOrderNumber += 1 } - - expectedOrderNumber += 1 } if (connectedDatabase === undefined) { diff --git a/database/getBurialSiteTypes.js b/database/getBurialSiteTypes.js index 26cae497..23f5e4d1 100644 --- a/database/getBurialSiteTypes.js +++ b/database/getBurialSiteTypes.js @@ -4,6 +4,7 @@ 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 @@ -13,7 +14,7 @@ export default function getBurialSiteTypes(includeDeleted = false) { let expectedOrderNumber = -1; for (const burialSiteType of burialSiteTypes) { expectedOrderNumber += 1; - if (burialSiteType.orderNumber !== expectedOrderNumber) { + if (updateOrderNumbers && burialSiteType.orderNumber !== expectedOrderNumber) { updateRecordOrderNumber('BurialSiteTypes', burialSiteType.burialSiteTypeId, expectedOrderNumber, database); burialSiteType.orderNumber = expectedOrderNumber; } diff --git a/database/getBurialSiteTypes.ts b/database/getBurialSiteTypes.ts index 7db0f3a4..1f897429 100644 --- a/database/getBurialSiteTypes.ts +++ b/database/getBurialSiteTypes.ts @@ -11,6 +11,8 @@ export default function getBurialSiteTypes( ): BurialSiteType[] { const database = sqlite(sunriseDB) + const updateOrderNumbers = !database.readonly && !includeDeleted + const burialSiteTypes = database .prepare( `select burialSiteTypeId, burialSiteType, orderNumber @@ -25,7 +27,7 @@ export default function getBurialSiteTypes( for (const burialSiteType of burialSiteTypes) { expectedOrderNumber += 1 - if (burialSiteType.orderNumber !== expectedOrderNumber) { + if (updateOrderNumbers && burialSiteType.orderNumber !== expectedOrderNumber) { updateRecordOrderNumber( 'BurialSiteTypes', burialSiteType.burialSiteTypeId, diff --git a/database/getCommittalTypes.js b/database/getCommittalTypes.js index ff7226ac..f953f3b9 100644 --- a/database/getCommittalTypes.js +++ b/database/getCommittalTypes.js @@ -3,18 +3,21 @@ import { sunriseDB } from '../helpers/database.helpers.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; export default function getCommittalTypes(includeDeleted = false) { const database = sqlite(sunriseDB); + const updateOrderNumbers = !database.readonly && !includeDeleted; const committalTypes = database .prepare(`select committalTypeId, committalTypeKey, committalType, orderNumber from CommittalTypes ${includeDeleted ? '' : ' where recordDelete_timeMillis is null '} order by orderNumber, committalType, committalTypeId`) .all(); - let expectedOrderNumber = -1; - for (const committalType of committalTypes) { - expectedOrderNumber += 1; - if (committalType.orderNumber !== expectedOrderNumber) { - updateRecordOrderNumber('CommittalTypes', committalType.committalTypeId, expectedOrderNumber, database); - committalType.orderNumber = expectedOrderNumber; + if (updateOrderNumbers) { + let expectedOrderNumber = -1; + for (const committalType of committalTypes) { + expectedOrderNumber += 1; + if (committalType.orderNumber !== expectedOrderNumber) { + updateRecordOrderNumber('CommittalTypes', committalType.committalTypeId, expectedOrderNumber, database); + committalType.orderNumber = expectedOrderNumber; + } } } database.close(); diff --git a/database/getCommittalTypes.ts b/database/getCommittalTypes.ts index 43e71aa2..10855639 100644 --- a/database/getCommittalTypes.ts +++ b/database/getCommittalTypes.ts @@ -10,6 +10,8 @@ export default function getCommittalTypes( ): CommittalType[] { const database = sqlite(sunriseDB) + const updateOrderNumbers = !database.readonly && !includeDeleted + const committalTypes = database .prepare( `select committalTypeId, committalTypeKey, committalType, orderNumber @@ -19,20 +21,22 @@ export default function getCommittalTypes( ) .all() as CommittalType[] - let expectedOrderNumber = -1 + if (updateOrderNumbers) { + let expectedOrderNumber = -1 - for (const committalType of committalTypes) { - expectedOrderNumber += 1 + for (const committalType of committalTypes) { + expectedOrderNumber += 1 - if (committalType.orderNumber !== expectedOrderNumber) { - updateRecordOrderNumber( - 'CommittalTypes', - committalType.committalTypeId, - expectedOrderNumber, - database - ) + if (committalType.orderNumber !== expectedOrderNumber) { + updateRecordOrderNumber( + 'CommittalTypes', + committalType.committalTypeId, + expectedOrderNumber, + database + ) - committalType.orderNumber = expectedOrderNumber + committalType.orderNumber = expectedOrderNumber + } } } diff --git a/database/getContractTypeFields.js b/database/getContractTypeFields.js index 39d2c354..8802e8a1 100644 --- a/database/getContractTypeFields.js +++ b/database/getContractTypeFields.js @@ -3,6 +3,7 @@ import { sunriseDB } from '../helpers/database.helpers.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; export default function getContractTypeFields(contractTypeId, connectedDatabase) { const database = connectedDatabase ?? sqlite(sunriseDB); + const updateOrderNumbers = !database.readonly && contractTypeId !== undefined; const sqlParameters = []; if ((contractTypeId ?? -1) !== -1) { sqlParameters.push(contractTypeId); @@ -17,13 +18,15 @@ export default function getContractTypeFields(contractTypeId, connectedDatabase) : ' and contractTypeId = ?'} order by orderNumber, contractTypeField`) .all(sqlParameters); - let expectedOrderNumber = 0; - for (const contractTypeField of contractTypeFields) { - if (contractTypeField.orderNumber !== expectedOrderNumber) { - updateRecordOrderNumber('ContractTypeFields', contractTypeField.contractTypeFieldId, expectedOrderNumber, database); - contractTypeField.orderNumber = expectedOrderNumber; + if (updateOrderNumbers) { + let expectedOrderNumber = 0; + for (const contractTypeField of contractTypeFields) { + if (contractTypeField.orderNumber !== expectedOrderNumber) { + updateRecordOrderNumber('ContractTypeFields', contractTypeField.contractTypeFieldId, expectedOrderNumber, database); + contractTypeField.orderNumber = expectedOrderNumber; + } + expectedOrderNumber += 1; } - expectedOrderNumber += 1; } if (connectedDatabase === undefined) { database.close(); diff --git a/database/getContractTypeFields.ts b/database/getContractTypeFields.ts index 9337c21d..7eb558df 100644 --- a/database/getContractTypeFields.ts +++ b/database/getContractTypeFields.ts @@ -11,6 +11,8 @@ export default function getContractTypeFields( ): ContractTypeField[] { const database = connectedDatabase ?? sqlite(sunriseDB) + const updateOrderNumbers = !database.readonly && contractTypeId !== undefined + const sqlParameters: unknown[] = [] if ((contractTypeId ?? -1) !== -1) { @@ -32,21 +34,23 @@ export default function getContractTypeFields( ) .all(sqlParameters) as ContractTypeField[] - let expectedOrderNumber = 0 + if (updateOrderNumbers) { + let expectedOrderNumber = 0 - for (const contractTypeField of contractTypeFields) { - if (contractTypeField.orderNumber !== expectedOrderNumber) { - updateRecordOrderNumber( - 'ContractTypeFields', - contractTypeField.contractTypeFieldId, - expectedOrderNumber, - database - ) + for (const contractTypeField of contractTypeFields) { + if (contractTypeField.orderNumber !== expectedOrderNumber) { + updateRecordOrderNumber( + 'ContractTypeFields', + contractTypeField.contractTypeFieldId, + expectedOrderNumber, + database + ) - contractTypeField.orderNumber = expectedOrderNumber + contractTypeField.orderNumber = expectedOrderNumber + } + + expectedOrderNumber += 1 } - - expectedOrderNumber += 1 } if (connectedDatabase === undefined) { diff --git a/database/getFeeCategories.js b/database/getFeeCategories.js index d91cff52..d7cda532 100644 --- a/database/getFeeCategories.js +++ b/database/getFeeCategories.js @@ -3,8 +3,10 @@ import { sunriseDB } from '../helpers/database.helpers.js'; import getFees from './getFees.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; export default function getFeeCategories(filters, options, connectedDatabase) { - const updateOrderNumbers = !(filters.burialSiteTypeId || filters.contractTypeId) && options.includeFees; - const database = sqlite(sunriseDB); + const database = connectedDatabase ?? sqlite(sunriseDB); + const updateOrderNumbers = !database.readonly && + !(filters.burialSiteTypeId || filters.contractTypeId) && + options.includeFees; let sqlWhereClause = ' where recordDelete_timeMillis is null'; const sqlParameters = []; if ((filters.contractTypeId ?? '') !== '') { @@ -18,7 +20,7 @@ export default function getFeeCategories(filters, options, connectedDatabase) { sqlParameters.push(filters.burialSiteTypeId); } if ((filters.feeCategoryId ?? '') !== '') { - sqlWhereClause += ` and feeCategoryId = ?`; + sqlWhereClause += ' and feeCategoryId = ?'; sqlParameters.push(filters.feeCategoryId); } const feeCategories = database diff --git a/database/getFeeCategories.ts b/database/getFeeCategories.ts index 7e4d1b2e..782448c6 100644 --- a/database/getFeeCategories.ts +++ b/database/getFeeCategories.ts @@ -21,10 +21,12 @@ export default function getFeeCategories( options: GetFeeCategoriesOptions, connectedDatabase?: sqlite.Database ): FeeCategory[] { - const updateOrderNumbers = - !(filters.burialSiteTypeId || filters.contractTypeId) && options.includeFees + const database = connectedDatabase ?? sqlite(sunriseDB) - const database = sqlite(sunriseDB) + const updateOrderNumbers = + !database.readonly && + !(filters.burialSiteTypeId || filters.contractTypeId) && + options.includeFees let sqlWhereClause = ' where recordDelete_timeMillis is null' @@ -45,7 +47,7 @@ export default function getFeeCategories( } if ((filters.feeCategoryId ?? '') !== '') { - sqlWhereClause += ` and feeCategoryId = ?` + sqlWhereClause += ' and feeCategoryId = ?' sqlParameters.push(filters.feeCategoryId) } diff --git a/database/getFees.js b/database/getFees.js index 9d0b7d9a..23704603 100644 --- a/database/getFees.js +++ b/database/getFees.js @@ -2,8 +2,9 @@ import sqlite from 'better-sqlite3'; import { sunriseDB } from '../helpers/database.helpers.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; export default function getFees(feeCategoryId, additionalFilters, connectedDatabase) { - const updateOrderNumbers = !(additionalFilters.burialSiteTypeId || additionalFilters.contractTypeId); const database = connectedDatabase ?? sqlite(sunriseDB); + const updateOrderNumbers = !database.readonly && + !(additionalFilters.burialSiteTypeId || additionalFilters.contractTypeId); let sqlWhereClause = ' where f.recordDelete_timeMillis is null and f.feeCategoryId = ?'; const sqlParameters = [feeCategoryId]; if (additionalFilters.contractTypeId) { diff --git a/database/getFees.ts b/database/getFees.ts index b4de9c56..b8c4ebe3 100644 --- a/database/getFees.ts +++ b/database/getFees.ts @@ -15,12 +15,12 @@ export default function getFees( additionalFilters: GetFeesFilters, connectedDatabase?: sqlite.Database ): Fee[] { - const updateOrderNumbers = !( - additionalFilters.burialSiteTypeId || additionalFilters.contractTypeId - ) - const database = connectedDatabase ?? sqlite(sunriseDB) + const updateOrderNumbers = + !database.readonly && + !(additionalFilters.burialSiteTypeId || additionalFilters.contractTypeId) + let sqlWhereClause = ' where f.recordDelete_timeMillis is null and f.feeCategoryId = ?' diff --git a/database/getIntermentContainerTypes.js b/database/getIntermentContainerTypes.js index 23013f98..403498e6 100644 --- a/database/getIntermentContainerTypes.js +++ b/database/getIntermentContainerTypes.js @@ -3,6 +3,7 @@ import { sunriseDB } from '../helpers/database.helpers.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; export default function getIntermentContainerTypes(includeDeleted = false) { const database = sqlite(sunriseDB); + const updateOrderNumbers = !database.readonly && !includeDeleted; const containerTypes = database .prepare(`select intermentContainerTypeId, intermentContainerType, intermentContainerTypeKey, isCremationType, orderNumber @@ -10,12 +11,14 @@ export default function getIntermentContainerTypes(includeDeleted = false) { ${includeDeleted ? '' : ' where recordDelete_timeMillis is null '} order by isCremationType, orderNumber, intermentContainerType, intermentContainerTypeId`) .all(); - let expectedOrderNumber = -1; - for (const containerType of containerTypes) { - expectedOrderNumber += 1; - if (containerType.orderNumber !== expectedOrderNumber) { - updateRecordOrderNumber('IntermentContainerTypes', containerType.intermentContainerTypeId, expectedOrderNumber, database); - containerType.orderNumber = expectedOrderNumber; + if (updateOrderNumbers) { + let expectedOrderNumber = -1; + for (const containerType of containerTypes) { + expectedOrderNumber += 1; + if (containerType.orderNumber !== expectedOrderNumber) { + updateRecordOrderNumber('IntermentContainerTypes', containerType.intermentContainerTypeId, expectedOrderNumber, database); + containerType.orderNumber = expectedOrderNumber; + } } } database.close(); diff --git a/database/getIntermentContainerTypes.ts b/database/getIntermentContainerTypes.ts index 2f63f96d..2038f742 100644 --- a/database/getIntermentContainerTypes.ts +++ b/database/getIntermentContainerTypes.ts @@ -10,6 +10,8 @@ export default function getIntermentContainerTypes( ): IntermentContainerType[] { const database = sqlite(sunriseDB) + const updateOrderNumbers = !database.readonly && !includeDeleted + const containerTypes = database .prepare( `select intermentContainerTypeId, intermentContainerType, intermentContainerTypeKey, @@ -20,20 +22,22 @@ export default function getIntermentContainerTypes( ) .all() as IntermentContainerType[] - let expectedOrderNumber = -1 + if (updateOrderNumbers) { + let expectedOrderNumber = -1 - for (const containerType of containerTypes) { - expectedOrderNumber += 1 + for (const containerType of containerTypes) { + expectedOrderNumber += 1 - if (containerType.orderNumber !== expectedOrderNumber) { - updateRecordOrderNumber( - 'IntermentContainerTypes', - containerType.intermentContainerTypeId, - expectedOrderNumber, - database - ) + if (containerType.orderNumber !== expectedOrderNumber) { + updateRecordOrderNumber( + 'IntermentContainerTypes', + containerType.intermentContainerTypeId, + expectedOrderNumber, + database + ) - containerType.orderNumber = expectedOrderNumber + containerType.orderNumber = expectedOrderNumber + } } }