diff --git a/handlers/admin-get/cleanup.d.ts b/handlers/admin-get/cleanup.d.ts index 7151ed90..ad074ebe 100644 --- a/handlers/admin-get/cleanup.d.ts +++ b/handlers/admin-get/cleanup.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(_request: Request, response: Response): void; export default handler; diff --git a/handlers/admin-get/cleanup.js b/handlers/admin-get/cleanup.js index 47a4b6b8..0798077a 100644 --- a/handlers/admin-get/cleanup.js +++ b/handlers/admin-get/cleanup.js @@ -1,6 +1,6 @@ -export const handler = (_request, response) => { +export function handler(_request, response) { response.render('admin-cleanup', { headTitle: 'Database Cleanup' }); -}; +} export default handler; diff --git a/handlers/admin-get/cleanup.ts b/handlers/admin-get/cleanup.ts index 9b384eab..38c7d87e 100644 --- a/handlers/admin-get/cleanup.ts +++ b/handlers/admin-get/cleanup.ts @@ -1,6 +1,6 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' -export const handler: RequestHandler = (_request, response) => { +export function handler(_request: Request, response: Response): void { response.render('admin-cleanup', { headTitle: 'Database Cleanup' }) diff --git a/handlers/admin-get/fees.d.ts b/handlers/admin-get/fees.d.ts index 7151ed90..c674b8e3 100644 --- a/handlers/admin-get/fees.d.ts +++ b/handlers/admin-get/fees.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(_request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-get/fees.js b/handlers/admin-get/fees.js index 1dd44942..59599e20 100644 --- a/handlers/admin-get/fees.js +++ b/handlers/admin-get/fees.js @@ -1,16 +1,16 @@ import { getLotTypes, getOccupancyTypes } from '../../helpers/functions.cache.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; -export const handler = (_request, response) => { - const feeCategories = getFeeCategories({}, { +export async function handler(_request, response) { + const feeCategories = await getFeeCategories({}, { includeFees: true }); - const occupancyTypes = getOccupancyTypes(); - const lotTypes = getLotTypes(); + const occupancyTypes = await getOccupancyTypes(); + const lotTypes = await getLotTypes(); response.render('admin-fees', { headTitle: 'Fee Management', feeCategories, occupancyTypes, lotTypes }); -}; +} export default handler; diff --git a/handlers/admin-get/fees.ts b/handlers/admin-get/fees.ts index 2e90e587..0585798c 100644 --- a/handlers/admin-get/fees.ts +++ b/handlers/admin-get/fees.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getLotTypes, @@ -7,16 +7,19 @@ import { import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' -export const handler: RequestHandler = (_request, response) => { - const feeCategories = getFeeCategories( +export async function handler( + _request: Request, + response: Response +): Promise { + const feeCategories = await getFeeCategories( {}, { includeFees: true } ) - const occupancyTypes = getOccupancyTypes() - const lotTypes = getLotTypes() + const occupancyTypes = await getOccupancyTypes() + const lotTypes = await getLotTypes() response.render('admin-fees', { headTitle: 'Fee Management', diff --git a/handlers/admin-get/lotTypes.d.ts b/handlers/admin-get/lotTypes.d.ts index 7151ed90..c674b8e3 100644 --- a/handlers/admin-get/lotTypes.d.ts +++ b/handlers/admin-get/lotTypes.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(_request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-get/lotTypes.js b/handlers/admin-get/lotTypes.js index a25811d6..8738301e 100644 --- a/handlers/admin-get/lotTypes.js +++ b/handlers/admin-get/lotTypes.js @@ -1,10 +1,10 @@ import { getLotTypes } from '../../helpers/functions.cache.js'; import * as configFunctions from '../../helpers/functions.config.js'; -export const handler = (_request, response) => { - const lotTypes = getLotTypes(); +export async function handler(_request, response) { + const lotTypes = await getLotTypes(); response.render('admin-lotTypes', { headTitle: configFunctions.getProperty('aliases.lot') + ' Type Management', lotTypes }); -}; +} export default handler; diff --git a/handlers/admin-get/lotTypes.ts b/handlers/admin-get/lotTypes.ts index b3565e4e..1d0e92aa 100644 --- a/handlers/admin-get/lotTypes.ts +++ b/handlers/admin-get/lotTypes.ts @@ -1,11 +1,14 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getLotTypes } from '../../helpers/functions.cache.js' import * as configFunctions from '../../helpers/functions.config.js' -export const handler: RequestHandler = (_request, response) => { - const lotTypes = getLotTypes() +export async function handler( + _request: Request, + response: Response +): Promise { + const lotTypes = await getLotTypes() response.render('admin-lotTypes', { headTitle: configFunctions.getProperty('aliases.lot') + ' Type Management', diff --git a/handlers/admin-get/ntfyStartup.d.ts b/handlers/admin-get/ntfyStartup.d.ts index 7151ed90..ad074ebe 100644 --- a/handlers/admin-get/ntfyStartup.d.ts +++ b/handlers/admin-get/ntfyStartup.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(_request: Request, response: Response): void; export default handler; diff --git a/handlers/admin-get/ntfyStartup.js b/handlers/admin-get/ntfyStartup.js index c829fcc1..319c2716 100644 --- a/handlers/admin-get/ntfyStartup.js +++ b/handlers/admin-get/ntfyStartup.js @@ -1,5 +1,5 @@ import * as configFunctions from '../../helpers/functions.config.js'; -export const handler = (_request, response) => { +export function handler(_request, response) { if (!configFunctions.getProperty('application.ntfyStartup')) { response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') + '/dashboard/?error=ntfyNotConfigured'); @@ -8,5 +8,5 @@ export const handler = (_request, response) => { response.render('admin-ntfyStartup', { headTitle: 'Ntfy Startup Notification' }); -}; +} export default handler; diff --git a/handlers/admin-get/ntfyStartup.ts b/handlers/admin-get/ntfyStartup.ts index ccce4d55..27833381 100644 --- a/handlers/admin-get/ntfyStartup.ts +++ b/handlers/admin-get/ntfyStartup.ts @@ -1,8 +1,8 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' -export const handler: RequestHandler = (_request, response) => { +export function handler(_request: Request, response: Response): void { if (!configFunctions.getProperty('application.ntfyStartup')) { response.redirect( configFunctions.getProperty('reverseProxy.urlPrefix') + diff --git a/handlers/admin-get/occupancyTypes.d.ts b/handlers/admin-get/occupancyTypes.d.ts index 7151ed90..c674b8e3 100644 --- a/handlers/admin-get/occupancyTypes.d.ts +++ b/handlers/admin-get/occupancyTypes.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(_request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-get/occupancyTypes.js b/handlers/admin-get/occupancyTypes.js index 0c046faa..10a6d8a2 100644 --- a/handlers/admin-get/occupancyTypes.js +++ b/handlers/admin-get/occupancyTypes.js @@ -1,9 +1,9 @@ import * as configFunctions from '../../helpers/functions.config.js'; import * as printFunctions from '../../helpers/functions.print.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (_request, response) => { - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); +export async function handler(_request, response) { + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); const occupancyTypePrints = configFunctions.getProperty('settings.lotOccupancy.prints'); const occupancyTypePrintTitles = {}; for (const printEJS of occupancyTypePrints) { @@ -18,5 +18,5 @@ export const handler = (_request, response) => { allOccupancyTypeFields, occupancyTypePrintTitles }); -}; +} export default handler; diff --git a/handlers/admin-get/occupancyTypes.ts b/handlers/admin-get/occupancyTypes.ts index 37a2bd8c..0362f351 100644 --- a/handlers/admin-get/occupancyTypes.ts +++ b/handlers/admin-get/occupancyTypes.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' import * as printFunctions from '../../helpers/functions.print.js' @@ -8,9 +8,12 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (_request, response) => { - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() +export async function handler( + _request: Request, + response: Response +): Promise { + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() const occupancyTypePrints = configFunctions.getProperty( 'settings.lotOccupancy.prints' diff --git a/handlers/admin-get/tables.d.ts b/handlers/admin-get/tables.d.ts index 7151ed90..c674b8e3 100644 --- a/handlers/admin-get/tables.d.ts +++ b/handlers/admin-get/tables.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(_request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-get/tables.js b/handlers/admin-get/tables.js index 92627dd5..e7a89b93 100644 --- a/handlers/admin-get/tables.js +++ b/handlers/admin-get/tables.js @@ -1,10 +1,10 @@ import { getLotOccupantTypes, getLotStatuses, getWorkOrderMilestoneTypes, getWorkOrderTypes } from '../../helpers/functions.cache.js'; import { getSolidIconClasses } from '../../helpers/functions.icons.js'; -export const handler = async (_request, response) => { - const workOrderTypes = getWorkOrderTypes(); - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes(); - const lotStatuses = getLotStatuses(); - const lotOccupantTypes = getLotOccupantTypes(); +export async function handler(_request, response) { + const workOrderTypes = await getWorkOrderTypes(); + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); + const lotStatuses = await getLotStatuses(); + const lotOccupantTypes = await getLotOccupantTypes(); const fontAwesomeIconClasses = await getSolidIconClasses(); response.render('admin-tables', { headTitle: 'Config Table Management', @@ -14,5 +14,5 @@ export const handler = async (_request, response) => { lotOccupantTypes, fontAwesomeIconClasses }); -}; +} export default handler; diff --git a/handlers/admin-get/tables.ts b/handlers/admin-get/tables.ts index f0c15e69..26a0cb89 100644 --- a/handlers/admin-get/tables.ts +++ b/handlers/admin-get/tables.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getLotOccupantTypes, @@ -9,11 +9,11 @@ import { import { getSolidIconClasses } from '../../helpers/functions.icons.js' -export const handler: RequestHandler = async (_request, response) => { - const workOrderTypes = getWorkOrderTypes() - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes() - const lotStatuses = getLotStatuses() - const lotOccupantTypes = getLotOccupantTypes() +export async function handler(_request: Request, response: Response): Promise { + const workOrderTypes = await getWorkOrderTypes() + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes() + const lotStatuses = await getLotStatuses() + const lotOccupantTypes = await getLotOccupantTypes() const fontAwesomeIconClasses = await getSolidIconClasses() diff --git a/handlers/admin-post/doAddFee.d.ts b/handlers/admin-post/doAddFee.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doAddFee.d.ts +++ b/handlers/admin-post/doAddFee.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doAddFee.js b/handlers/admin-post/doAddFee.js index b3e41dbe..ed8ae41b 100644 --- a/handlers/admin-post/doAddFee.js +++ b/handlers/admin-post/doAddFee.js @@ -1,8 +1,8 @@ import { addFee } from '../../helpers/lotOccupancyDB/addFee.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; -export const handler = (request, response) => { - const feeId = addFee(request.body, request.session); - const feeCategories = getFeeCategories({}, { +export async function handler(request, response) { + const feeId = await addFee(request.body, request.session); + const feeCategories = await getFeeCategories({}, { includeFees: true }); response.json({ @@ -10,5 +10,5 @@ export const handler = (request, response) => { feeId, feeCategories }); -}; +} export default handler; diff --git a/handlers/admin-post/doAddFee.ts b/handlers/admin-post/doAddFee.ts index 2cad5e6c..b913ab64 100644 --- a/handlers/admin-post/doAddFee.ts +++ b/handlers/admin-post/doAddFee.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addFee } from '../../helpers/lotOccupancyDB/addFee.js' import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' -export const handler: RequestHandler = (request, response) => { - const feeId = addFee(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const feeId = await addFee(request.body, request.session) - const feeCategories = getFeeCategories( + const feeCategories = await getFeeCategories( {}, { includeFees: true diff --git a/handlers/admin-post/doAddFeeCategory.d.ts b/handlers/admin-post/doAddFeeCategory.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doAddFeeCategory.d.ts +++ b/handlers/admin-post/doAddFeeCategory.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doAddFeeCategory.js b/handlers/admin-post/doAddFeeCategory.js index e1b78403..4aa33a64 100644 --- a/handlers/admin-post/doAddFeeCategory.js +++ b/handlers/admin-post/doAddFeeCategory.js @@ -1,8 +1,8 @@ import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; -export const handler = (request, response) => { - const feeCategoryId = addRecord('FeeCategories', request.body.feeCategory, request.body.orderNumber ?? -1, request.session); - const feeCategories = getFeeCategories({}, { +export async function handler(request, response) { + const feeCategoryId = await addRecord('FeeCategories', request.body.feeCategory, request.body.orderNumber ?? -1, request.session); + const feeCategories = await getFeeCategories({}, { includeFees: true }); response.json({ @@ -10,5 +10,5 @@ export const handler = (request, response) => { feeCategoryId, feeCategories }); -}; +} export default handler; diff --git a/handlers/admin-post/doAddFeeCategory.ts b/handlers/admin-post/doAddFeeCategory.ts index 45233ccc..7c5a2dc9 100644 --- a/handlers/admin-post/doAddFeeCategory.ts +++ b/handlers/admin-post/doAddFeeCategory.ts @@ -1,18 +1,21 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' -export const handler: RequestHandler = (request, response) => { - const feeCategoryId = addRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const feeCategoryId = await addRecord( 'FeeCategories', request.body.feeCategory, request.body.orderNumber ?? -1, request.session ) - const feeCategories = getFeeCategories( + const feeCategories = await getFeeCategories( {}, { includeFees: true diff --git a/handlers/admin-post/doAddLotOccupantType.d.ts b/handlers/admin-post/doAddLotOccupantType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doAddLotOccupantType.d.ts +++ b/handlers/admin-post/doAddLotOccupantType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doAddLotOccupantType.js b/handlers/admin-post/doAddLotOccupantType.js index 6fc45422..51950afb 100644 --- a/handlers/admin-post/doAddLotOccupantType.js +++ b/handlers/admin-post/doAddLotOccupantType.js @@ -1,12 +1,12 @@ import { addLotOccupantType } from '../../helpers/lotOccupancyDB/addLotOccupantType.js'; import { getLotOccupantTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const lotOccupantTypeId = addLotOccupantType(request.body, request.session); - const lotOccupantTypes = getLotOccupantTypes(); +export async function handler(request, response) { + const lotOccupantTypeId = await addLotOccupantType(request.body, request.session); + const lotOccupantTypes = await getLotOccupantTypes(); response.json({ success: true, lotOccupantTypeId, lotOccupantTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doAddLotOccupantType.ts b/handlers/admin-post/doAddLotOccupantType.ts index 918e429f..f7cd66b9 100644 --- a/handlers/admin-post/doAddLotOccupantType.ts +++ b/handlers/admin-post/doAddLotOccupantType.ts @@ -1,13 +1,19 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addLotOccupantType } from '../../helpers/lotOccupancyDB/addLotOccupantType.js' import { getLotOccupantTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const lotOccupantTypeId = addLotOccupantType(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const lotOccupantTypeId = await addLotOccupantType( + request.body, + request.session + ) - const lotOccupantTypes = getLotOccupantTypes() + const lotOccupantTypes = await getLotOccupantTypes() response.json({ success: true, diff --git a/handlers/admin-post/doAddLotStatus.d.ts b/handlers/admin-post/doAddLotStatus.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doAddLotStatus.d.ts +++ b/handlers/admin-post/doAddLotStatus.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doAddLotStatus.js b/handlers/admin-post/doAddLotStatus.js index 509b0a8f..12e1ee6a 100644 --- a/handlers/admin-post/doAddLotStatus.js +++ b/handlers/admin-post/doAddLotStatus.js @@ -1,12 +1,12 @@ import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; import { getLotStatuses } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const lotStatusId = addRecord('LotStatuses', request.body.lotStatus, request.body.orderNumber ?? -1, request.session); - const lotStatuses = getLotStatuses(); +export async function handler(request, response) { + const lotStatusId = await addRecord('LotStatuses', request.body.lotStatus, request.body.orderNumber ?? -1, request.session); + const lotStatuses = await getLotStatuses(); response.json({ success: true, lotStatusId, lotStatuses }); -}; +} export default handler; diff --git a/handlers/admin-post/doAddLotStatus.ts b/handlers/admin-post/doAddLotStatus.ts index 97456a8f..e6919099 100644 --- a/handlers/admin-post/doAddLotStatus.ts +++ b/handlers/admin-post/doAddLotStatus.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' import { getLotStatuses } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const lotStatusId = addRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const lotStatusId = await addRecord( 'LotStatuses', request.body.lotStatus, request.body.orderNumber ?? -1, request.session ) - const lotStatuses = getLotStatuses() + const lotStatuses = await getLotStatuses() response.json({ success: true, diff --git a/handlers/admin-post/doAddLotType.d.ts b/handlers/admin-post/doAddLotType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doAddLotType.d.ts +++ b/handlers/admin-post/doAddLotType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doAddLotType.js b/handlers/admin-post/doAddLotType.js index e0c9f9b8..30a99e24 100644 --- a/handlers/admin-post/doAddLotType.js +++ b/handlers/admin-post/doAddLotType.js @@ -1,12 +1,12 @@ import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const lotTypeId = addRecord('LotTypes', request.body.lotType, request.body.orderNumber ?? -1, request.session); - const lotTypes = getLotTypes(); +export async function handler(request, response) { + const lotTypeId = await addRecord('LotTypes', request.body.lotType, request.body.orderNumber ?? -1, request.session); + const lotTypes = await getLotTypes(); response.json({ success: true, lotTypeId, lotTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doAddLotType.ts b/handlers/admin-post/doAddLotType.ts index 24f82a21..f8a8c097 100644 --- a/handlers/admin-post/doAddLotType.ts +++ b/handlers/admin-post/doAddLotType.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' import { getLotTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const lotTypeId = addRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const lotTypeId = await addRecord( 'LotTypes', request.body.lotType, request.body.orderNumber ?? -1, request.session ) - const lotTypes = getLotTypes() + const lotTypes = await getLotTypes() response.json({ success: true, diff --git a/handlers/admin-post/doAddLotTypeField.d.ts b/handlers/admin-post/doAddLotTypeField.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doAddLotTypeField.d.ts +++ b/handlers/admin-post/doAddLotTypeField.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doAddLotTypeField.js b/handlers/admin-post/doAddLotTypeField.js index 1f2c8ae9..52705964 100644 --- a/handlers/admin-post/doAddLotTypeField.js +++ b/handlers/admin-post/doAddLotTypeField.js @@ -1,12 +1,12 @@ import { addLotTypeField } from '../../helpers/lotOccupancyDB/addLotTypeField.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const lotTypeFieldId = addLotTypeField(request.body, request.session); - const lotTypes = getLotTypes(); +export async function handler(request, response) { + const lotTypeFieldId = await addLotTypeField(request.body, request.session); + const lotTypes = await getLotTypes(); response.json({ success: true, lotTypeFieldId, lotTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doAddLotTypeField.ts b/handlers/admin-post/doAddLotTypeField.ts index b65f7b07..282183fb 100644 --- a/handlers/admin-post/doAddLotTypeField.ts +++ b/handlers/admin-post/doAddLotTypeField.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addLotTypeField } from '../../helpers/lotOccupancyDB/addLotTypeField.js' import { getLotTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const lotTypeFieldId = addLotTypeField(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const lotTypeFieldId = await addLotTypeField(request.body, request.session) - const lotTypes = getLotTypes() + const lotTypes = await getLotTypes() response.json({ success: true, diff --git a/handlers/admin-post/doAddOccupancyType.d.ts b/handlers/admin-post/doAddOccupancyType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doAddOccupancyType.d.ts +++ b/handlers/admin-post/doAddOccupancyType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doAddOccupancyType.js b/handlers/admin-post/doAddOccupancyType.js index c0df1646..f36124fe 100644 --- a/handlers/admin-post/doAddOccupancyType.js +++ b/handlers/admin-post/doAddOccupancyType.js @@ -1,14 +1,14 @@ import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const occupancyTypeId = addRecord('OccupancyTypes', request.body.occupancyType, request.body.orderNumber ?? -1, request.session); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); +export async function handler(request, response) { + const occupancyTypeId = await addRecord('OccupancyTypes', request.body.occupancyType, request.body.orderNumber ?? -1, request.session); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success: true, occupancyTypeId, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doAddOccupancyType.ts b/handlers/admin-post/doAddOccupancyType.ts index 79c14a73..ff126549 100644 --- a/handlers/admin-post/doAddOccupancyType.ts +++ b/handlers/admin-post/doAddOccupancyType.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' import { @@ -6,16 +6,19 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const occupancyTypeId = addRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const occupancyTypeId = await addRecord( 'OccupancyTypes', request.body.occupancyType, request.body.orderNumber ?? -1, request.session ) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success: true, diff --git a/handlers/admin-post/doAddOccupancyTypeField.d.ts b/handlers/admin-post/doAddOccupancyTypeField.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doAddOccupancyTypeField.d.ts +++ b/handlers/admin-post/doAddOccupancyTypeField.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doAddOccupancyTypeField.js b/handlers/admin-post/doAddOccupancyTypeField.js index 3e3482e7..dd2cdfe1 100644 --- a/handlers/admin-post/doAddOccupancyTypeField.js +++ b/handlers/admin-post/doAddOccupancyTypeField.js @@ -1,14 +1,14 @@ import { addOccupancyTypeField } from '../../helpers/lotOccupancyDB/addOccupancyTypeField.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const occupancyTypeFieldId = addOccupancyTypeField(request.body, request.session); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); +export async function handler(request, response) { + const occupancyTypeFieldId = await addOccupancyTypeField(request.body, request.session); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success: true, occupancyTypeFieldId, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doAddOccupancyTypeField.ts b/handlers/admin-post/doAddOccupancyTypeField.ts index 81fb11fa..99af2258 100644 --- a/handlers/admin-post/doAddOccupancyTypeField.ts +++ b/handlers/admin-post/doAddOccupancyTypeField.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addOccupancyTypeField } from '../../helpers/lotOccupancyDB/addOccupancyTypeField.js' @@ -7,14 +7,17 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const occupancyTypeFieldId = addOccupancyTypeField( +export async function handler( + request: Request, + response: Response +): Promise { + const occupancyTypeFieldId = await addOccupancyTypeField( request.body, request.session ) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success: true, diff --git a/handlers/admin-post/doAddOccupancyTypePrint.d.ts b/handlers/admin-post/doAddOccupancyTypePrint.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doAddOccupancyTypePrint.d.ts +++ b/handlers/admin-post/doAddOccupancyTypePrint.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doAddOccupancyTypePrint.js b/handlers/admin-post/doAddOccupancyTypePrint.js index d98e8593..48d5b2e3 100644 --- a/handlers/admin-post/doAddOccupancyTypePrint.js +++ b/handlers/admin-post/doAddOccupancyTypePrint.js @@ -1,13 +1,13 @@ import { addOccupancyTypePrint } from '../../helpers/lotOccupancyDB/addOccupancyTypePrint.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = addOccupancyTypePrint(request.body, request.session); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); +export async function handler(request, response) { + const success = await addOccupancyTypePrint(request.body, request.session); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doAddOccupancyTypePrint.ts b/handlers/admin-post/doAddOccupancyTypePrint.ts index fb8fa72b..64f0e003 100644 --- a/handlers/admin-post/doAddOccupancyTypePrint.ts +++ b/handlers/admin-post/doAddOccupancyTypePrint.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addOccupancyTypePrint } from '../../helpers/lotOccupancyDB/addOccupancyTypePrint.js' @@ -7,11 +7,14 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = addOccupancyTypePrint(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await addOccupancyTypePrint(request.body, request.session) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success, diff --git a/handlers/admin-post/doAddWorkOrderMilestoneType.d.ts b/handlers/admin-post/doAddWorkOrderMilestoneType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doAddWorkOrderMilestoneType.d.ts +++ b/handlers/admin-post/doAddWorkOrderMilestoneType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doAddWorkOrderMilestoneType.js b/handlers/admin-post/doAddWorkOrderMilestoneType.js index 81f6d3ca..217ee9d1 100644 --- a/handlers/admin-post/doAddWorkOrderMilestoneType.js +++ b/handlers/admin-post/doAddWorkOrderMilestoneType.js @@ -1,12 +1,12 @@ import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js'; import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; -export const handler = (request, response) => { - const workOrderMilestoneTypeId = addRecord('WorkOrderMilestoneTypes', request.body.workOrderMilestoneType, request.body.orderNumber ?? -1, request.session); - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes(); +export async function handler(request, response) { + const workOrderMilestoneTypeId = await addRecord('WorkOrderMilestoneTypes', request.body.workOrderMilestoneType, request.body.orderNumber ?? -1, request.session); + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); response.json({ success: true, workOrderMilestoneTypeId, workOrderMilestoneTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doAddWorkOrderMilestoneType.ts b/handlers/admin-post/doAddWorkOrderMilestoneType.ts index e08f5487..0cb9bbe8 100644 --- a/handlers/admin-post/doAddWorkOrderMilestoneType.ts +++ b/handlers/admin-post/doAddWorkOrderMilestoneType.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js' import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' -export const handler: RequestHandler = (request, response) => { - const workOrderMilestoneTypeId = addRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const workOrderMilestoneTypeId = await addRecord( 'WorkOrderMilestoneTypes', request.body.workOrderMilestoneType, request.body.orderNumber ?? -1, request.session ) - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes() + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes() response.json({ success: true, diff --git a/handlers/admin-post/doAddWorkOrderType.d.ts b/handlers/admin-post/doAddWorkOrderType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doAddWorkOrderType.d.ts +++ b/handlers/admin-post/doAddWorkOrderType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doAddWorkOrderType.js b/handlers/admin-post/doAddWorkOrderType.js index f3b5edc3..a2374a86 100644 --- a/handlers/admin-post/doAddWorkOrderType.js +++ b/handlers/admin-post/doAddWorkOrderType.js @@ -1,12 +1,12 @@ import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; import { getWorkOrderTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const workOrderTypeId = addRecord('WorkOrderTypes', request.body.workOrderType, request.body.orderNumber ?? -1, request.session); - const workOrderTypes = getWorkOrderTypes(); +export async function handler(request, response) { + const workOrderTypeId = await addRecord('WorkOrderTypes', request.body.workOrderType, request.body.orderNumber ?? -1, request.session); + const workOrderTypes = await getWorkOrderTypes(); response.json({ success: true, workOrderTypeId, workOrderTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doAddWorkOrderType.ts b/handlers/admin-post/doAddWorkOrderType.ts index 843bcae4..5b98b83a 100644 --- a/handlers/admin-post/doAddWorkOrderType.ts +++ b/handlers/admin-post/doAddWorkOrderType.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' import { getWorkOrderTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const workOrderTypeId = addRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const workOrderTypeId = await addRecord( 'WorkOrderTypes', request.body.workOrderType, request.body.orderNumber ?? -1, request.session ) - const workOrderTypes = getWorkOrderTypes() + const workOrderTypes = await getWorkOrderTypes() response.json({ success: true, diff --git a/handlers/admin-post/doCleanupDatabase.d.ts b/handlers/admin-post/doCleanupDatabase.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doCleanupDatabase.d.ts +++ b/handlers/admin-post/doCleanupDatabase.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doCleanupDatabase.js b/handlers/admin-post/doCleanupDatabase.js index aa31cd54..dfc30601 100644 --- a/handlers/admin-post/doCleanupDatabase.js +++ b/handlers/admin-post/doCleanupDatabase.js @@ -1,10 +1,10 @@ import { cleanupDatabase } from '../../helpers/lotOccupancyDB/cleanupDatabase.js'; -export const handler = (request, response) => { - const recordCounts = cleanupDatabase(request.session); +export async function handler(request, response) { + const recordCounts = await cleanupDatabase(request.session); response.json({ success: true, inactivedRecordCount: recordCounts.inactivedRecordCount, purgedRecordCount: recordCounts.purgedRecordCount }); -}; +} export default handler; diff --git a/handlers/admin-post/doCleanupDatabase.ts b/handlers/admin-post/doCleanupDatabase.ts index 298d3351..566a1ecb 100644 --- a/handlers/admin-post/doCleanupDatabase.ts +++ b/handlers/admin-post/doCleanupDatabase.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { cleanupDatabase } from '../../helpers/lotOccupancyDB/cleanupDatabase.js' -export const handler: RequestHandler = (request, response) => { - const recordCounts = cleanupDatabase(request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const recordCounts = await cleanupDatabase(request.session) response.json({ success: true, diff --git a/handlers/admin-post/doDeleteFee.d.ts b/handlers/admin-post/doDeleteFee.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doDeleteFee.d.ts +++ b/handlers/admin-post/doDeleteFee.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doDeleteFee.js b/handlers/admin-post/doDeleteFee.js index 416d4c42..e85dd874 100644 --- a/handlers/admin-post/doDeleteFee.js +++ b/handlers/admin-post/doDeleteFee.js @@ -1,13 +1,13 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; -export const handler = (request, response) => { - const success = deleteRecord('Fees', request.body.feeId, request.session); - const feeCategories = getFeeCategories({}, { +export async function handler(request, response) { + const success = await deleteRecord('Fees', request.body.feeId, request.session); + const feeCategories = await getFeeCategories({}, { includeFees: true }); response.json({ success, feeCategories }); -}; +} export default handler; diff --git a/handlers/admin-post/doDeleteFee.ts b/handlers/admin-post/doDeleteFee.ts index 0fb5d5f6..456d703d 100644 --- a/handlers/admin-post/doDeleteFee.ts +++ b/handlers/admin-post/doDeleteFee.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord('Fees', request.body.feeId, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord('Fees', request.body.feeId, request.session) - const feeCategories = getFeeCategories( + const feeCategories = await getFeeCategories( {}, { includeFees: true diff --git a/handlers/admin-post/doDeleteFeeCategory.d.ts b/handlers/admin-post/doDeleteFeeCategory.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doDeleteFeeCategory.d.ts +++ b/handlers/admin-post/doDeleteFeeCategory.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doDeleteFeeCategory.js b/handlers/admin-post/doDeleteFeeCategory.js index 98793c62..a3ca493e 100644 --- a/handlers/admin-post/doDeleteFeeCategory.js +++ b/handlers/admin-post/doDeleteFeeCategory.js @@ -1,13 +1,13 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; -export const handler = (request, response) => { - const success = deleteRecord('FeeCategories', request.body.feeCategoryId, request.session); - const feeCategories = getFeeCategories({}, { +export async function handler(request, response) { + const success = await deleteRecord('FeeCategories', request.body.feeCategoryId, request.session); + const feeCategories = await getFeeCategories({}, { includeFees: true }); response.json({ success, feeCategories }); -}; +} export default handler; diff --git a/handlers/admin-post/doDeleteFeeCategory.ts b/handlers/admin-post/doDeleteFeeCategory.ts index 3e65928c..fa131f11 100644 --- a/handlers/admin-post/doDeleteFeeCategory.ts +++ b/handlers/admin-post/doDeleteFeeCategory.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord( 'FeeCategories', request.body.feeCategoryId, request.session ) - const feeCategories = getFeeCategories( + const feeCategories = await getFeeCategories( {}, { includeFees: true diff --git a/handlers/admin-post/doDeleteLotOccupantType.d.ts b/handlers/admin-post/doDeleteLotOccupantType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doDeleteLotOccupantType.d.ts +++ b/handlers/admin-post/doDeleteLotOccupantType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doDeleteLotOccupantType.js b/handlers/admin-post/doDeleteLotOccupantType.js index b7049de6..33a3e626 100644 --- a/handlers/admin-post/doDeleteLotOccupantType.js +++ b/handlers/admin-post/doDeleteLotOccupantType.js @@ -1,11 +1,11 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getLotOccupantTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = deleteRecord('LotOccupantTypes', request.body.lotOccupantTypeId, request.session); - const lotOccupantTypes = getLotOccupantTypes(); +export async function handler(request, response) { + const success = await deleteRecord('LotOccupantTypes', request.body.lotOccupantTypeId, request.session); + const lotOccupantTypes = await getLotOccupantTypes(); response.json({ success, lotOccupantTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doDeleteLotOccupantType.ts b/handlers/admin-post/doDeleteLotOccupantType.ts index 9feb680d..7d12d76e 100644 --- a/handlers/admin-post/doDeleteLotOccupantType.ts +++ b/handlers/admin-post/doDeleteLotOccupantType.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' import { getLotOccupantTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord( 'LotOccupantTypes', request.body.lotOccupantTypeId, request.session ) - const lotOccupantTypes = getLotOccupantTypes() + const lotOccupantTypes = await getLotOccupantTypes() response.json({ success, diff --git a/handlers/admin-post/doDeleteLotStatus.d.ts b/handlers/admin-post/doDeleteLotStatus.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doDeleteLotStatus.d.ts +++ b/handlers/admin-post/doDeleteLotStatus.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doDeleteLotStatus.js b/handlers/admin-post/doDeleteLotStatus.js index b8f34d68..2769255f 100644 --- a/handlers/admin-post/doDeleteLotStatus.js +++ b/handlers/admin-post/doDeleteLotStatus.js @@ -1,11 +1,11 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getLotStatuses } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = deleteRecord('LotStatuses', request.body.lotStatusId, request.session); - const lotStatuses = getLotStatuses(); +export async function handler(request, response) { + const success = await deleteRecord('LotStatuses', request.body.lotStatusId, request.session); + const lotStatuses = await getLotStatuses(); response.json({ success, lotStatuses }); -}; +} export default handler; diff --git a/handlers/admin-post/doDeleteLotStatus.ts b/handlers/admin-post/doDeleteLotStatus.ts index d6c72bb5..4accc7c2 100644 --- a/handlers/admin-post/doDeleteLotStatus.ts +++ b/handlers/admin-post/doDeleteLotStatus.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' import { getLotStatuses } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord( 'LotStatuses', request.body.lotStatusId, request.session ) - const lotStatuses = getLotStatuses() + const lotStatuses = await getLotStatuses() response.json({ success, diff --git a/handlers/admin-post/doDeleteLotType.d.ts b/handlers/admin-post/doDeleteLotType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doDeleteLotType.d.ts +++ b/handlers/admin-post/doDeleteLotType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doDeleteLotType.js b/handlers/admin-post/doDeleteLotType.js index 3bd86f86..504854b9 100644 --- a/handlers/admin-post/doDeleteLotType.js +++ b/handlers/admin-post/doDeleteLotType.js @@ -1,11 +1,11 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = deleteRecord('LotTypes', request.body.lotTypeId, request.session); - const lotTypes = getLotTypes(); +export async function handler(request, response) { + const success = await deleteRecord('LotTypes', request.body.lotTypeId, request.session); + const lotTypes = await getLotTypes(); response.json({ success, lotTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doDeleteLotType.ts b/handlers/admin-post/doDeleteLotType.ts index acae67b1..43262a9e 100644 --- a/handlers/admin-post/doDeleteLotType.ts +++ b/handlers/admin-post/doDeleteLotType.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' import { getLotTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord( 'LotTypes', request.body.lotTypeId, request.session ) - const lotTypes = getLotTypes() + const lotTypes = await getLotTypes() response.json({ success, diff --git a/handlers/admin-post/doDeleteLotTypeField.d.ts b/handlers/admin-post/doDeleteLotTypeField.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doDeleteLotTypeField.d.ts +++ b/handlers/admin-post/doDeleteLotTypeField.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doDeleteLotTypeField.js b/handlers/admin-post/doDeleteLotTypeField.js index 92a79c6f..4c21cc96 100644 --- a/handlers/admin-post/doDeleteLotTypeField.js +++ b/handlers/admin-post/doDeleteLotTypeField.js @@ -1,11 +1,11 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = deleteRecord('LotTypeFields', request.body.lotTypeFieldId, request.session); - const lotTypes = getLotTypes(); +export async function handler(request, response) { + const success = await deleteRecord('LotTypeFields', request.body.lotTypeFieldId, request.session); + const lotTypes = await getLotTypes(); response.json({ success, lotTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doDeleteLotTypeField.ts b/handlers/admin-post/doDeleteLotTypeField.ts index 0f16974d..a9ca5961 100644 --- a/handlers/admin-post/doDeleteLotTypeField.ts +++ b/handlers/admin-post/doDeleteLotTypeField.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' import { getLotTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord( 'LotTypeFields', request.body.lotTypeFieldId, request.session ) - const lotTypes = getLotTypes() + const lotTypes = await getLotTypes() response.json({ success, diff --git a/handlers/admin-post/doDeleteOccupancyType.d.ts b/handlers/admin-post/doDeleteOccupancyType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doDeleteOccupancyType.d.ts +++ b/handlers/admin-post/doDeleteOccupancyType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doDeleteOccupancyType.js b/handlers/admin-post/doDeleteOccupancyType.js index 84104c4c..2a9da031 100644 --- a/handlers/admin-post/doDeleteOccupancyType.js +++ b/handlers/admin-post/doDeleteOccupancyType.js @@ -1,13 +1,13 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = deleteRecord('OccupancyTypes', request.body.occupancyTypeId, request.session); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); +export async function handler(request, response) { + const success = await deleteRecord('OccupancyTypes', request.body.occupancyTypeId, request.session); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doDeleteOccupancyType.ts b/handlers/admin-post/doDeleteOccupancyType.ts index 94e0b715..a708d95e 100644 --- a/handlers/admin-post/doDeleteOccupancyType.ts +++ b/handlers/admin-post/doDeleteOccupancyType.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' @@ -7,15 +7,18 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord( 'OccupancyTypes', request.body.occupancyTypeId, request.session ) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success, diff --git a/handlers/admin-post/doDeleteOccupancyTypeField.d.ts b/handlers/admin-post/doDeleteOccupancyTypeField.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doDeleteOccupancyTypeField.d.ts +++ b/handlers/admin-post/doDeleteOccupancyTypeField.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doDeleteOccupancyTypeField.js b/handlers/admin-post/doDeleteOccupancyTypeField.js index 0d0faa3d..ffa37604 100644 --- a/handlers/admin-post/doDeleteOccupancyTypeField.js +++ b/handlers/admin-post/doDeleteOccupancyTypeField.js @@ -1,13 +1,13 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = deleteRecord('OccupancyTypeFields', request.body.occupancyTypeFieldId, request.session); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); +export async function handler(request, response) { + const success = await deleteRecord('OccupancyTypeFields', request.body.occupancyTypeFieldId, request.session); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doDeleteOccupancyTypeField.ts b/handlers/admin-post/doDeleteOccupancyTypeField.ts index f0842803..bec6f107 100644 --- a/handlers/admin-post/doDeleteOccupancyTypeField.ts +++ b/handlers/admin-post/doDeleteOccupancyTypeField.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' @@ -7,15 +7,18 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord( 'OccupancyTypeFields', request.body.occupancyTypeFieldId, request.session ) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success, diff --git a/handlers/admin-post/doDeleteOccupancyTypePrint.d.ts b/handlers/admin-post/doDeleteOccupancyTypePrint.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doDeleteOccupancyTypePrint.d.ts +++ b/handlers/admin-post/doDeleteOccupancyTypePrint.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doDeleteOccupancyTypePrint.js b/handlers/admin-post/doDeleteOccupancyTypePrint.js index f3e30fab..ba86c61a 100644 --- a/handlers/admin-post/doDeleteOccupancyTypePrint.js +++ b/handlers/admin-post/doDeleteOccupancyTypePrint.js @@ -1,13 +1,13 @@ import { deleteOccupancyTypePrint } from '../../helpers/lotOccupancyDB/deleteOccupancyTypePrint.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = deleteOccupancyTypePrint(request.body.occupancyTypeId, request.body.printEJS, request.session); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); +export async function handler(request, response) { + const success = await deleteOccupancyTypePrint(request.body.occupancyTypeId, request.body.printEJS, request.session); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doDeleteOccupancyTypePrint.ts b/handlers/admin-post/doDeleteOccupancyTypePrint.ts index 4953a849..85aea2c8 100644 --- a/handlers/admin-post/doDeleteOccupancyTypePrint.ts +++ b/handlers/admin-post/doDeleteOccupancyTypePrint.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteOccupancyTypePrint } from '../../helpers/lotOccupancyDB/deleteOccupancyTypePrint.js' @@ -7,15 +7,18 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteOccupancyTypePrint( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteOccupancyTypePrint( request.body.occupancyTypeId, request.body.printEJS, request.session ) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success, diff --git a/handlers/admin-post/doDeleteWorkOrderMilestoneType.d.ts b/handlers/admin-post/doDeleteWorkOrderMilestoneType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doDeleteWorkOrderMilestoneType.d.ts +++ b/handlers/admin-post/doDeleteWorkOrderMilestoneType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doDeleteWorkOrderMilestoneType.js b/handlers/admin-post/doDeleteWorkOrderMilestoneType.js index 81f12ba3..6c8536f7 100644 --- a/handlers/admin-post/doDeleteWorkOrderMilestoneType.js +++ b/handlers/admin-post/doDeleteWorkOrderMilestoneType.js @@ -1,11 +1,11 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = deleteRecord('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId, request.session); - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes(); +export async function handler(request, response) { + const success = await deleteRecord('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId, request.session); + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); response.json({ success, workOrderMilestoneTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doDeleteWorkOrderMilestoneType.ts b/handlers/admin-post/doDeleteWorkOrderMilestoneType.ts index 7c99af2b..c6b3bfcb 100644 --- a/handlers/admin-post/doDeleteWorkOrderMilestoneType.ts +++ b/handlers/admin-post/doDeleteWorkOrderMilestoneType.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord( 'WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId, request.session ) - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes() + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes() response.json({ success, diff --git a/handlers/admin-post/doDeleteWorkOrderType.d.ts b/handlers/admin-post/doDeleteWorkOrderType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doDeleteWorkOrderType.d.ts +++ b/handlers/admin-post/doDeleteWorkOrderType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doDeleteWorkOrderType.js b/handlers/admin-post/doDeleteWorkOrderType.js index 517e2053..907962f4 100644 --- a/handlers/admin-post/doDeleteWorkOrderType.js +++ b/handlers/admin-post/doDeleteWorkOrderType.js @@ -1,11 +1,11 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getWorkOrderTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = deleteRecord('WorkOrderTypes', request.body.workOrderTypeId, request.session); - const workOrderTypes = getWorkOrderTypes(); +export async function handler(request, response) { + const success = await deleteRecord('WorkOrderTypes', request.body.workOrderTypeId, request.session); + const workOrderTypes = await getWorkOrderTypes(); response.json({ success, workOrderTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doDeleteWorkOrderType.ts b/handlers/admin-post/doDeleteWorkOrderType.ts index 854392d5..a72dfef7 100644 --- a/handlers/admin-post/doDeleteWorkOrderType.ts +++ b/handlers/admin-post/doDeleteWorkOrderType.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' import { getWorkOrderTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord( 'WorkOrderTypes', request.body.workOrderTypeId, request.session ) - const workOrderTypes = getWorkOrderTypes() + const workOrderTypes = await getWorkOrderTypes() response.json({ success, diff --git a/handlers/admin-post/doMoveFeeCategoryDown.d.ts b/handlers/admin-post/doMoveFeeCategoryDown.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveFeeCategoryDown.d.ts +++ b/handlers/admin-post/doMoveFeeCategoryDown.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveFeeCategoryDown.js b/handlers/admin-post/doMoveFeeCategoryDown.js index 0aef8030..eb6a89f5 100644 --- a/handlers/admin-post/doMoveFeeCategoryDown.js +++ b/handlers/admin-post/doMoveFeeCategoryDown.js @@ -1,15 +1,15 @@ import { moveRecordDown, moveRecordDownToBottom } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom('FeeCategories', request.body.feeCategoryId) - : moveRecordDown('FeeCategories', request.body.feeCategoryId); - const feeCategories = getFeeCategories({}, { + ? await moveRecordDownToBottom('FeeCategories', request.body.feeCategoryId) + : await moveRecordDown('FeeCategories', request.body.feeCategoryId); + const feeCategories = await getFeeCategories({}, { includeFees: true }); response.json({ success, feeCategories }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveFeeCategoryDown.ts b/handlers/admin-post/doMoveFeeCategoryDown.ts index a8c2af96..aa8c6666 100644 --- a/handlers/admin-post/doMoveFeeCategoryDown.ts +++ b/handlers/admin-post/doMoveFeeCategoryDown.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordDown, @@ -7,13 +7,16 @@ import { import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom('FeeCategories', request.body.feeCategoryId) - : moveRecordDown('FeeCategories', request.body.feeCategoryId) + ? await moveRecordDownToBottom('FeeCategories', request.body.feeCategoryId) + : await moveRecordDown('FeeCategories', request.body.feeCategoryId) - const feeCategories = getFeeCategories( + const feeCategories = await getFeeCategories( {}, { includeFees: true diff --git a/handlers/admin-post/doMoveFeeCategoryUp.d.ts b/handlers/admin-post/doMoveFeeCategoryUp.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveFeeCategoryUp.d.ts +++ b/handlers/admin-post/doMoveFeeCategoryUp.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveFeeCategoryUp.js b/handlers/admin-post/doMoveFeeCategoryUp.js index 1abcaf96..5b74e18c 100644 --- a/handlers/admin-post/doMoveFeeCategoryUp.js +++ b/handlers/admin-post/doMoveFeeCategoryUp.js @@ -1,15 +1,15 @@ import { moveRecordUp, moveRecordUpToTop } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('FeeCategories', request.body.feeCategoryId) - : moveRecordUp('FeeCategories', request.body.feeCategoryId); - const feeCategories = getFeeCategories({}, { + ? await moveRecordUpToTop('FeeCategories', request.body.feeCategoryId) + : await moveRecordUp('FeeCategories', request.body.feeCategoryId); + const feeCategories = await getFeeCategories({}, { includeFees: true }); response.json({ success, feeCategories }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveFeeCategoryUp.ts b/handlers/admin-post/doMoveFeeCategoryUp.ts index 17e61f3b..0e002fd6 100644 --- a/handlers/admin-post/doMoveFeeCategoryUp.ts +++ b/handlers/admin-post/doMoveFeeCategoryUp.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordUp, @@ -6,13 +6,16 @@ import { } from '../../helpers/lotOccupancyDB/moveRecord.js' import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('FeeCategories', request.body.feeCategoryId) - : moveRecordUp('FeeCategories', request.body.feeCategoryId) + ? await moveRecordUpToTop('FeeCategories', request.body.feeCategoryId) + : await moveRecordUp('FeeCategories', request.body.feeCategoryId) - const feeCategories = getFeeCategories( + const feeCategories = await getFeeCategories( {}, { includeFees: true diff --git a/handlers/admin-post/doMoveFeeDown.d.ts b/handlers/admin-post/doMoveFeeDown.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveFeeDown.d.ts +++ b/handlers/admin-post/doMoveFeeDown.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveFeeDown.js b/handlers/admin-post/doMoveFeeDown.js index 76ddb29e..99548257 100644 --- a/handlers/admin-post/doMoveFeeDown.js +++ b/handlers/admin-post/doMoveFeeDown.js @@ -1,15 +1,15 @@ import { moveFeeDown, moveFeeDownToBottom } from '../../helpers/lotOccupancyDB/moveFee.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveFeeDownToBottom(request.body.feeId) - : moveFeeDown(request.body.feeId); - const feeCategories = getFeeCategories({}, { + ? await moveFeeDownToBottom(request.body.feeId) + : await moveFeeDown(request.body.feeId); + const feeCategories = await getFeeCategories({}, { includeFees: true }); response.json({ success, feeCategories }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveFeeDown.ts b/handlers/admin-post/doMoveFeeDown.ts index f2c1f97e..c115f031 100644 --- a/handlers/admin-post/doMoveFeeDown.ts +++ b/handlers/admin-post/doMoveFeeDown.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveFeeDown, @@ -7,13 +7,16 @@ import { import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveFeeDownToBottom(request.body.feeId) - : moveFeeDown(request.body.feeId) + ? await moveFeeDownToBottom(request.body.feeId) + : await moveFeeDown(request.body.feeId) - const feeCategories = getFeeCategories( + const feeCategories = await getFeeCategories( {}, { includeFees: true diff --git a/handlers/admin-post/doMoveFeeUp.d.ts b/handlers/admin-post/doMoveFeeUp.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveFeeUp.d.ts +++ b/handlers/admin-post/doMoveFeeUp.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveFeeUp.js b/handlers/admin-post/doMoveFeeUp.js index 9e9d09ff..c9662df2 100644 --- a/handlers/admin-post/doMoveFeeUp.js +++ b/handlers/admin-post/doMoveFeeUp.js @@ -1,15 +1,15 @@ import { moveFeeUp, moveFeeUpToTop } from '../../helpers/lotOccupancyDB/moveFee.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveFeeUpToTop(request.body.feeId) - : moveFeeUp(request.body.feeId); - const feeCategories = getFeeCategories({}, { + ? await moveFeeUpToTop(request.body.feeId) + : await moveFeeUp(request.body.feeId); + const feeCategories = await getFeeCategories({}, { includeFees: true }); response.json({ success, feeCategories }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveFeeUp.ts b/handlers/admin-post/doMoveFeeUp.ts index e5de432d..49c445d4 100644 --- a/handlers/admin-post/doMoveFeeUp.ts +++ b/handlers/admin-post/doMoveFeeUp.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveFeeUp, @@ -7,13 +7,16 @@ import { import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveFeeUpToTop(request.body.feeId) - : moveFeeUp(request.body.feeId) + ? await moveFeeUpToTop(request.body.feeId) + : await moveFeeUp(request.body.feeId) - const feeCategories = getFeeCategories( + const feeCategories = await getFeeCategories( {}, { includeFees: true diff --git a/handlers/admin-post/doMoveLotOccupantTypeDown.d.ts b/handlers/admin-post/doMoveLotOccupantTypeDown.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveLotOccupantTypeDown.d.ts +++ b/handlers/admin-post/doMoveLotOccupantTypeDown.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveLotOccupantTypeDown.js b/handlers/admin-post/doMoveLotOccupantTypeDown.js index 7678a43d..f3809cc3 100644 --- a/handlers/admin-post/doMoveLotOccupantTypeDown.js +++ b/handlers/admin-post/doMoveLotOccupantTypeDown.js @@ -1,13 +1,13 @@ import { moveRecordDown, moveRecordDownToBottom } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getLotOccupantTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom('LotOccupantTypes', request.body.lotOccupantTypeId) - : moveRecordDown('LotOccupantTypes', request.body.lotOccupantTypeId); - const lotOccupantTypes = getLotOccupantTypes(); + ? await moveRecordDownToBottom('LotOccupantTypes', request.body.lotOccupantTypeId) + : await moveRecordDown('LotOccupantTypes', request.body.lotOccupantTypeId); + const lotOccupantTypes = await getLotOccupantTypes(); response.json({ success, lotOccupantTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveLotOccupantTypeDown.ts b/handlers/admin-post/doMoveLotOccupantTypeDown.ts index 4c73edcf..584062b6 100644 --- a/handlers/admin-post/doMoveLotOccupantTypeDown.ts +++ b/handlers/admin-post/doMoveLotOccupantTypeDown.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/indent */ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordDown, @@ -8,16 +8,19 @@ import { } from '../../helpers/lotOccupancyDB/moveRecord.js' import { getLotOccupantTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom( + ? await moveRecordDownToBottom( 'LotOccupantTypes', request.body.lotOccupantTypeId ) - : moveRecordDown('LotOccupantTypes', request.body.lotOccupantTypeId) + : await moveRecordDown('LotOccupantTypes', request.body.lotOccupantTypeId) - const lotOccupantTypes = getLotOccupantTypes() + const lotOccupantTypes = await getLotOccupantTypes() response.json({ success, diff --git a/handlers/admin-post/doMoveLotOccupantTypeUp.d.ts b/handlers/admin-post/doMoveLotOccupantTypeUp.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveLotOccupantTypeUp.d.ts +++ b/handlers/admin-post/doMoveLotOccupantTypeUp.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveLotOccupantTypeUp.js b/handlers/admin-post/doMoveLotOccupantTypeUp.js index c32f3b64..80133e3b 100644 --- a/handlers/admin-post/doMoveLotOccupantTypeUp.js +++ b/handlers/admin-post/doMoveLotOccupantTypeUp.js @@ -1,13 +1,13 @@ import { moveRecordUp, moveRecordUpToTop } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getLotOccupantTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('LotOccupantTypes', request.body.lotOccupantTypeId) - : moveRecordUp('LotOccupantTypes', request.body.lotOccupantTypeId); - const lotOccupantTypes = getLotOccupantTypes(); + ? await moveRecordUpToTop('LotOccupantTypes', request.body.lotOccupantTypeId) + : await moveRecordUp('LotOccupantTypes', request.body.lotOccupantTypeId); + const lotOccupantTypes = await getLotOccupantTypes(); response.json({ success, lotOccupantTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveLotOccupantTypeUp.ts b/handlers/admin-post/doMoveLotOccupantTypeUp.ts index d4f4fe80..e0d195af 100644 --- a/handlers/admin-post/doMoveLotOccupantTypeUp.ts +++ b/handlers/admin-post/doMoveLotOccupantTypeUp.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordUp, @@ -6,13 +6,16 @@ import { } from '../../helpers/lotOccupancyDB/moveRecord.js' import { getLotOccupantTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('LotOccupantTypes', request.body.lotOccupantTypeId) - : moveRecordUp('LotOccupantTypes', request.body.lotOccupantTypeId) + ? await moveRecordUpToTop('LotOccupantTypes', request.body.lotOccupantTypeId) + : await moveRecordUp('LotOccupantTypes', request.body.lotOccupantTypeId) - const lotOccupantTypes = getLotOccupantTypes() + const lotOccupantTypes = await getLotOccupantTypes() response.json({ success, diff --git a/handlers/admin-post/doMoveLotStatusDown.d.ts b/handlers/admin-post/doMoveLotStatusDown.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveLotStatusDown.d.ts +++ b/handlers/admin-post/doMoveLotStatusDown.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveLotStatusDown.js b/handlers/admin-post/doMoveLotStatusDown.js index 1ef47b0e..ba063df0 100644 --- a/handlers/admin-post/doMoveLotStatusDown.js +++ b/handlers/admin-post/doMoveLotStatusDown.js @@ -1,13 +1,13 @@ import { moveRecordDown, moveRecordDownToBottom } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getLotStatuses } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom('LotStatuses', request.body.lotStatusId) - : moveRecordDown('LotStatuses', request.body.lotStatusId); - const lotStatuses = getLotStatuses(); + ? await moveRecordDownToBottom('LotStatuses', request.body.lotStatusId) + : await moveRecordDown('LotStatuses', request.body.lotStatusId); + const lotStatuses = await getLotStatuses(); response.json({ success, lotStatuses }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveLotStatusDown.ts b/handlers/admin-post/doMoveLotStatusDown.ts index 66dd73a7..b9435ca5 100644 --- a/handlers/admin-post/doMoveLotStatusDown.ts +++ b/handlers/admin-post/doMoveLotStatusDown.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordDown, @@ -6,13 +6,16 @@ import { } from '../../helpers/lotOccupancyDB/moveRecord.js' import { getLotStatuses } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom('LotStatuses', request.body.lotStatusId) - : moveRecordDown('LotStatuses', request.body.lotStatusId) + ? await moveRecordDownToBottom('LotStatuses', request.body.lotStatusId) + : await moveRecordDown('LotStatuses', request.body.lotStatusId) - const lotStatuses = getLotStatuses() + const lotStatuses = await getLotStatuses() response.json({ success, diff --git a/handlers/admin-post/doMoveLotStatusUp.d.ts b/handlers/admin-post/doMoveLotStatusUp.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveLotStatusUp.d.ts +++ b/handlers/admin-post/doMoveLotStatusUp.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveLotStatusUp.js b/handlers/admin-post/doMoveLotStatusUp.js index bec14c6a..076c66e2 100644 --- a/handlers/admin-post/doMoveLotStatusUp.js +++ b/handlers/admin-post/doMoveLotStatusUp.js @@ -1,13 +1,13 @@ import { moveRecordUp, moveRecordUpToTop } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getLotStatuses } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('LotStatuses', request.body.lotStatusId) - : moveRecordUp('LotStatuses', request.body.lotStatusId); - const lotStatuses = getLotStatuses(); + ? await moveRecordUpToTop('LotStatuses', request.body.lotStatusId) + : await moveRecordUp('LotStatuses', request.body.lotStatusId); + const lotStatuses = await getLotStatuses(); response.json({ success, lotStatuses }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveLotStatusUp.ts b/handlers/admin-post/doMoveLotStatusUp.ts index 19724cb1..b81fc1cc 100644 --- a/handlers/admin-post/doMoveLotStatusUp.ts +++ b/handlers/admin-post/doMoveLotStatusUp.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordUp, @@ -6,13 +6,16 @@ import { } from '../../helpers/lotOccupancyDB/moveRecord.js' import { getLotStatuses } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('LotStatuses', request.body.lotStatusId) - : moveRecordUp('LotStatuses', request.body.lotStatusId) + ? await moveRecordUpToTop('LotStatuses', request.body.lotStatusId) + : await moveRecordUp('LotStatuses', request.body.lotStatusId) - const lotStatuses = getLotStatuses() + const lotStatuses = await getLotStatuses() response.json({ success, diff --git a/handlers/admin-post/doMoveLotTypeDown.d.ts b/handlers/admin-post/doMoveLotTypeDown.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveLotTypeDown.d.ts +++ b/handlers/admin-post/doMoveLotTypeDown.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveLotTypeDown.js b/handlers/admin-post/doMoveLotTypeDown.js index 3ba1551e..5e1b0752 100644 --- a/handlers/admin-post/doMoveLotTypeDown.js +++ b/handlers/admin-post/doMoveLotTypeDown.js @@ -1,13 +1,13 @@ import { moveRecordDown, moveRecordDownToBottom } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom('LotTypes', request.body.lotTypeId) - : moveRecordDown('LotTypes', request.body.lotTypeId); - const lotTypes = getLotTypes(); + ? await moveRecordDownToBottom('LotTypes', request.body.lotTypeId) + : await moveRecordDown('LotTypes', request.body.lotTypeId); + const lotTypes = await getLotTypes(); response.json({ success, lotTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveLotTypeDown.ts b/handlers/admin-post/doMoveLotTypeDown.ts index bae54b1e..d207875c 100644 --- a/handlers/admin-post/doMoveLotTypeDown.ts +++ b/handlers/admin-post/doMoveLotTypeDown.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordDown, @@ -6,13 +6,16 @@ import { } from '../../helpers/lotOccupancyDB/moveRecord.js' import { getLotTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom('LotTypes', request.body.lotTypeId) - : moveRecordDown('LotTypes', request.body.lotTypeId) + ? await moveRecordDownToBottom('LotTypes', request.body.lotTypeId) + : await moveRecordDown('LotTypes', request.body.lotTypeId) - const lotTypes = getLotTypes() + const lotTypes = await getLotTypes() response.json({ success, diff --git a/handlers/admin-post/doMoveLotTypeFieldDown.d.ts b/handlers/admin-post/doMoveLotTypeFieldDown.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveLotTypeFieldDown.d.ts +++ b/handlers/admin-post/doMoveLotTypeFieldDown.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveLotTypeFieldDown.js b/handlers/admin-post/doMoveLotTypeFieldDown.js index 948fffd0..8838e6c8 100644 --- a/handlers/admin-post/doMoveLotTypeFieldDown.js +++ b/handlers/admin-post/doMoveLotTypeFieldDown.js @@ -1,13 +1,13 @@ import { moveLotTypeFieldDown, moveLotTypeFieldDownToBottom } from '../../helpers/lotOccupancyDB/moveLotTypeField.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveLotTypeFieldDownToBottom(request.body.lotTypeFieldId) - : moveLotTypeFieldDown(request.body.lotTypeFieldId); - const lotTypes = getLotTypes(); + ? await moveLotTypeFieldDownToBottom(request.body.lotTypeFieldId) + : await moveLotTypeFieldDown(request.body.lotTypeFieldId); + const lotTypes = await getLotTypes(); response.json({ success, lotTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveLotTypeFieldDown.ts b/handlers/admin-post/doMoveLotTypeFieldDown.ts index eb1471a5..0ec2c3e5 100644 --- a/handlers/admin-post/doMoveLotTypeFieldDown.ts +++ b/handlers/admin-post/doMoveLotTypeFieldDown.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveLotTypeFieldDown, @@ -7,13 +7,16 @@ import { import { getLotTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveLotTypeFieldDownToBottom(request.body.lotTypeFieldId) - : moveLotTypeFieldDown(request.body.lotTypeFieldId) + ? await moveLotTypeFieldDownToBottom(request.body.lotTypeFieldId) + : await moveLotTypeFieldDown(request.body.lotTypeFieldId) - const lotTypes = getLotTypes() + const lotTypes = await getLotTypes() response.json({ success, diff --git a/handlers/admin-post/doMoveLotTypeFieldUp.d.ts b/handlers/admin-post/doMoveLotTypeFieldUp.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveLotTypeFieldUp.d.ts +++ b/handlers/admin-post/doMoveLotTypeFieldUp.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveLotTypeFieldUp.js b/handlers/admin-post/doMoveLotTypeFieldUp.js index cf0bc2b1..9bbc761c 100644 --- a/handlers/admin-post/doMoveLotTypeFieldUp.js +++ b/handlers/admin-post/doMoveLotTypeFieldUp.js @@ -1,13 +1,13 @@ import { moveLotTypeFieldUp, moveLotTypeFieldUpToTop } from '../../helpers/lotOccupancyDB/moveLotTypeField.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveLotTypeFieldUpToTop(request.body.lotTypeFieldId) - : moveLotTypeFieldUp(request.body.lotTypeFieldId); - const lotTypes = getLotTypes(); + ? await moveLotTypeFieldUpToTop(request.body.lotTypeFieldId) + : await moveLotTypeFieldUp(request.body.lotTypeFieldId); + const lotTypes = await getLotTypes(); response.json({ success, lotTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveLotTypeFieldUp.ts b/handlers/admin-post/doMoveLotTypeFieldUp.ts index 824d852c..67bf45de 100644 --- a/handlers/admin-post/doMoveLotTypeFieldUp.ts +++ b/handlers/admin-post/doMoveLotTypeFieldUp.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveLotTypeFieldUp, @@ -7,13 +7,16 @@ import { import { getLotTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveLotTypeFieldUpToTop(request.body.lotTypeFieldId) - : moveLotTypeFieldUp(request.body.lotTypeFieldId) + ? await moveLotTypeFieldUpToTop(request.body.lotTypeFieldId) + : await moveLotTypeFieldUp(request.body.lotTypeFieldId) - const lotTypes = getLotTypes() + const lotTypes = await getLotTypes() response.json({ success, diff --git a/handlers/admin-post/doMoveLotTypeUp.d.ts b/handlers/admin-post/doMoveLotTypeUp.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveLotTypeUp.d.ts +++ b/handlers/admin-post/doMoveLotTypeUp.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveLotTypeUp.js b/handlers/admin-post/doMoveLotTypeUp.js index c2ea4d80..e633007c 100644 --- a/handlers/admin-post/doMoveLotTypeUp.js +++ b/handlers/admin-post/doMoveLotTypeUp.js @@ -1,13 +1,13 @@ import { moveRecordUp, moveRecordUpToTop } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('LotTypes', request.body.lotTypeId) - : moveRecordUp('LotTypes', request.body.lotTypeId); - const lotTypes = getLotTypes(); + ? await moveRecordUpToTop('LotTypes', request.body.lotTypeId) + : await moveRecordUp('LotTypes', request.body.lotTypeId); + const lotTypes = await getLotTypes(); response.json({ success, lotTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveLotTypeUp.ts b/handlers/admin-post/doMoveLotTypeUp.ts index 105186d5..aac886b8 100644 --- a/handlers/admin-post/doMoveLotTypeUp.ts +++ b/handlers/admin-post/doMoveLotTypeUp.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordUp, @@ -6,13 +6,16 @@ import { } from '../../helpers/lotOccupancyDB/moveRecord.js' import { getLotTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('LotTypes', request.body.lotTypeId) - : moveRecordUp('LotTypes', request.body.lotTypeId) + ? await moveRecordUpToTop('LotTypes', request.body.lotTypeId) + : await moveRecordUp('LotTypes', request.body.lotTypeId) - const lotTypes = getLotTypes() + const lotTypes = await getLotTypes() response.json({ success, diff --git a/handlers/admin-post/doMoveOccupancyTypeDown.d.ts b/handlers/admin-post/doMoveOccupancyTypeDown.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveOccupancyTypeDown.d.ts +++ b/handlers/admin-post/doMoveOccupancyTypeDown.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveOccupancyTypeDown.js b/handlers/admin-post/doMoveOccupancyTypeDown.js index a2076ffc..26988295 100644 --- a/handlers/admin-post/doMoveOccupancyTypeDown.js +++ b/handlers/admin-post/doMoveOccupancyTypeDown.js @@ -1,15 +1,15 @@ import { moveRecordDown, moveRecordDownToBottom } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom('OccupancyTypes', request.body.occupancyTypeId) - : moveRecordDown('OccupancyTypes', request.body.occupancyTypeId); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); + ? await moveRecordDownToBottom('OccupancyTypes', request.body.occupancyTypeId) + : await moveRecordDown('OccupancyTypes', request.body.occupancyTypeId); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveOccupancyTypeDown.ts b/handlers/admin-post/doMoveOccupancyTypeDown.ts index ff2777ad..69f1def1 100644 --- a/handlers/admin-post/doMoveOccupancyTypeDown.ts +++ b/handlers/admin-post/doMoveOccupancyTypeDown.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordDown, @@ -9,14 +9,17 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom('OccupancyTypes', request.body.occupancyTypeId) - : moveRecordDown('OccupancyTypes', request.body.occupancyTypeId) + ? await moveRecordDownToBottom('OccupancyTypes', request.body.occupancyTypeId) + : await moveRecordDown('OccupancyTypes', request.body.occupancyTypeId) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success, diff --git a/handlers/admin-post/doMoveOccupancyTypeFieldDown.d.ts b/handlers/admin-post/doMoveOccupancyTypeFieldDown.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveOccupancyTypeFieldDown.d.ts +++ b/handlers/admin-post/doMoveOccupancyTypeFieldDown.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveOccupancyTypeFieldDown.js b/handlers/admin-post/doMoveOccupancyTypeFieldDown.js index 673faa27..09a41bf2 100644 --- a/handlers/admin-post/doMoveOccupancyTypeFieldDown.js +++ b/handlers/admin-post/doMoveOccupancyTypeFieldDown.js @@ -1,16 +1,16 @@ import { moveOccupancyTypeFieldDown, moveOccupancyTypeFieldDownToBottom } from '../../helpers/lotOccupancyDB/moveOccupancyTypeField.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const occupancyTypeFieldId = Number.parseInt(request.body.occupancyTypeFieldId, 10); const success = request.body.moveToEnd === '1' - ? moveOccupancyTypeFieldDownToBottom(occupancyTypeFieldId) - : moveOccupancyTypeFieldDown(occupancyTypeFieldId); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); + ? await moveOccupancyTypeFieldDownToBottom(occupancyTypeFieldId) + : await moveOccupancyTypeFieldDown(occupancyTypeFieldId); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveOccupancyTypeFieldDown.ts b/handlers/admin-post/doMoveOccupancyTypeFieldDown.ts index 7d81c455..93031bd3 100644 --- a/handlers/admin-post/doMoveOccupancyTypeFieldDown.ts +++ b/handlers/admin-post/doMoveOccupancyTypeFieldDown.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveOccupancyTypeFieldDown, @@ -10,7 +10,10 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const occupancyTypeFieldId = Number.parseInt( request.body.occupancyTypeFieldId, 10 @@ -18,11 +21,11 @@ export const handler: RequestHandler = (request, response) => { const success = request.body.moveToEnd === '1' - ? moveOccupancyTypeFieldDownToBottom(occupancyTypeFieldId) - : moveOccupancyTypeFieldDown(occupancyTypeFieldId) + ? await moveOccupancyTypeFieldDownToBottom(occupancyTypeFieldId) + : await moveOccupancyTypeFieldDown(occupancyTypeFieldId) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success, diff --git a/handlers/admin-post/doMoveOccupancyTypeFieldUp.d.ts b/handlers/admin-post/doMoveOccupancyTypeFieldUp.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveOccupancyTypeFieldUp.d.ts +++ b/handlers/admin-post/doMoveOccupancyTypeFieldUp.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveOccupancyTypeFieldUp.js b/handlers/admin-post/doMoveOccupancyTypeFieldUp.js index bfca7a3e..81f119e7 100644 --- a/handlers/admin-post/doMoveOccupancyTypeFieldUp.js +++ b/handlers/admin-post/doMoveOccupancyTypeFieldUp.js @@ -1,16 +1,16 @@ import { moveOccupancyTypeFieldUp, moveOccupancyTypeFieldUpToTop } from '../../helpers/lotOccupancyDB/moveOccupancyTypeField.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const occupancyTypeFieldId = Number.parseInt(request.body.occupancyTypeFieldId, 10); const success = request.body.moveToEnd === '1' - ? moveOccupancyTypeFieldUpToTop(occupancyTypeFieldId) - : moveOccupancyTypeFieldUp(occupancyTypeFieldId); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); + ? await moveOccupancyTypeFieldUpToTop(occupancyTypeFieldId) + : await moveOccupancyTypeFieldUp(occupancyTypeFieldId); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveOccupancyTypeFieldUp.ts b/handlers/admin-post/doMoveOccupancyTypeFieldUp.ts index 9183bcc9..ea6f751c 100644 --- a/handlers/admin-post/doMoveOccupancyTypeFieldUp.ts +++ b/handlers/admin-post/doMoveOccupancyTypeFieldUp.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveOccupancyTypeFieldUp, @@ -10,7 +10,10 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const occupancyTypeFieldId = Number.parseInt( request.body.occupancyTypeFieldId, 10 @@ -18,11 +21,11 @@ export const handler: RequestHandler = (request, response) => { const success = request.body.moveToEnd === '1' - ? moveOccupancyTypeFieldUpToTop(occupancyTypeFieldId) - : moveOccupancyTypeFieldUp(occupancyTypeFieldId) + ? await moveOccupancyTypeFieldUpToTop(occupancyTypeFieldId) + : await moveOccupancyTypeFieldUp(occupancyTypeFieldId) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success, diff --git a/handlers/admin-post/doMoveOccupancyTypePrintDown.d.ts b/handlers/admin-post/doMoveOccupancyTypePrintDown.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveOccupancyTypePrintDown.d.ts +++ b/handlers/admin-post/doMoveOccupancyTypePrintDown.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveOccupancyTypePrintDown.js b/handlers/admin-post/doMoveOccupancyTypePrintDown.js index cd3f0caa..92ca69a9 100644 --- a/handlers/admin-post/doMoveOccupancyTypePrintDown.js +++ b/handlers/admin-post/doMoveOccupancyTypePrintDown.js @@ -1,15 +1,15 @@ import { moveOccupancyTypePrintDown, moveOccupancyTypePrintDownToBottom } from '../../helpers/lotOccupancyDB/moveOccupancyTypePrintDown.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveOccupancyTypePrintDownToBottom(request.body.occupancyTypeId, request.body.printEJS) - : moveOccupancyTypePrintDown(request.body.occupancyTypeId, request.body.printEJS); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); + ? await moveOccupancyTypePrintDownToBottom(request.body.occupancyTypeId, request.body.printEJS) + : await moveOccupancyTypePrintDown(request.body.occupancyTypeId, request.body.printEJS); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveOccupancyTypePrintDown.ts b/handlers/admin-post/doMoveOccupancyTypePrintDown.ts index 84987593..235b1c77 100644 --- a/handlers/admin-post/doMoveOccupancyTypePrintDown.ts +++ b/handlers/admin-post/doMoveOccupancyTypePrintDown.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/indent */ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveOccupancyTypePrintDown, @@ -12,20 +12,23 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveOccupancyTypePrintDownToBottom( + ? await moveOccupancyTypePrintDownToBottom( request.body.occupancyTypeId, request.body.printEJS ) - : moveOccupancyTypePrintDown( + : await moveOccupancyTypePrintDown( request.body.occupancyTypeId, request.body.printEJS ) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success, diff --git a/handlers/admin-post/doMoveOccupancyTypePrintUp.d.ts b/handlers/admin-post/doMoveOccupancyTypePrintUp.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveOccupancyTypePrintUp.d.ts +++ b/handlers/admin-post/doMoveOccupancyTypePrintUp.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveOccupancyTypePrintUp.js b/handlers/admin-post/doMoveOccupancyTypePrintUp.js index a3293264..3dc8c462 100644 --- a/handlers/admin-post/doMoveOccupancyTypePrintUp.js +++ b/handlers/admin-post/doMoveOccupancyTypePrintUp.js @@ -1,15 +1,15 @@ import { moveOccupancyTypePrintUp, moveOccupancyTypePrintUpToTop } from '../../helpers/lotOccupancyDB/moveOccupancyTypePrintUp.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveOccupancyTypePrintUpToTop(request.body.occupancyTypeId, request.body.printEJS) - : moveOccupancyTypePrintUp(request.body.occupancyTypeId, request.body.printEJS); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); + ? await moveOccupancyTypePrintUpToTop(request.body.occupancyTypeId, request.body.printEJS) + : await moveOccupancyTypePrintUp(request.body.occupancyTypeId, request.body.printEJS); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveOccupancyTypePrintUp.ts b/handlers/admin-post/doMoveOccupancyTypePrintUp.ts index e9da4188..e5de4772 100644 --- a/handlers/admin-post/doMoveOccupancyTypePrintUp.ts +++ b/handlers/admin-post/doMoveOccupancyTypePrintUp.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/indent */ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveOccupancyTypePrintUp, @@ -12,20 +12,23 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveOccupancyTypePrintUpToTop( + ? await moveOccupancyTypePrintUpToTop( request.body.occupancyTypeId, request.body.printEJS ) - : moveOccupancyTypePrintUp( + : await moveOccupancyTypePrintUp( request.body.occupancyTypeId, request.body.printEJS ) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success, diff --git a/handlers/admin-post/doMoveOccupancyTypeUp.d.ts b/handlers/admin-post/doMoveOccupancyTypeUp.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveOccupancyTypeUp.d.ts +++ b/handlers/admin-post/doMoveOccupancyTypeUp.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveOccupancyTypeUp.js b/handlers/admin-post/doMoveOccupancyTypeUp.js index 41a37e92..b16848ef 100644 --- a/handlers/admin-post/doMoveOccupancyTypeUp.js +++ b/handlers/admin-post/doMoveOccupancyTypeUp.js @@ -1,15 +1,15 @@ import { moveRecordUp, moveRecordUpToTop } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('OccupancyTypes', request.body.occupancyTypeId) - : moveRecordUp('OccupancyTypes', request.body.occupancyTypeId); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); + ? await moveRecordUpToTop('OccupancyTypes', request.body.occupancyTypeId) + : await moveRecordUp('OccupancyTypes', request.body.occupancyTypeId); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveOccupancyTypeUp.ts b/handlers/admin-post/doMoveOccupancyTypeUp.ts index d6bc24b6..e35fdcca 100644 --- a/handlers/admin-post/doMoveOccupancyTypeUp.ts +++ b/handlers/admin-post/doMoveOccupancyTypeUp.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordUp, @@ -9,14 +9,17 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('OccupancyTypes', request.body.occupancyTypeId) - : moveRecordUp('OccupancyTypes', request.body.occupancyTypeId) + ? await moveRecordUpToTop('OccupancyTypes', request.body.occupancyTypeId) + : await moveRecordUp('OccupancyTypes', request.body.occupancyTypeId) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success, diff --git a/handlers/admin-post/doMoveWorkOrderMilestoneTypeDown.d.ts b/handlers/admin-post/doMoveWorkOrderMilestoneTypeDown.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveWorkOrderMilestoneTypeDown.d.ts +++ b/handlers/admin-post/doMoveWorkOrderMilestoneTypeDown.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveWorkOrderMilestoneTypeDown.js b/handlers/admin-post/doMoveWorkOrderMilestoneTypeDown.js index e437a465..614481af 100644 --- a/handlers/admin-post/doMoveWorkOrderMilestoneTypeDown.js +++ b/handlers/admin-post/doMoveWorkOrderMilestoneTypeDown.js @@ -1,13 +1,13 @@ import { moveRecordDown, moveRecordDownToBottom } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId) - : moveRecordDown('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId); - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes(); + ? await moveRecordDownToBottom('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId) + : await moveRecordDown('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId); + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); response.json({ success, workOrderMilestoneTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveWorkOrderMilestoneTypeDown.ts b/handlers/admin-post/doMoveWorkOrderMilestoneTypeDown.ts index 2287886a..81f2dd7f 100644 --- a/handlers/admin-post/doMoveWorkOrderMilestoneTypeDown.ts +++ b/handlers/admin-post/doMoveWorkOrderMilestoneTypeDown.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/indent */ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordDown, @@ -8,19 +8,22 @@ import { } from '../../helpers/lotOccupancyDB/moveRecord.js' import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom( + ? await moveRecordDownToBottom( 'WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId ) - : moveRecordDown( + : await moveRecordDown( 'WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId ) - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes() + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes() response.json({ success, diff --git a/handlers/admin-post/doMoveWorkOrderMilestoneTypeUp.d.ts b/handlers/admin-post/doMoveWorkOrderMilestoneTypeUp.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveWorkOrderMilestoneTypeUp.d.ts +++ b/handlers/admin-post/doMoveWorkOrderMilestoneTypeUp.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveWorkOrderMilestoneTypeUp.js b/handlers/admin-post/doMoveWorkOrderMilestoneTypeUp.js index 209fb16d..fba6f841 100644 --- a/handlers/admin-post/doMoveWorkOrderMilestoneTypeUp.js +++ b/handlers/admin-post/doMoveWorkOrderMilestoneTypeUp.js @@ -1,13 +1,13 @@ import { moveRecordUp, moveRecordUpToTop } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId) - : moveRecordUp('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId); - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes(); + ? await moveRecordUpToTop('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId) + : await moveRecordUp('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId); + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); response.json({ success, workOrderMilestoneTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveWorkOrderMilestoneTypeUp.ts b/handlers/admin-post/doMoveWorkOrderMilestoneTypeUp.ts index ff42217c..c1837e6c 100644 --- a/handlers/admin-post/doMoveWorkOrderMilestoneTypeUp.ts +++ b/handlers/admin-post/doMoveWorkOrderMilestoneTypeUp.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/indent */ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordUp, @@ -8,19 +8,22 @@ import { } from '../../helpers/lotOccupancyDB/moveRecord.js' import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop( + ? await moveRecordUpToTop( 'WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId ) - : moveRecordUp( + : await moveRecordUp( 'WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId ) - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes() + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes() response.json({ success, diff --git a/handlers/admin-post/doMoveWorkOrderTypeDown.d.ts b/handlers/admin-post/doMoveWorkOrderTypeDown.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveWorkOrderTypeDown.d.ts +++ b/handlers/admin-post/doMoveWorkOrderTypeDown.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveWorkOrderTypeDown.js b/handlers/admin-post/doMoveWorkOrderTypeDown.js index ba7b7a41..b0f84d52 100644 --- a/handlers/admin-post/doMoveWorkOrderTypeDown.js +++ b/handlers/admin-post/doMoveWorkOrderTypeDown.js @@ -1,13 +1,13 @@ import { moveRecordDown, moveRecordDownToBottom } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getWorkOrderTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom('WorkOrderTypes', request.body.workOrderTypeId) - : moveRecordDown('WorkOrderTypes', request.body.workOrderTypeId); - const workOrderTypes = getWorkOrderTypes(); + ? await moveRecordDownToBottom('WorkOrderTypes', request.body.workOrderTypeId) + : await moveRecordDown('WorkOrderTypes', request.body.workOrderTypeId); + const workOrderTypes = await getWorkOrderTypes(); response.json({ success, workOrderTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveWorkOrderTypeDown.ts b/handlers/admin-post/doMoveWorkOrderTypeDown.ts index aaab3cd5..c422e44e 100644 --- a/handlers/admin-post/doMoveWorkOrderTypeDown.ts +++ b/handlers/admin-post/doMoveWorkOrderTypeDown.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordDown, @@ -6,13 +6,16 @@ import { } from '../../helpers/lotOccupancyDB/moveRecord.js' import { getWorkOrderTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordDownToBottom('WorkOrderTypes', request.body.workOrderTypeId) - : moveRecordDown('WorkOrderTypes', request.body.workOrderTypeId) + ? await moveRecordDownToBottom('WorkOrderTypes', request.body.workOrderTypeId) + : await moveRecordDown('WorkOrderTypes', request.body.workOrderTypeId) - const workOrderTypes = getWorkOrderTypes() + const workOrderTypes = await getWorkOrderTypes() response.json({ success, diff --git a/handlers/admin-post/doMoveWorkOrderTypeUp.d.ts b/handlers/admin-post/doMoveWorkOrderTypeUp.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doMoveWorkOrderTypeUp.d.ts +++ b/handlers/admin-post/doMoveWorkOrderTypeUp.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doMoveWorkOrderTypeUp.js b/handlers/admin-post/doMoveWorkOrderTypeUp.js index 362d9230..4deb6db8 100644 --- a/handlers/admin-post/doMoveWorkOrderTypeUp.js +++ b/handlers/admin-post/doMoveWorkOrderTypeUp.js @@ -1,13 +1,13 @@ import { moveRecordUp, moveRecordUpToTop } from '../../helpers/lotOccupancyDB/moveRecord.js'; import { getWorkOrderTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('WorkOrderTypes', request.body.workOrderTypeId) - : moveRecordUp('WorkOrderTypes', request.body.workOrderTypeId); - const workOrderTypes = getWorkOrderTypes(); + ? await moveRecordUpToTop('WorkOrderTypes', request.body.workOrderTypeId) + : await moveRecordUp('WorkOrderTypes', request.body.workOrderTypeId); + const workOrderTypes = await getWorkOrderTypes(); response.json({ success, workOrderTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doMoveWorkOrderTypeUp.ts b/handlers/admin-post/doMoveWorkOrderTypeUp.ts index 1a71362f..a8babbcb 100644 --- a/handlers/admin-post/doMoveWorkOrderTypeUp.ts +++ b/handlers/admin-post/doMoveWorkOrderTypeUp.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { moveRecordUp, @@ -6,13 +6,16 @@ import { } from '../../helpers/lotOccupancyDB/moveRecord.js' import { getWorkOrderTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = request.body.moveToEnd === '1' - ? moveRecordUpToTop('WorkOrderTypes', request.body.workOrderTypeId) - : moveRecordUp('WorkOrderTypes', request.body.workOrderTypeId) + ? await moveRecordUpToTop('WorkOrderTypes', request.body.workOrderTypeId) + : await moveRecordUp('WorkOrderTypes', request.body.workOrderTypeId) - const workOrderTypes = getWorkOrderTypes() + const workOrderTypes = await getWorkOrderTypes() response.json({ success, diff --git a/handlers/admin-post/doUpdateFee.d.ts b/handlers/admin-post/doUpdateFee.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doUpdateFee.d.ts +++ b/handlers/admin-post/doUpdateFee.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doUpdateFee.js b/handlers/admin-post/doUpdateFee.js index 48df25ca..0a97be55 100644 --- a/handlers/admin-post/doUpdateFee.js +++ b/handlers/admin-post/doUpdateFee.js @@ -1,13 +1,13 @@ import { updateFee } from '../../helpers/lotOccupancyDB/updateFee.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; -export const handler = (request, response) => { - const success = updateFee(request.body, request.session); - const feeCategories = getFeeCategories({}, { +export async function handler(request, response) { + const success = await updateFee(request.body, request.session); + const feeCategories = await getFeeCategories({}, { includeFees: true }); response.json({ success, feeCategories }); -}; +} export default handler; diff --git a/handlers/admin-post/doUpdateFee.ts b/handlers/admin-post/doUpdateFee.ts index b75f37a2..0e5ce5c9 100644 --- a/handlers/admin-post/doUpdateFee.ts +++ b/handlers/admin-post/doUpdateFee.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateFee } from '../../helpers/lotOccupancyDB/updateFee.js' import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' -export const handler: RequestHandler = (request, response) => { - const success = updateFee(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateFee(request.body, request.session) - const feeCategories = getFeeCategories( + const feeCategories = await getFeeCategories( {}, { includeFees: true diff --git a/handlers/admin-post/doUpdateFeeCategory.d.ts b/handlers/admin-post/doUpdateFeeCategory.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doUpdateFeeCategory.d.ts +++ b/handlers/admin-post/doUpdateFeeCategory.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doUpdateFeeCategory.js b/handlers/admin-post/doUpdateFeeCategory.js index 30da6cb9..e0f9b1d4 100644 --- a/handlers/admin-post/doUpdateFeeCategory.js +++ b/handlers/admin-post/doUpdateFeeCategory.js @@ -1,13 +1,13 @@ import { updateFeeCategory } from '../../helpers/lotOccupancyDB/updateFeeCategory.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; -export const handler = (request, response) => { - const success = updateFeeCategory(request.body, request.session); - const feeCategories = getFeeCategories({}, { +export async function handler(request, response) { + const success = await updateFeeCategory(request.body, request.session); + const feeCategories = await getFeeCategories({}, { includeFees: true }); response.json({ success, feeCategories }); -}; +} export default handler; diff --git a/handlers/admin-post/doUpdateFeeCategory.ts b/handlers/admin-post/doUpdateFeeCategory.ts index 05cd43e9..671edc97 100644 --- a/handlers/admin-post/doUpdateFeeCategory.ts +++ b/handlers/admin-post/doUpdateFeeCategory.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateFeeCategory } from '../../helpers/lotOccupancyDB/updateFeeCategory.js' import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' -export const handler: RequestHandler = (request, response) => { - const success = updateFeeCategory(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateFeeCategory(request.body, request.session) - const feeCategories = getFeeCategories( + const feeCategories = await getFeeCategories( {}, { includeFees: true diff --git a/handlers/admin-post/doUpdateLotOccupantType.d.ts b/handlers/admin-post/doUpdateLotOccupantType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doUpdateLotOccupantType.d.ts +++ b/handlers/admin-post/doUpdateLotOccupantType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doUpdateLotOccupantType.js b/handlers/admin-post/doUpdateLotOccupantType.js index 6b4f9f70..3f9655d1 100644 --- a/handlers/admin-post/doUpdateLotOccupantType.js +++ b/handlers/admin-post/doUpdateLotOccupantType.js @@ -1,11 +1,11 @@ import { updateLotOccupantType } from '../../helpers/lotOccupancyDB/updateLotOccupantType.js'; import { getLotOccupantTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = updateLotOccupantType(request.body, request.session); - const lotOccupantTypes = getLotOccupantTypes(); +export async function handler(request, response) { + const success = await updateLotOccupantType(request.body, request.session); + const lotOccupantTypes = await getLotOccupantTypes(); response.json({ success, lotOccupantTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doUpdateLotOccupantType.ts b/handlers/admin-post/doUpdateLotOccupantType.ts index 6d2d399f..88d96f22 100644 --- a/handlers/admin-post/doUpdateLotOccupantType.ts +++ b/handlers/admin-post/doUpdateLotOccupantType.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateLotOccupantType } from '../../helpers/lotOccupancyDB/updateLotOccupantType.js' import { getLotOccupantTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = updateLotOccupantType(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateLotOccupantType(request.body, request.session) - const lotOccupantTypes = getLotOccupantTypes() + const lotOccupantTypes = await getLotOccupantTypes() response.json({ success, diff --git a/handlers/admin-post/doUpdateLotStatus.d.ts b/handlers/admin-post/doUpdateLotStatus.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doUpdateLotStatus.d.ts +++ b/handlers/admin-post/doUpdateLotStatus.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doUpdateLotStatus.js b/handlers/admin-post/doUpdateLotStatus.js index 84b98f2b..f6888f84 100644 --- a/handlers/admin-post/doUpdateLotStatus.js +++ b/handlers/admin-post/doUpdateLotStatus.js @@ -1,11 +1,11 @@ import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; import { getLotStatuses } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = updateRecord('LotStatuses', request.body.lotStatusId, request.body.lotStatus, request.session); - const lotStatuses = getLotStatuses(); +export async function handler(request, response) { + const success = await updateRecord('LotStatuses', request.body.lotStatusId, request.body.lotStatus, request.session); + const lotStatuses = await getLotStatuses(); response.json({ success, lotStatuses }); -}; +} export default handler; diff --git a/handlers/admin-post/doUpdateLotStatus.ts b/handlers/admin-post/doUpdateLotStatus.ts index ed89478a..5ac6cb9f 100644 --- a/handlers/admin-post/doUpdateLotStatus.ts +++ b/handlers/admin-post/doUpdateLotStatus.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' import { getLotStatuses } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = updateRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateRecord( 'LotStatuses', request.body.lotStatusId, request.body.lotStatus, request.session ) - const lotStatuses = getLotStatuses() + const lotStatuses = await getLotStatuses() response.json({ success, diff --git a/handlers/admin-post/doUpdateLotType.d.ts b/handlers/admin-post/doUpdateLotType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doUpdateLotType.d.ts +++ b/handlers/admin-post/doUpdateLotType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doUpdateLotType.js b/handlers/admin-post/doUpdateLotType.js index 5096bbeb..a20490f6 100644 --- a/handlers/admin-post/doUpdateLotType.js +++ b/handlers/admin-post/doUpdateLotType.js @@ -1,11 +1,11 @@ import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = updateRecord('LotTypes', request.body.lotTypeId, request.body.lotType, request.session); - const lotTypes = getLotTypes(); +export async function handler(request, response) { + const success = await updateRecord('LotTypes', request.body.lotTypeId, request.body.lotType, request.session); + const lotTypes = await getLotTypes(); response.json({ success, lotTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doUpdateLotType.ts b/handlers/admin-post/doUpdateLotType.ts index 32071c61..fa9e729e 100644 --- a/handlers/admin-post/doUpdateLotType.ts +++ b/handlers/admin-post/doUpdateLotType.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' import { getLotTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = updateRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateRecord( 'LotTypes', request.body.lotTypeId, request.body.lotType, request.session ) - const lotTypes = getLotTypes() + const lotTypes = await getLotTypes() response.json({ success, diff --git a/handlers/admin-post/doUpdateLotTypeField.d.ts b/handlers/admin-post/doUpdateLotTypeField.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doUpdateLotTypeField.d.ts +++ b/handlers/admin-post/doUpdateLotTypeField.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doUpdateLotTypeField.js b/handlers/admin-post/doUpdateLotTypeField.js index 0fee035b..efbdbd6e 100644 --- a/handlers/admin-post/doUpdateLotTypeField.js +++ b/handlers/admin-post/doUpdateLotTypeField.js @@ -1,11 +1,11 @@ import { updateLotTypeField } from '../../helpers/lotOccupancyDB/updateLotTypeField.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = updateLotTypeField(request.body, request.session); - const lotTypes = getLotTypes(); +export async function handler(request, response) { + const success = await updateLotTypeField(request.body, request.session); + const lotTypes = await getLotTypes(); response.json({ success, lotTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doUpdateLotTypeField.ts b/handlers/admin-post/doUpdateLotTypeField.ts index bbeb8634..8538e383 100644 --- a/handlers/admin-post/doUpdateLotTypeField.ts +++ b/handlers/admin-post/doUpdateLotTypeField.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateLotTypeField } from '../../helpers/lotOccupancyDB/updateLotTypeField.js' import { getLotTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = updateLotTypeField(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateLotTypeField(request.body, request.session) - const lotTypes = getLotTypes() + const lotTypes = await getLotTypes() response.json({ success, diff --git a/handlers/admin-post/doUpdateOccupancyType.d.ts b/handlers/admin-post/doUpdateOccupancyType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doUpdateOccupancyType.d.ts +++ b/handlers/admin-post/doUpdateOccupancyType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doUpdateOccupancyType.js b/handlers/admin-post/doUpdateOccupancyType.js index d919d550..2fb0dd20 100644 --- a/handlers/admin-post/doUpdateOccupancyType.js +++ b/handlers/admin-post/doUpdateOccupancyType.js @@ -1,13 +1,13 @@ import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = updateRecord('OccupancyTypes', request.body.occupancyTypeId, request.body.occupancyType, request.session); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); +export async function handler(request, response) { + const success = await updateRecord('OccupancyTypes', request.body.occupancyTypeId, request.body.occupancyType, request.session); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doUpdateOccupancyType.ts b/handlers/admin-post/doUpdateOccupancyType.ts index 68c208ec..f8fc6ae5 100644 --- a/handlers/admin-post/doUpdateOccupancyType.ts +++ b/handlers/admin-post/doUpdateOccupancyType.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' import { @@ -6,16 +6,19 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = updateRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateRecord( 'OccupancyTypes', request.body.occupancyTypeId, request.body.occupancyType, request.session ) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success, diff --git a/handlers/admin-post/doUpdateOccupancyTypeField.d.ts b/handlers/admin-post/doUpdateOccupancyTypeField.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doUpdateOccupancyTypeField.d.ts +++ b/handlers/admin-post/doUpdateOccupancyTypeField.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doUpdateOccupancyTypeField.js b/handlers/admin-post/doUpdateOccupancyTypeField.js index 3e9893c2..a2964079 100644 --- a/handlers/admin-post/doUpdateOccupancyTypeField.js +++ b/handlers/admin-post/doUpdateOccupancyTypeField.js @@ -1,13 +1,13 @@ import { updateOccupancyTypeField } from '../../helpers/lotOccupancyDB/updateOccupancyTypeField.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = updateOccupancyTypeField(request.body, request.session); - const occupancyTypes = getOccupancyTypes(); - const allOccupancyTypeFields = getAllOccupancyTypeFields(); +export async function handler(request, response) { + const success = await updateOccupancyTypeField(request.body, request.session); + const occupancyTypes = await getOccupancyTypes(); + const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ success, occupancyTypes, allOccupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/admin-post/doUpdateOccupancyTypeField.ts b/handlers/admin-post/doUpdateOccupancyTypeField.ts index e84e2fd1..4c370418 100644 --- a/handlers/admin-post/doUpdateOccupancyTypeField.ts +++ b/handlers/admin-post/doUpdateOccupancyTypeField.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateOccupancyTypeField } from '../../helpers/lotOccupancyDB/updateOccupancyTypeField.js' @@ -7,11 +7,14 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = updateOccupancyTypeField(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateOccupancyTypeField(request.body, request.session) - const occupancyTypes = getOccupancyTypes() - const allOccupancyTypeFields = getAllOccupancyTypeFields() + const occupancyTypes = await getOccupancyTypes() + const allOccupancyTypeFields = await getAllOccupancyTypeFields() response.json({ success, diff --git a/handlers/admin-post/doUpdateWorkOrderMilestoneType.d.ts b/handlers/admin-post/doUpdateWorkOrderMilestoneType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doUpdateWorkOrderMilestoneType.d.ts +++ b/handlers/admin-post/doUpdateWorkOrderMilestoneType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doUpdateWorkOrderMilestoneType.js b/handlers/admin-post/doUpdateWorkOrderMilestoneType.js index 5edbf3b2..e33a169a 100644 --- a/handlers/admin-post/doUpdateWorkOrderMilestoneType.js +++ b/handlers/admin-post/doUpdateWorkOrderMilestoneType.js @@ -1,11 +1,11 @@ import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = updateRecord('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId, request.body.workOrderMilestoneType, request.session); - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes(); +export async function handler(request, response) { + const success = await updateRecord('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId, request.body.workOrderMilestoneType, request.session); + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); response.json({ success, workOrderMilestoneTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doUpdateWorkOrderMilestoneType.ts b/handlers/admin-post/doUpdateWorkOrderMilestoneType.ts index 0adff575..50e9cab3 100644 --- a/handlers/admin-post/doUpdateWorkOrderMilestoneType.ts +++ b/handlers/admin-post/doUpdateWorkOrderMilestoneType.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = updateRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateRecord( 'WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId, request.body.workOrderMilestoneType, request.session ) - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes() + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes() response.json({ success, diff --git a/handlers/admin-post/doUpdateWorkOrderType.d.ts b/handlers/admin-post/doUpdateWorkOrderType.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/admin-post/doUpdateWorkOrderType.d.ts +++ b/handlers/admin-post/doUpdateWorkOrderType.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/admin-post/doUpdateWorkOrderType.js b/handlers/admin-post/doUpdateWorkOrderType.js index f3f86499..7bc0e1fa 100644 --- a/handlers/admin-post/doUpdateWorkOrderType.js +++ b/handlers/admin-post/doUpdateWorkOrderType.js @@ -1,11 +1,11 @@ import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; import { getWorkOrderTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const success = updateRecord('WorkOrderTypes', request.body.workOrderTypeId, request.body.workOrderType, request.session); - const workOrderTypes = getWorkOrderTypes(); +export async function handler(request, response) { + const success = await updateRecord('WorkOrderTypes', request.body.workOrderTypeId, request.body.workOrderType, request.session); + const workOrderTypes = await getWorkOrderTypes(); response.json({ success, workOrderTypes }); -}; +} export default handler; diff --git a/handlers/admin-post/doUpdateWorkOrderType.ts b/handlers/admin-post/doUpdateWorkOrderType.ts index 4d53101b..55c28b15 100644 --- a/handlers/admin-post/doUpdateWorkOrderType.ts +++ b/handlers/admin-post/doUpdateWorkOrderType.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' import { getWorkOrderTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const success = updateRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateRecord( 'WorkOrderTypes', request.body.workOrderTypeId, request.body.workOrderType, request.session ) - const workOrderTypes = getWorkOrderTypes() + const workOrderTypes = await getWorkOrderTypes() response.json({ success, diff --git a/handlers/api-get/milestoneICS.d.ts b/handlers/api-get/milestoneICS.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/api-get/milestoneICS.d.ts +++ b/handlers/api-get/milestoneICS.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/api-get/milestoneICS.js b/handlers/api-get/milestoneICS.js index 8cc1e74b..03ce98a8 100644 --- a/handlers/api-get/milestoneICS.js +++ b/handlers/api-get/milestoneICS.js @@ -185,7 +185,7 @@ function buildEventLocation(milestone) { } return lotNames.join(', '); } -export const handler = (request, response) => { +export async function handler(request, response) { const urlRoot = getUrlRoot(request); const workOrderMilestoneFilters = { workOrderTypeIds: request.query.workOrderTypeIds, @@ -197,7 +197,7 @@ export const handler = (request, response) => { else { workOrderMilestoneFilters.workOrderMilestoneDateFilter = 'recent'; } - const workOrderMilestones = getWorkOrderMilestones(workOrderMilestoneFilters, { + const workOrderMilestones = await getWorkOrderMilestones(workOrderMilestoneFilters, { includeWorkOrders: true, orderBy: 'date' }); @@ -279,5 +279,5 @@ export const handler = (request, response) => { } } calendar.serve(response); -}; +} export default handler; diff --git a/handlers/api-get/milestoneICS.ts b/handlers/api-get/milestoneICS.ts index 4e78c740..72e41850 100644 --- a/handlers/api-get/milestoneICS.ts +++ b/handlers/api-get/milestoneICS.ts @@ -7,7 +7,7 @@ import { WorkOrderMilestoneFilters } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js' -import type { RequestHandler, Request } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' import { getPrintConfig } from '../../helpers/functions.print.js' @@ -270,13 +270,12 @@ function buildEventLocation(milestone: recordTypes.WorkOrderMilestone): string { return lotNames.join(', ') } -export const handler: RequestHandler = (request, response) => { +export async function handler(request: Request, response: Response): Promise { const urlRoot = getUrlRoot(request) /* * Get work order milestones */ - const workOrderMilestoneFilters: WorkOrderMilestoneFilters = { workOrderTypeIds: request.query.workOrderTypeIds as string, workOrderMilestoneTypeIds: request.query.workOrderMilestoneTypeIds as string @@ -288,7 +287,7 @@ export const handler: RequestHandler = (request, response) => { workOrderMilestoneFilters.workOrderMilestoneDateFilter = 'recent' } - const workOrderMilestones = getWorkOrderMilestones( + const workOrderMilestones = await getWorkOrderMilestones( workOrderMilestoneFilters, { includeWorkOrders: true, @@ -299,7 +298,6 @@ export const handler: RequestHandler = (request, response) => { /* * Create calendar object */ - const calendar = ical({ name: 'Work Order Milestone Calendar', url: urlRoot + '/workOrders' @@ -318,7 +316,6 @@ export const handler: RequestHandler = (request, response) => { /* * Loop through milestones */ - for (const milestone of workOrderMilestones) { const milestoneTimePieces = ( milestone.workOrderMilestoneDateString + @@ -338,15 +335,12 @@ export const handler: RequestHandler = (request, response) => { milestoneEndDate.setHours(milestoneEndDate.getHours() + 1) // Build summary (title in Outlook) - const summary = buildEventSummary(milestone) // Build URL - const workOrderUrl = getWorkOrderUrl(request, milestone) // Create event - const eventData: ICalEventData = { start: milestoneDate, created: new Date(milestone.recordCreate_timeMillis), @@ -369,7 +363,6 @@ export const handler: RequestHandler = (request, response) => { const calendarEvent = calendar.createEvent(eventData) // Build description - const descriptionHTML = buildEventDescriptionHTML(request, milestone) calendarEvent.description({ @@ -378,13 +371,11 @@ export const handler: RequestHandler = (request, response) => { }) // Set status - if (milestone.workOrderMilestoneCompletionDate) { calendarEvent.status(ICalEventStatus.CONFIRMED) } // Add categories - const categories = buildEventCategoryList(milestone) for (const category of categories) { calendarEvent.createCategory({ @@ -393,12 +384,10 @@ export const handler: RequestHandler = (request, response) => { } // Set location - const location = buildEventLocation(milestone) calendarEvent.location(location) // Set organizer / attendees - if (milestone.workOrderLotOccupancies.length > 0) { let organizerSet = false for (const lotOccupancy of milestone.workOrderLotOccupancies) { diff --git a/handlers/dashboard-get/dashboard.d.ts b/handlers/dashboard-get/dashboard.d.ts index 7151ed90..c674b8e3 100644 --- a/handlers/dashboard-get/dashboard.d.ts +++ b/handlers/dashboard-get/dashboard.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(_request: Request, response: Response): Promise; export default handler; diff --git a/handlers/dashboard-get/dashboard.js b/handlers/dashboard-get/dashboard.js index 51ab8c68..93d40df2 100644 --- a/handlers/dashboard-get/dashboard.js +++ b/handlers/dashboard-get/dashboard.js @@ -1,25 +1,25 @@ import { dateToString } from '@cityssm/expressjs-server-js/dateTimeFns.js'; import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js'; import { getWorkOrders } from '../../helpers/lotOccupancyDB/getWorkOrders.js'; -export const handler = (_request, response) => { +export async function handler(_request, response) { const currentDateString = dateToString(new Date()); - const workOrderMilestones = getWorkOrderMilestones({ + const workOrderMilestones = await getWorkOrderMilestones({ workOrderMilestoneDateFilter: 'date', workOrderMilestoneDateString: currentDateString }, { orderBy: 'completion', includeWorkOrders: true }); - const workOrderCount = getWorkOrders({ + const workOrderResults = await getWorkOrders({ workOrderOpenDateString: currentDateString }, { limit: 1, offset: 0 - }).count; + }); response.render('dashboard', { headTitle: 'Dashboard', workOrderMilestones, - workOrderCount + workOrderCount: workOrderResults.count }); -}; +} export default handler; diff --git a/handlers/dashboard-get/dashboard.ts b/handlers/dashboard-get/dashboard.ts index f0d0ae1b..9dadba9e 100644 --- a/handlers/dashboard-get/dashboard.ts +++ b/handlers/dashboard-get/dashboard.ts @@ -1,14 +1,14 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { dateToString } from '@cityssm/expressjs-server-js/dateTimeFns.js' import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js' import { getWorkOrders } from '../../helpers/lotOccupancyDB/getWorkOrders.js' -export const handler: RequestHandler = (_request, response) => { +export async function handler(_request: Request, response: Response): Promise { const currentDateString = dateToString(new Date()) - const workOrderMilestones = getWorkOrderMilestones( + const workOrderMilestones = await getWorkOrderMilestones( { workOrderMilestoneDateFilter: 'date', workOrderMilestoneDateString: currentDateString @@ -19,7 +19,7 @@ export const handler: RequestHandler = (_request, response) => { } ) - const workOrderCount = getWorkOrders( + const workOrderResults = await getWorkOrders( { workOrderOpenDateString: currentDateString }, @@ -27,12 +27,12 @@ export const handler: RequestHandler = (_request, response) => { limit: 1, offset: 0 } - ).count + ) response.render('dashboard', { headTitle: 'Dashboard', workOrderMilestones, - workOrderCount + workOrderCount: workOrderResults.count }) } diff --git a/handlers/lotOccupancies-get/edit.d.ts b/handlers/lotOccupancies-get/edit.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-get/edit.d.ts +++ b/handlers/lotOccupancies-get/edit.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-get/edit.js b/handlers/lotOccupancies-get/edit.js index 782b6903..0760310a 100644 --- a/handlers/lotOccupancies-get/edit.js +++ b/handlers/lotOccupancies-get/edit.js @@ -2,19 +2,19 @@ import { getLotOccupantTypes, getLotStatuses, getLotTypes, getOccupancyTypePrint import * as configFunctions from '../../helpers/functions.config.js'; import { getLotOccupancy } from '../../helpers/lotOccupancyDB/getLotOccupancy.js'; import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js'; -export const handler = (request, response) => { - const lotOccupancy = getLotOccupancy(request.params.lotOccupancyId); +export async function handler(request, response) { + const lotOccupancy = await getLotOccupancy(request.params.lotOccupancyId); if (!lotOccupancy) { response.redirect(`${configFunctions.getProperty('reverseProxy.urlPrefix')}/lotOccupancies/?error=lotOccupancyIdNotFound`); return; } - const occupancyTypePrints = getOccupancyTypePrintsById(lotOccupancy.occupancyTypeId); - const occupancyTypes = getOccupancyTypes(); - const lotOccupantTypes = getLotOccupantTypes(); - const lotTypes = getLotTypes(); - const lotStatuses = getLotStatuses(); - const maps = getMaps(); - const workOrderTypes = getWorkOrderTypes(); + const occupancyTypePrints = await getOccupancyTypePrintsById(lotOccupancy.occupancyTypeId); + const occupancyTypes = await getOccupancyTypes(); + const lotOccupantTypes = await getLotOccupantTypes(); + const lotTypes = await getLotTypes(); + const lotStatuses = await getLotStatuses(); + const maps = await getMaps(); + const workOrderTypes = await getWorkOrderTypes(); response.render('lotOccupancy-edit', { headTitle: `${configFunctions.getProperty('aliases.occupancy')} Update`, lotOccupancy, @@ -27,5 +27,5 @@ export const handler = (request, response) => { workOrderTypes, isCreate: false }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-get/edit.ts b/handlers/lotOccupancies-get/edit.ts index af532e69..ccc49e8c 100644 --- a/handlers/lotOccupancies-get/edit.ts +++ b/handlers/lotOccupancies-get/edit.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getLotOccupantTypes, @@ -14,8 +14,8 @@ import * as configFunctions from '../../helpers/functions.config.js' import { getLotOccupancy } from '../../helpers/lotOccupancyDB/getLotOccupancy.js' import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js' -export const handler: RequestHandler = (request, response) => { - const lotOccupancy = getLotOccupancy(request.params.lotOccupancyId) +export async function handler(request: Request, response: Response): Promise { + const lotOccupancy = await getLotOccupancy(request.params.lotOccupancyId) if (!lotOccupancy) { response.redirect( @@ -26,16 +26,16 @@ export const handler: RequestHandler = (request, response) => { return } - const occupancyTypePrints = getOccupancyTypePrintsById( + const occupancyTypePrints = await getOccupancyTypePrintsById( lotOccupancy.occupancyTypeId! ) - const occupancyTypes = getOccupancyTypes() - const lotOccupantTypes = getLotOccupantTypes() - const lotTypes = getLotTypes() - const lotStatuses = getLotStatuses() - const maps = getMaps() - const workOrderTypes = getWorkOrderTypes() + const occupancyTypes = await getOccupancyTypes() + const lotOccupantTypes = await getLotOccupantTypes() + const lotTypes = await getLotTypes() + const lotStatuses = await getLotStatuses() + const maps = await getMaps() + const workOrderTypes = await getWorkOrderTypes() response.render('lotOccupancy-edit', { headTitle: `${configFunctions.getProperty('aliases.occupancy')} Update`, diff --git a/handlers/lotOccupancies-get/new.d.ts b/handlers/lotOccupancies-get/new.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-get/new.d.ts +++ b/handlers/lotOccupancies-get/new.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-get/new.js b/handlers/lotOccupancies-get/new.js index 33d8f6da..3ce0de4f 100644 --- a/handlers/lotOccupancies-get/new.js +++ b/handlers/lotOccupancies-get/new.js @@ -3,14 +3,14 @@ import { getLotOccupantTypes, getLotStatuses, getLotTypes, getOccupancyTypes } f import { getLot } from '../../helpers/lotOccupancyDB/getLot.js'; import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js'; import * as configFunctions from '../../helpers/functions.config.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const startDate = new Date(); const lotOccupancy = { occupancyStartDate: dateToInteger(startDate), occupancyStartDateString: dateToString(startDate) }; if (request.query.lotId) { - const lot = getLot(request.query.lotId); + const lot = await getLot(request.query.lotId); if (lot) { lotOccupancy.lotId = lot.lotId; lotOccupancy.lotName = lot.lotName; @@ -18,11 +18,11 @@ export const handler = (request, response) => { lotOccupancy.mapName = lot.mapName; } } - const occupancyTypes = getOccupancyTypes(); - const lotOccupantTypes = getLotOccupantTypes(); - const lotTypes = getLotTypes(); - const lotStatuses = getLotStatuses(); - const maps = getMaps(); + const occupancyTypes = await getOccupancyTypes(); + const lotOccupantTypes = await getLotOccupantTypes(); + const lotTypes = await getLotTypes(); + const lotStatuses = await getLotStatuses(); + const maps = await getMaps(); response.render('lotOccupancy-edit', { headTitle: `Create a New ${configFunctions.getProperty('aliases.occupancy')} Record`, lotOccupancy, @@ -33,5 +33,5 @@ export const handler = (request, response) => { maps, isCreate: true }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-get/new.ts b/handlers/lotOccupancies-get/new.ts index d7b7a17b..d7b05c00 100644 --- a/handlers/lotOccupancies-get/new.ts +++ b/handlers/lotOccupancies-get/new.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { dateToInteger, @@ -19,7 +19,10 @@ import * as configFunctions from '../../helpers/functions.config.js' import type * as recordTypes from '../../types/recordTypes' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const startDate = new Date() const lotOccupancy: recordTypes.LotOccupancy = { @@ -28,7 +31,7 @@ export const handler: RequestHandler = (request, response) => { } if (request.query.lotId) { - const lot = getLot(request.query.lotId as string) + const lot = await getLot(request.query.lotId as string) if (lot) { lotOccupancy.lotId = lot.lotId @@ -38,11 +41,11 @@ export const handler: RequestHandler = (request, response) => { } } - const occupancyTypes = getOccupancyTypes() - const lotOccupantTypes = getLotOccupantTypes() - const lotTypes = getLotTypes() - const lotStatuses = getLotStatuses() - const maps = getMaps() + const occupancyTypes = await getOccupancyTypes() + const lotOccupantTypes = await getLotOccupantTypes() + const lotTypes = await getLotTypes() + const lotStatuses = await getLotStatuses() + const maps = await getMaps() response.render('lotOccupancy-edit', { headTitle: `Create a New ${configFunctions.getProperty( diff --git a/handlers/lotOccupancies-get/search.d.ts b/handlers/lotOccupancies-get/search.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-get/search.d.ts +++ b/handlers/lotOccupancies-get/search.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-get/search.js b/handlers/lotOccupancies-get/search.js index 0396d7e9..c8d0d178 100644 --- a/handlers/lotOccupancies-get/search.js +++ b/handlers/lotOccupancies-get/search.js @@ -1,10 +1,10 @@ import * as configFunctions from '../../helpers/functions.config.js'; import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js'; import { getLotTypes, getOccupancyTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const maps = getMaps(); - const lotTypes = getLotTypes(); - const occupancyTypes = getOccupancyTypes(); +export async function handler(request, response) { + const maps = await getMaps(); + const lotTypes = await getLotTypes(); + const occupancyTypes = await getOccupancyTypes(); response.render('lotOccupancy-search', { headTitle: configFunctions.getProperty('aliases.occupancy') + ' Search', maps, @@ -12,5 +12,5 @@ export const handler = (request, response) => { occupancyTypes, mapId: request.query.mapId }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-get/search.ts b/handlers/lotOccupancies-get/search.ts index 09d96157..035f8a5f 100644 --- a/handlers/lotOccupancies-get/search.ts +++ b/handlers/lotOccupancies-get/search.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' @@ -9,10 +9,13 @@ import { getOccupancyTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const maps = getMaps() - const lotTypes = getLotTypes() - const occupancyTypes = getOccupancyTypes() +export async function handler( + request: Request, + response: Response +): Promise { + const maps = await getMaps() + const lotTypes = await getLotTypes() + const occupancyTypes = await getOccupancyTypes() response.render('lotOccupancy-search', { headTitle: configFunctions.getProperty('aliases.occupancy') + ' Search', diff --git a/handlers/lotOccupancies-get/view.d.ts b/handlers/lotOccupancies-get/view.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-get/view.d.ts +++ b/handlers/lotOccupancies-get/view.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-get/view.js b/handlers/lotOccupancies-get/view.js index 3b58f5b5..47949a30 100644 --- a/handlers/lotOccupancies-get/view.js +++ b/handlers/lotOccupancies-get/view.js @@ -1,18 +1,18 @@ import { getOccupancyTypePrintsById } from '../../helpers/functions.cache.js'; import * as configFunctions from '../../helpers/functions.config.js'; import { getLotOccupancy } from '../../helpers/lotOccupancyDB/getLotOccupancy.js'; -export const handler = (request, response) => { - const lotOccupancy = getLotOccupancy(request.params.lotOccupancyId); +export async function handler(request, response) { + const lotOccupancy = await getLotOccupancy(request.params.lotOccupancyId); if (!lotOccupancy) { response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') + '/lotOccupancies/?error=lotOccupancyIdNotFound'); return; } - const occupancyTypePrints = getOccupancyTypePrintsById(lotOccupancy.occupancyTypeId); + const occupancyTypePrints = await getOccupancyTypePrintsById(lotOccupancy.occupancyTypeId); response.render('lotOccupancy-view', { headTitle: `${configFunctions.getProperty('aliases.occupancy')} View`, lotOccupancy, occupancyTypePrints }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-get/view.ts b/handlers/lotOccupancies-get/view.ts index ec998401..08fadd40 100644 --- a/handlers/lotOccupancies-get/view.ts +++ b/handlers/lotOccupancies-get/view.ts @@ -1,12 +1,15 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getOccupancyTypePrintsById } from '../../helpers/functions.cache.js' import * as configFunctions from '../../helpers/functions.config.js' import { getLotOccupancy } from '../../helpers/lotOccupancyDB/getLotOccupancy.js' -export const handler: RequestHandler = (request, response) => { - const lotOccupancy = getLotOccupancy(request.params.lotOccupancyId) +export async function handler( + request: Request, + response: Response +): Promise { + const lotOccupancy = await getLotOccupancy(request.params.lotOccupancyId) if (!lotOccupancy) { response.redirect( @@ -16,7 +19,7 @@ export const handler: RequestHandler = (request, response) => { return } - const occupancyTypePrints = getOccupancyTypePrintsById( + const occupancyTypePrints = await getOccupancyTypePrintsById( lotOccupancy.occupancyTypeId! ) diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyComment.d.ts b/handlers/lotOccupancies-post/doAddLotOccupancyComment.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyComment.d.ts +++ b/handlers/lotOccupancies-post/doAddLotOccupancyComment.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyComment.js b/handlers/lotOccupancies-post/doAddLotOccupancyComment.js index a433a8f9..52a3c676 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyComment.js +++ b/handlers/lotOccupancies-post/doAddLotOccupancyComment.js @@ -1,11 +1,11 @@ import { addLotOccupancyComment } from '../../helpers/lotOccupancyDB/addLotOccupancyComment.js'; import { getLotOccupancyComments } from '../../helpers/lotOccupancyDB/getLotOccupancyComments.js'; -export const handler = (request, response) => { - addLotOccupancyComment(request.body, request.session); - const lotOccupancyComments = getLotOccupancyComments(request.body.lotOccupancyId); +export async function handler(request, response) { + await addLotOccupancyComment(request.body, request.session); + const lotOccupancyComments = await getLotOccupancyComments(request.body.lotOccupancyId); response.json({ success: true, lotOccupancyComments }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyComment.ts b/handlers/lotOccupancies-post/doAddLotOccupancyComment.ts index 975c7359..019580a0 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyComment.ts +++ b/handlers/lotOccupancies-post/doAddLotOccupancyComment.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addLotOccupancyComment } from '../../helpers/lotOccupancyDB/addLotOccupancyComment.js' import { getLotOccupancyComments } from '../../helpers/lotOccupancyDB/getLotOccupancyComments.js' -export const handler: RequestHandler = (request, response) => { - addLotOccupancyComment(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + await addLotOccupancyComment(request.body, request.session) - const lotOccupancyComments = getLotOccupancyComments( + const lotOccupancyComments = await getLotOccupancyComments( request.body.lotOccupancyId ) diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyFee.d.ts b/handlers/lotOccupancies-post/doAddLotOccupancyFee.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyFee.d.ts +++ b/handlers/lotOccupancies-post/doAddLotOccupancyFee.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyFee.js b/handlers/lotOccupancies-post/doAddLotOccupancyFee.js index 8ef933ed..e667dc37 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyFee.js +++ b/handlers/lotOccupancies-post/doAddLotOccupancyFee.js @@ -1,11 +1,11 @@ import { addLotOccupancyFee } from '../../helpers/lotOccupancyDB/addLotOccupancyFee.js'; import { getLotOccupancyFees } from '../../helpers/lotOccupancyDB/getLotOccupancyFees.js'; -export const handler = (request, response) => { - addLotOccupancyFee(request.body, request.session); - const lotOccupancyFees = getLotOccupancyFees(request.body.lotOccupancyId); +export async function handler(request, response) { + await addLotOccupancyFee(request.body, request.session); + const lotOccupancyFees = await getLotOccupancyFees(request.body.lotOccupancyId); response.json({ success: true, lotOccupancyFees }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyFee.ts b/handlers/lotOccupancies-post/doAddLotOccupancyFee.ts index ab14e5e5..1335860f 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyFee.ts +++ b/handlers/lotOccupancies-post/doAddLotOccupancyFee.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addLotOccupancyFee } from '../../helpers/lotOccupancyDB/addLotOccupancyFee.js' import { getLotOccupancyFees } from '../../helpers/lotOccupancyDB/getLotOccupancyFees.js' -export const handler: RequestHandler = (request, response) => { - addLotOccupancyFee(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + await addLotOccupancyFee(request.body, request.session) - const lotOccupancyFees = getLotOccupancyFees(request.body.lotOccupancyId) + const lotOccupancyFees = await getLotOccupancyFees(request.body.lotOccupancyId) response.json({ success: true, diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.d.ts b/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.d.ts +++ b/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.js b/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.js index 2ad9da77..391a5105 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.js +++ b/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.js @@ -1,11 +1,11 @@ import { addLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/addLotOccupancyOccupant.js'; import { getLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getLotOccupancyOccupants.js'; -export const handler = (request, response) => { - addLotOccupancyOccupant(request.body, request.session); - const lotOccupancyOccupants = getLotOccupancyOccupants(request.body.lotOccupancyId); +export async function handler(request, response) { + await addLotOccupancyOccupant(request.body, request.session); + const lotOccupancyOccupants = await getLotOccupancyOccupants(request.body.lotOccupancyId); response.json({ success: true, lotOccupancyOccupants }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.ts b/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.ts index 06d32145..7efc3c0e 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.ts +++ b/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/addLotOccupancyOccupant.js' import { getLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getLotOccupancyOccupants.js' -export const handler: RequestHandler = (request, response) => { - addLotOccupancyOccupant(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + await addLotOccupancyOccupant(request.body, request.session) - const lotOccupancyOccupants = getLotOccupancyOccupants( + const lotOccupancyOccupants = await getLotOccupancyOccupants( request.body.lotOccupancyId ) diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.d.ts b/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.d.ts +++ b/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.js b/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.js index a09fbf21..e87f2d4d 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.js +++ b/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.js @@ -1,11 +1,11 @@ import { addLotOccupancyTransaction } from '../../helpers/lotOccupancyDB/addLotOccupancyTransaction.js'; import { getLotOccupancyTransactions } from '../../helpers/lotOccupancyDB/getLotOccupancyTransactions.js'; -export const handler = (request, response) => { - addLotOccupancyTransaction(request.body, request.session); - const lotOccupancyTransactions = getLotOccupancyTransactions(request.body.lotOccupancyId); +export async function handler(request, response) { + await addLotOccupancyTransaction(request.body, request.session); + const lotOccupancyTransactions = await getLotOccupancyTransactions(request.body.lotOccupancyId); response.json({ success: true, lotOccupancyTransactions }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.ts b/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.ts index eb38c1e1..04942ed8 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.ts +++ b/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addLotOccupancyTransaction } from '../../helpers/lotOccupancyDB/addLotOccupancyTransaction.js' import { getLotOccupancyTransactions } from '../../helpers/lotOccupancyDB/getLotOccupancyTransactions.js' -export const handler: RequestHandler = (request, response) => { - addLotOccupancyTransaction(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + await addLotOccupancyTransaction(request.body, request.session) - const lotOccupancyTransactions = getLotOccupancyTransactions( + const lotOccupancyTransactions = await getLotOccupancyTransactions( request.body.lotOccupancyId ) diff --git a/handlers/lotOccupancies-post/doCopyLotOccupancy.d.ts b/handlers/lotOccupancies-post/doCopyLotOccupancy.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doCopyLotOccupancy.d.ts +++ b/handlers/lotOccupancies-post/doCopyLotOccupancy.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doCopyLotOccupancy.js b/handlers/lotOccupancies-post/doCopyLotOccupancy.js index 3da363ab..fd6c6c89 100644 --- a/handlers/lotOccupancies-post/doCopyLotOccupancy.js +++ b/handlers/lotOccupancies-post/doCopyLotOccupancy.js @@ -1,9 +1,9 @@ import { copyLotOccupancy } from '../../helpers/lotOccupancyDB/copyLotOccupancy.js'; -export const handler = (request, response) => { - const lotOccupancyId = copyLotOccupancy(request.body.lotOccupancyId, request.session); +export async function handler(request, response) { + const lotOccupancyId = await copyLotOccupancy(request.body.lotOccupancyId, request.session); response.json({ success: true, lotOccupancyId }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doCopyLotOccupancy.ts b/handlers/lotOccupancies-post/doCopyLotOccupancy.ts index 11605508..aac9502d 100644 --- a/handlers/lotOccupancies-post/doCopyLotOccupancy.ts +++ b/handlers/lotOccupancies-post/doCopyLotOccupancy.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { copyLotOccupancy } from '../../helpers/lotOccupancyDB/copyLotOccupancy.js' -export const handler: RequestHandler = (request, response) => { - const lotOccupancyId = copyLotOccupancy( +export async function handler( + request: Request, + response: Response +): Promise { + const lotOccupancyId = await copyLotOccupancy( request.body.lotOccupancyId, request.session ) diff --git a/handlers/lotOccupancies-post/doCreateLotOccupancy.d.ts b/handlers/lotOccupancies-post/doCreateLotOccupancy.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doCreateLotOccupancy.d.ts +++ b/handlers/lotOccupancies-post/doCreateLotOccupancy.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doCreateLotOccupancy.js b/handlers/lotOccupancies-post/doCreateLotOccupancy.js index 377b2c30..58acd4a1 100644 --- a/handlers/lotOccupancies-post/doCreateLotOccupancy.js +++ b/handlers/lotOccupancies-post/doCreateLotOccupancy.js @@ -1,9 +1,9 @@ import { addLotOccupancy } from '../../helpers/lotOccupancyDB/addLotOccupancy.js'; -export const handler = (request, response) => { - const lotOccupancyId = addLotOccupancy(request.body, request.session); +export async function handler(request, response) { + const lotOccupancyId = await addLotOccupancy(request.body, request.session); response.json({ success: true, lotOccupancyId }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doCreateLotOccupancy.ts b/handlers/lotOccupancies-post/doCreateLotOccupancy.ts index 2eb7724d..75ec8536 100644 --- a/handlers/lotOccupancies-post/doCreateLotOccupancy.ts +++ b/handlers/lotOccupancies-post/doCreateLotOccupancy.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addLotOccupancy } from '../../helpers/lotOccupancyDB/addLotOccupancy.js' -export const handler: RequestHandler = (request, response) => { - const lotOccupancyId = addLotOccupancy(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const lotOccupancyId = await addLotOccupancy(request.body, request.session) response.json({ success: true, diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancy.d.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancy.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancy.d.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancy.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancy.js b/handlers/lotOccupancies-post/doDeleteLotOccupancy.js index 9afafbfe..30abd4f5 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancy.js +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancy.js @@ -1,8 +1,8 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; -export const handler = (request, response) => { - const success = deleteRecord('LotOccupancies', request.body.lotOccupancyId, request.session); +export async function handler(request, response) { + const success = await deleteRecord('LotOccupancies', request.body.lotOccupancyId, request.session); response.json({ success }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancy.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancy.ts index adbd9414..27a524db 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancy.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancy.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord( 'LotOccupancies', request.body.lotOccupancyId, request.session diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.d.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.d.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.js b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.js index e72c0004..e5f91bc9 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.js +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.js @@ -1,11 +1,11 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getLotOccupancyComments } from '../../helpers/lotOccupancyDB/getLotOccupancyComments.js'; -export const handler = (request, response) => { - const success = deleteRecord('LotOccupancyComments', request.body.lotOccupancyCommentId, request.session); - const lotOccupancyComments = getLotOccupancyComments(request.body.lotOccupancyId); +export async function handler(request, response) { + const success = await deleteRecord('LotOccupancyComments', request.body.lotOccupancyCommentId, request.session); + const lotOccupancyComments = await getLotOccupancyComments(request.body.lotOccupancyId); response.json({ success, lotOccupancyComments }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.ts index 83620543..472fd77b 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' import { getLotOccupancyComments } from '../../helpers/lotOccupancyDB/getLotOccupancyComments.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord( 'LotOccupancyComments', request.body.lotOccupancyCommentId, request.session ) - const lotOccupancyComments = getLotOccupancyComments( + const lotOccupancyComments = await getLotOccupancyComments( request.body.lotOccupancyId ) diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.d.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.d.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.js b/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.js index 3b56e3b9..7ccf66ff 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.js +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.js @@ -1,11 +1,11 @@ import { deleteLotOccupancyFee } from '../../helpers/lotOccupancyDB/deleteLotOccupancyFee.js'; import { getLotOccupancyFees } from '../../helpers/lotOccupancyDB/getLotOccupancyFees.js'; -export const handler = (request, response) => { - const success = deleteLotOccupancyFee(request.body.lotOccupancyId, request.body.feeId, request.session); - const lotOccupancyFees = getLotOccupancyFees(request.body.lotOccupancyId); +export async function handler(request, response) { + const success = await deleteLotOccupancyFee(request.body.lotOccupancyId, request.body.feeId, request.session); + const lotOccupancyFees = await getLotOccupancyFees(request.body.lotOccupancyId); response.json({ success, lotOccupancyFees }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.ts index 27f619a4..c9176fec 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteLotOccupancyFee } from '../../helpers/lotOccupancyDB/deleteLotOccupancyFee.js' import { getLotOccupancyFees } from '../../helpers/lotOccupancyDB/getLotOccupancyFees.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteLotOccupancyFee( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteLotOccupancyFee( request.body.lotOccupancyId, request.body.feeId, request.session ) - const lotOccupancyFees = getLotOccupancyFees(request.body.lotOccupancyId) + const lotOccupancyFees = await getLotOccupancyFees(request.body.lotOccupancyId) response.json({ success, diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.d.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.d.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.js b/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.js index 003aa855..f317fc58 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.js +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.js @@ -1,11 +1,11 @@ import { deleteLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/deleteLotOccupancyOccupant.js'; import { getLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getLotOccupancyOccupants.js'; -export const handler = (request, response) => { - const success = deleteLotOccupancyOccupant(request.body.lotOccupancyId, request.body.lotOccupantIndex, request.session); - const lotOccupancyOccupants = getLotOccupancyOccupants(request.body.lotOccupancyId); +export async function handler(request, response) { + const success = await deleteLotOccupancyOccupant(request.body.lotOccupancyId, request.body.lotOccupantIndex, request.session); + const lotOccupancyOccupants = await getLotOccupancyOccupants(request.body.lotOccupancyId); response.json({ success, lotOccupancyOccupants }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.ts index fbc03a7e..e1d894be 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/deleteLotOccupancyOccupant.js' import { getLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getLotOccupancyOccupants.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteLotOccupancyOccupant( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteLotOccupancyOccupant( request.body.lotOccupancyId, request.body.lotOccupantIndex, request.session ) - const lotOccupancyOccupants = getLotOccupancyOccupants( + const lotOccupancyOccupants = await getLotOccupancyOccupants( request.body.lotOccupancyId ) diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.d.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.d.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.js b/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.js index 05b57f78..0e667e5f 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.js +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.js @@ -1,11 +1,11 @@ import { deleteLotOccupancyTransaction } from '../../helpers/lotOccupancyDB/deleteLotOccupancyTransaction.js'; import { getLotOccupancyTransactions } from '../../helpers/lotOccupancyDB/getLotOccupancyTransactions.js'; -export const handler = (request, response) => { - const success = deleteLotOccupancyTransaction(request.body.lotOccupancyId, request.body.transactionIndex, request.session); - const lotOccupancyTransactions = getLotOccupancyTransactions(request.body.lotOccupancyId); +export async function handler(request, response) { + const success = await deleteLotOccupancyTransaction(request.body.lotOccupancyId, request.body.transactionIndex, request.session); + const lotOccupancyTransactions = await getLotOccupancyTransactions(request.body.lotOccupancyId); response.json({ success, lotOccupancyTransactions }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.ts index c8bb6b94..65030265 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteLotOccupancyTransaction } from '../../helpers/lotOccupancyDB/deleteLotOccupancyTransaction.js' import { getLotOccupancyTransactions } from '../../helpers/lotOccupancyDB/getLotOccupancyTransactions.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteLotOccupancyTransaction( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteLotOccupancyTransaction( request.body.lotOccupancyId, request.body.transactionIndex, request.session ) - const lotOccupancyTransactions = getLotOccupancyTransactions( + const lotOccupancyTransactions = await getLotOccupancyTransactions( request.body.lotOccupancyId ) diff --git a/handlers/lotOccupancies-post/doGetFees.d.ts b/handlers/lotOccupancies-post/doGetFees.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doGetFees.d.ts +++ b/handlers/lotOccupancies-post/doGetFees.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doGetFees.js b/handlers/lotOccupancies-post/doGetFees.js index 7c8f27f0..fbd4dc8f 100644 --- a/handlers/lotOccupancies-post/doGetFees.js +++ b/handlers/lotOccupancies-post/doGetFees.js @@ -1,9 +1,9 @@ import { getLotOccupancy } from '../../helpers/lotOccupancyDB/getLotOccupancy.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const lotOccupancyId = request.body.lotOccupancyId; - const lotOccupancy = getLotOccupancy(lotOccupancyId); - const feeCategories = getFeeCategories({ + const lotOccupancy = (await getLotOccupancy(lotOccupancyId)); + const feeCategories = await getFeeCategories({ occupancyTypeId: lotOccupancy.occupancyTypeId, lotTypeId: lotOccupancy.lotTypeId }, { @@ -12,5 +12,5 @@ export const handler = (request, response) => { response.json({ feeCategories }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doGetFees.ts b/handlers/lotOccupancies-post/doGetFees.ts index 16f81366..22ba6c49 100644 --- a/handlers/lotOccupancies-post/doGetFees.ts +++ b/handlers/lotOccupancies-post/doGetFees.ts @@ -1,15 +1,18 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getLotOccupancy } from '../../helpers/lotOccupancyDB/getLotOccupancy.js' import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const lotOccupancyId = request.body.lotOccupancyId - const lotOccupancy = getLotOccupancy(lotOccupancyId)! + const lotOccupancy = (await getLotOccupancy(lotOccupancyId))! - const feeCategories = getFeeCategories( + const feeCategories = await getFeeCategories( { occupancyTypeId: lotOccupancy.occupancyTypeId, lotTypeId: lotOccupancy.lotTypeId diff --git a/handlers/lotOccupancies-post/doGetOccupancyTypeFields.d.ts b/handlers/lotOccupancies-post/doGetOccupancyTypeFields.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doGetOccupancyTypeFields.d.ts +++ b/handlers/lotOccupancies-post/doGetOccupancyTypeFields.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doGetOccupancyTypeFields.js b/handlers/lotOccupancies-post/doGetOccupancyTypeFields.js index eed327d3..a8dbdbaf 100644 --- a/handlers/lotOccupancies-post/doGetOccupancyTypeFields.js +++ b/handlers/lotOccupancies-post/doGetOccupancyTypeFields.js @@ -1,10 +1,10 @@ import { getOccupancyTypeById, getAllOccupancyTypeFields } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const occupancyTypeFields = getAllOccupancyTypeFields(); - const result = getOccupancyTypeById(Number.parseInt(request.body.occupancyTypeId, 10)); +export async function handler(request, response) { + const occupancyTypeFields = await getAllOccupancyTypeFields(); + const result = (await getOccupancyTypeById(Number.parseInt(request.body.occupancyTypeId, 10))); occupancyTypeFields.push(...(result.occupancyTypeFields ?? [])); response.json({ occupancyTypeFields }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doGetOccupancyTypeFields.ts b/handlers/lotOccupancies-post/doGetOccupancyTypeFields.ts index 91ff08b7..2c865762 100644 --- a/handlers/lotOccupancies-post/doGetOccupancyTypeFields.ts +++ b/handlers/lotOccupancies-post/doGetOccupancyTypeFields.ts @@ -1,16 +1,19 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getOccupancyTypeById, getAllOccupancyTypeFields } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const occupancyTypeFields = getAllOccupancyTypeFields() +export async function handler( + request: Request, + response: Response +): Promise { + const occupancyTypeFields = await getAllOccupancyTypeFields() - const result = getOccupancyTypeById( + const result = (await getOccupancyTypeById( Number.parseInt(request.body.occupancyTypeId, 10) - )! + ))! occupancyTypeFields.push(...(result.occupancyTypeFields ?? [])) diff --git a/handlers/lotOccupancies-post/doSearchLotOccupancies.d.ts b/handlers/lotOccupancies-post/doSearchLotOccupancies.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doSearchLotOccupancies.d.ts +++ b/handlers/lotOccupancies-post/doSearchLotOccupancies.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doSearchLotOccupancies.js b/handlers/lotOccupancies-post/doSearchLotOccupancies.js index 351b429c..a990ea1e 100644 --- a/handlers/lotOccupancies-post/doSearchLotOccupancies.js +++ b/handlers/lotOccupancies-post/doSearchLotOccupancies.js @@ -1,6 +1,6 @@ import { getLotOccupancies } from '../../helpers/lotOccupancyDB/getLotOccupancies.js'; -export const handler = (request, response) => { - const result = getLotOccupancies(request.body, { +export async function handler(request, response) { + const result = await getLotOccupancies(request.body, { limit: request.body.limit, offset: request.body.offset, includeOccupants: true @@ -10,5 +10,5 @@ export const handler = (request, response) => { offset: Number.parseInt(request.body.offset, 10), lotOccupancies: result.lotOccupancies }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doSearchLotOccupancies.ts b/handlers/lotOccupancies-post/doSearchLotOccupancies.ts index dacecd60..15494c17 100644 --- a/handlers/lotOccupancies-post/doSearchLotOccupancies.ts +++ b/handlers/lotOccupancies-post/doSearchLotOccupancies.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getLotOccupancies } from '../../helpers/lotOccupancyDB/getLotOccupancies.js' -export const handler: RequestHandler = (request, response) => { - const result = getLotOccupancies(request.body, { +export async function handler( + request: Request, + response: Response +): Promise { + const result = await getLotOccupancies(request.body, { limit: request.body.limit, offset: request.body.offset, includeOccupants: true diff --git a/handlers/lotOccupancies-post/doSearchPastOccupants.d.ts b/handlers/lotOccupancies-post/doSearchPastOccupants.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doSearchPastOccupants.d.ts +++ b/handlers/lotOccupancies-post/doSearchPastOccupants.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doSearchPastOccupants.js b/handlers/lotOccupancies-post/doSearchPastOccupants.js index 5b14bd05..ce348943 100644 --- a/handlers/lotOccupancies-post/doSearchPastOccupants.js +++ b/handlers/lotOccupancies-post/doSearchPastOccupants.js @@ -1,10 +1,10 @@ import { getPastLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getPastLotOccupancyOccupants.js'; -export const handler = (request, response) => { - const occupants = getPastLotOccupancyOccupants(request.body, { +export async function handler(request, response) { + const occupants = await getPastLotOccupancyOccupants(request.body, { limit: Number.parseInt(request.body.limit, 10) }); response.json({ occupants }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doSearchPastOccupants.ts b/handlers/lotOccupancies-post/doSearchPastOccupants.ts index 93e81197..7980d57f 100644 --- a/handlers/lotOccupancies-post/doSearchPastOccupants.ts +++ b/handlers/lotOccupancies-post/doSearchPastOccupants.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getPastLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getPastLotOccupancyOccupants.js' -export const handler: RequestHandler = (request, response) => { - const occupants = getPastLotOccupancyOccupants(request.body, { +export async function handler( + request: Request, + response: Response +): Promise { + const occupants = await getPastLotOccupancyOccupants(request.body, { limit: Number.parseInt(request.body.limit, 10) }) diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancy.d.ts b/handlers/lotOccupancies-post/doUpdateLotOccupancy.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancy.d.ts +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancy.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancy.js b/handlers/lotOccupancies-post/doUpdateLotOccupancy.js index cd5b7adc..ad4f084c 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancy.js +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancy.js @@ -1,9 +1,9 @@ import { updateLotOccupancy } from '../../helpers/lotOccupancyDB/updateLotOccupancy.js'; -export const handler = (request, response) => { - const success = updateLotOccupancy(request.body, request.session); +export async function handler(request, response) { + const success = await updateLotOccupancy(request.body, request.session); response.json({ success, lotOccupancyId: request.body.lotOccupancyId }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancy.ts b/handlers/lotOccupancies-post/doUpdateLotOccupancy.ts index f57a3476..0a3a7b98 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancy.ts +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancy.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateLotOccupancy } from '../../helpers/lotOccupancyDB/updateLotOccupancy.js' -export const handler: RequestHandler = (request, response) => { - const success = updateLotOccupancy(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateLotOccupancy(request.body, request.session) response.json({ success, diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.d.ts b/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.d.ts +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.js b/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.js index 68f8c056..b020a2a9 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.js +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.js @@ -1,11 +1,11 @@ import { updateLotOccupancyComment } from '../../helpers/lotOccupancyDB/updateLotOccupancyComment.js'; import { getLotOccupancyComments } from '../../helpers/lotOccupancyDB/getLotOccupancyComments.js'; -export const handler = (request, response) => { - const success = updateLotOccupancyComment(request.body, request.session); - const lotOccupancyComments = getLotOccupancyComments(request.body.lotOccupancyId); +export async function handler(request, response) { + const success = await updateLotOccupancyComment(request.body, request.session); + const lotOccupancyComments = await getLotOccupancyComments(request.body.lotOccupancyId); response.json({ success, lotOccupancyComments }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.ts b/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.ts index 58b61d6e..44c6fd45 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.ts +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateLotOccupancyComment } from '../../helpers/lotOccupancyDB/updateLotOccupancyComment.js' import { getLotOccupancyComments } from '../../helpers/lotOccupancyDB/getLotOccupancyComments.js' -export const handler: RequestHandler = (request, response) => { - const success = updateLotOccupancyComment(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateLotOccupancyComment(request.body, request.session) - const lotOccupancyComments = getLotOccupancyComments( + const lotOccupancyComments = await getLotOccupancyComments( request.body.lotOccupancyId ) diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.d.ts b/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.d.ts +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.js b/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.js index e9de44a1..a7ff8f25 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.js +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.js @@ -1,11 +1,11 @@ import { updateLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/updateLotOccupancyOccupant.js'; import { getLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getLotOccupancyOccupants.js'; -export const handler = (request, response) => { - const success = updateLotOccupancyOccupant(request.body, request.session); - const lotOccupancyOccupants = getLotOccupancyOccupants(request.body.lotOccupancyId); +export async function handler(request, response) { + const success = await updateLotOccupancyOccupant(request.body, request.session); + const lotOccupancyOccupants = await getLotOccupancyOccupants(request.body.lotOccupancyId); response.json({ success, lotOccupancyOccupants }); -}; +} export default handler; diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.ts b/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.ts index d2e5974c..8077ab4c 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.ts +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/updateLotOccupancyOccupant.js' import { getLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getLotOccupancyOccupants.js' -export const handler: RequestHandler = (request, response) => { - const success = updateLotOccupancyOccupant(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateLotOccupancyOccupant(request.body, request.session) - const lotOccupancyOccupants = getLotOccupancyOccupants( + const lotOccupancyOccupants = await getLotOccupancyOccupants( request.body.lotOccupancyId ) diff --git a/handlers/lots-get/edit.d.ts b/handlers/lots-get/edit.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-get/edit.d.ts +++ b/handlers/lots-get/edit.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-get/edit.js b/handlers/lots-get/edit.js index 468f5f9f..4db930ee 100644 --- a/handlers/lots-get/edit.js +++ b/handlers/lots-get/edit.js @@ -2,16 +2,16 @@ import * as configFunctions from '../../helpers/functions.config.js'; import { getLot } from '../../helpers/lotOccupancyDB/getLot.js'; import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js'; import * as cacheFunctions from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const lot = getLot(request.params.lotId); +export async function handler(request, response) { + const lot = await getLot(request.params.lotId); if (!lot) { response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') + '/lots/?error=lotIdNotFound'); return; } - const maps = getMaps(); - const lotTypes = cacheFunctions.getLotTypes(); - const lotStatuses = cacheFunctions.getLotStatuses(); + const maps = await getMaps(); + const lotTypes = await cacheFunctions.getLotTypes(); + const lotStatuses = await cacheFunctions.getLotStatuses(); response.render('lot-edit', { headTitle: lot.lotName, lot, @@ -20,5 +20,5 @@ export const handler = (request, response) => { lotTypes, lotStatuses }); -}; +} export default handler; diff --git a/handlers/lots-get/edit.ts b/handlers/lots-get/edit.ts index abf08f49..fab27577 100644 --- a/handlers/lots-get/edit.ts +++ b/handlers/lots-get/edit.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' @@ -6,8 +6,11 @@ import { getLot } from '../../helpers/lotOccupancyDB/getLot.js' import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js' import * as cacheFunctions from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const lot = getLot(request.params.lotId) +export async function handler( + request: Request, + response: Response +): Promise { + const lot = await getLot(request.params.lotId) if (!lot) { response.redirect( @@ -17,9 +20,9 @@ export const handler: RequestHandler = (request, response) => { return } - const maps = getMaps() - const lotTypes = cacheFunctions.getLotTypes() - const lotStatuses = cacheFunctions.getLotStatuses() + const maps = await getMaps() + const lotTypes = await cacheFunctions.getLotTypes() + const lotStatuses = await cacheFunctions.getLotStatuses() response.render('lot-edit', { headTitle: lot.lotName, diff --git a/handlers/lots-get/new.d.ts b/handlers/lots-get/new.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-get/new.d.ts +++ b/handlers/lots-get/new.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-get/new.js b/handlers/lots-get/new.js index 206b0bdd..fc4d431b 100644 --- a/handlers/lots-get/new.js +++ b/handlers/lots-get/new.js @@ -1,12 +1,12 @@ import * as configFunctions from '../../helpers/functions.config.js'; import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js'; import * as cacheFunctions from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const lot = { lotId: -1, lotOccupancies: [] }; - const maps = getMaps(); + const maps = await getMaps(); if (request.query.mapId) { const mapId = Number.parseInt(request.query.mapId, 10); const map = maps.find((possibleMap) => { @@ -17,8 +17,8 @@ export const handler = (request, response) => { lot.mapName = map.mapName; } } - const lotTypes = cacheFunctions.getLotTypes(); - const lotStatuses = cacheFunctions.getLotStatuses(); + const lotTypes = await cacheFunctions.getLotTypes(); + const lotStatuses = await cacheFunctions.getLotStatuses(); response.render('lot-edit', { headTitle: 'Create a New ' + configFunctions.getProperty('aliases.lot'), lot, @@ -27,5 +27,5 @@ export const handler = (request, response) => { lotTypes, lotStatuses }); -}; +} export default handler; diff --git a/handlers/lots-get/new.ts b/handlers/lots-get/new.ts index 61683f19..70718a34 100644 --- a/handlers/lots-get/new.ts +++ b/handlers/lots-get/new.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' @@ -7,13 +7,16 @@ import * as cacheFunctions from '../../helpers/functions.cache.js' import * as recordTypes from '../../types/recordTypes' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const lot: recordTypes.Lot = { lotId: -1, lotOccupancies: [] } - const maps = getMaps() + const maps = await getMaps() if (request.query.mapId) { const mapId = Number.parseInt(request.query.mapId as string, 10) @@ -28,8 +31,8 @@ export const handler: RequestHandler = (request, response) => { } } - const lotTypes = cacheFunctions.getLotTypes() - const lotStatuses = cacheFunctions.getLotStatuses() + const lotTypes = await cacheFunctions.getLotTypes() + const lotStatuses = await cacheFunctions.getLotStatuses() response.render('lot-edit', { headTitle: 'Create a New ' + configFunctions.getProperty('aliases.lot'), diff --git a/handlers/lots-get/next.d.ts b/handlers/lots-get/next.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-get/next.d.ts +++ b/handlers/lots-get/next.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-get/next.js b/handlers/lots-get/next.js index f7e315be..6e486332 100644 --- a/handlers/lots-get/next.js +++ b/handlers/lots-get/next.js @@ -1,13 +1,13 @@ import * as configFunctions from '../../helpers/functions.config.js'; import { getNextLotId } from '../../helpers/lotOccupancyDB/getNextLotId.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const lotId = request.params.lotId; - const nextLotId = getNextLotId(lotId); + const nextLotId = await getNextLotId(lotId); if (!nextLotId) { response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') + '/lots/?error=noNextLotIdFound'); return; } response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') + '/lots/' + nextLotId); -}; +} export default handler; diff --git a/handlers/lots-get/next.ts b/handlers/lots-get/next.ts index b08b42e7..e6d2312c 100644 --- a/handlers/lots-get/next.ts +++ b/handlers/lots-get/next.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' import { getNextLotId } from '../../helpers/lotOccupancyDB/getNextLotId.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const lotId = request.params.lotId - const nextLotId = getNextLotId(lotId) + const nextLotId = await getNextLotId(lotId) if (!nextLotId) { response.redirect( diff --git a/handlers/lots-get/previous.d.ts b/handlers/lots-get/previous.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-get/previous.d.ts +++ b/handlers/lots-get/previous.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-get/previous.js b/handlers/lots-get/previous.js index 78871319..db84c53d 100644 --- a/handlers/lots-get/previous.js +++ b/handlers/lots-get/previous.js @@ -1,8 +1,8 @@ import * as configFunctions from '../../helpers/functions.config.js'; import { getPreviousLotId } from '../../helpers/lotOccupancyDB/getPreviousLotId.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const lotId = request.params.lotId; - const previousLotId = getPreviousLotId(lotId); + const previousLotId = await getPreviousLotId(lotId); if (!previousLotId) { response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') + '/lots/?error=noPreviousLotIdFound'); @@ -11,5 +11,5 @@ export const handler = (request, response) => { response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') + '/lots/' + previousLotId); -}; +} export default handler; diff --git a/handlers/lots-get/previous.ts b/handlers/lots-get/previous.ts index 3b028827..7997f903 100644 --- a/handlers/lots-get/previous.ts +++ b/handlers/lots-get/previous.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' import { getPreviousLotId } from '../../helpers/lotOccupancyDB/getPreviousLotId.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const lotId = request.params.lotId - const previousLotId = getPreviousLotId(lotId) + const previousLotId = await getPreviousLotId(lotId) if (!previousLotId) { response.redirect( diff --git a/handlers/lots-get/search.d.ts b/handlers/lots-get/search.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-get/search.d.ts +++ b/handlers/lots-get/search.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-get/search.js b/handlers/lots-get/search.js index 06d1c4c5..27a1def4 100644 --- a/handlers/lots-get/search.js +++ b/handlers/lots-get/search.js @@ -1,10 +1,10 @@ import * as configFunctions from '../../helpers/functions.config.js'; import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js'; import { getLotTypes, getLotStatuses } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const maps = getMaps(); - const lotTypes = getLotTypes(); - const lotStatuses = getLotStatuses(); +export async function handler(request, response) { + const maps = await getMaps(); + const lotTypes = await getLotTypes(); + const lotStatuses = await getLotStatuses(); response.render('lot-search', { headTitle: configFunctions.getProperty('aliases.lot') + ' Search', maps, @@ -14,5 +14,5 @@ export const handler = (request, response) => { lotTypeId: request.query.lotTypeId, lotStatusId: request.query.lotStatusId }); -}; +} export default handler; diff --git a/handlers/lots-get/search.ts b/handlers/lots-get/search.ts index 0b68e53a..44747af0 100644 --- a/handlers/lots-get/search.ts +++ b/handlers/lots-get/search.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' @@ -6,10 +6,13 @@ import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js' import { getLotTypes, getLotStatuses } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const maps = getMaps() - const lotTypes = getLotTypes() - const lotStatuses = getLotStatuses() +export async function handler( + request: Request, + response: Response +): Promise { + const maps = await getMaps() + const lotTypes = await getLotTypes() + const lotStatuses = await getLotStatuses() response.render('lot-search', { headTitle: configFunctions.getProperty('aliases.lot') + ' Search', diff --git a/handlers/lots-get/view.d.ts b/handlers/lots-get/view.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-get/view.d.ts +++ b/handlers/lots-get/view.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-get/view.js b/handlers/lots-get/view.js index 6e1a02fa..6df4c321 100644 --- a/handlers/lots-get/view.js +++ b/handlers/lots-get/view.js @@ -1,7 +1,7 @@ import * as configFunctions from '../../helpers/functions.config.js'; import { getLot } from '../../helpers/lotOccupancyDB/getLot.js'; -export const handler = (request, response) => { - const lot = getLot(request.params.lotId); +export async function handler(request, response) { + const lot = await getLot(request.params.lotId); if (!lot) { response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') + '/lots/?error=lotIdNotFound'); @@ -11,5 +11,5 @@ export const handler = (request, response) => { headTitle: lot.lotName, lot }); -}; +} export default handler; diff --git a/handlers/lots-get/view.ts b/handlers/lots-get/view.ts index 810cce3e..b89f7836 100644 --- a/handlers/lots-get/view.ts +++ b/handlers/lots-get/view.ts @@ -1,11 +1,14 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' import { getLot } from '../../helpers/lotOccupancyDB/getLot.js' -export const handler: RequestHandler = (request, response) => { - const lot = getLot(request.params.lotId) +export async function handler( + request: Request, + response: Response +): Promise { + const lot = await getLot(request.params.lotId) if (!lot) { response.redirect( diff --git a/handlers/lots-post/doAddLotComment.d.ts b/handlers/lots-post/doAddLotComment.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-post/doAddLotComment.d.ts +++ b/handlers/lots-post/doAddLotComment.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-post/doAddLotComment.js b/handlers/lots-post/doAddLotComment.js index 3b25ae8b..138c88eb 100644 --- a/handlers/lots-post/doAddLotComment.js +++ b/handlers/lots-post/doAddLotComment.js @@ -1,11 +1,11 @@ import { addLotComment } from '../../helpers/lotOccupancyDB/addLotComment.js'; import { getLotComments } from '../../helpers/lotOccupancyDB/getLotComments.js'; -export const handler = (request, response) => { - addLotComment(request.body, request.session); - const lotComments = getLotComments(request.body.lotId); +export async function handler(request, response) { + await addLotComment(request.body, request.session); + const lotComments = await getLotComments(request.body.lotId); response.json({ success: true, lotComments }); -}; +} export default handler; diff --git a/handlers/lots-post/doAddLotComment.ts b/handlers/lots-post/doAddLotComment.ts index 836cd0ee..ace6e835 100644 --- a/handlers/lots-post/doAddLotComment.ts +++ b/handlers/lots-post/doAddLotComment.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addLotComment } from '../../helpers/lotOccupancyDB/addLotComment.js' import { getLotComments } from '../../helpers/lotOccupancyDB/getLotComments.js' -export const handler: RequestHandler = (request, response) => { - addLotComment(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + await addLotComment(request.body, request.session) - const lotComments = getLotComments(request.body.lotId) + const lotComments = await getLotComments(request.body.lotId) response.json({ success: true, diff --git a/handlers/lots-post/doCreateLot.d.ts b/handlers/lots-post/doCreateLot.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-post/doCreateLot.d.ts +++ b/handlers/lots-post/doCreateLot.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-post/doCreateLot.js b/handlers/lots-post/doCreateLot.js index f15b2099..0695757d 100644 --- a/handlers/lots-post/doCreateLot.js +++ b/handlers/lots-post/doCreateLot.js @@ -1,9 +1,9 @@ import { addLot } from '../../helpers/lotOccupancyDB/addLot.js'; -export const handler = (request, response) => { - const lotId = addLot(request.body, request.session); +export async function handler(request, response) { + const lotId = await addLot(request.body, request.session); response.json({ success: true, lotId }); -}; +} export default handler; diff --git a/handlers/lots-post/doCreateLot.ts b/handlers/lots-post/doCreateLot.ts index ac564e08..77f4a9fc 100644 --- a/handlers/lots-post/doCreateLot.ts +++ b/handlers/lots-post/doCreateLot.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addLot } from '../../helpers/lotOccupancyDB/addLot.js' -export const handler: RequestHandler = (request, response) => { - const lotId = addLot(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const lotId = await addLot(request.body, request.session) response.json({ success: true, diff --git a/handlers/lots-post/doDeleteLot.d.ts b/handlers/lots-post/doDeleteLot.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-post/doDeleteLot.d.ts +++ b/handlers/lots-post/doDeleteLot.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-post/doDeleteLot.js b/handlers/lots-post/doDeleteLot.js index 678e8ee5..0d448f32 100644 --- a/handlers/lots-post/doDeleteLot.js +++ b/handlers/lots-post/doDeleteLot.js @@ -1,8 +1,8 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; -export const handler = (request, response) => { - const success = deleteRecord('Lots', request.body.lotId, request.session); +export async function handler(request, response) { + const success = await deleteRecord('Lots', request.body.lotId, request.session); response.json({ success }); -}; +} export default handler; diff --git a/handlers/lots-post/doDeleteLot.ts b/handlers/lots-post/doDeleteLot.ts index c9951011..b14c7650 100644 --- a/handlers/lots-post/doDeleteLot.ts +++ b/handlers/lots-post/doDeleteLot.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord('Lots', request.body.lotId, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord('Lots', request.body.lotId, request.session) response.json({ success diff --git a/handlers/lots-post/doDeleteLotComment.d.ts b/handlers/lots-post/doDeleteLotComment.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-post/doDeleteLotComment.d.ts +++ b/handlers/lots-post/doDeleteLotComment.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-post/doDeleteLotComment.js b/handlers/lots-post/doDeleteLotComment.js index 393bccb1..9b692638 100644 --- a/handlers/lots-post/doDeleteLotComment.js +++ b/handlers/lots-post/doDeleteLotComment.js @@ -1,11 +1,11 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getLotComments } from '../../helpers/lotOccupancyDB/getLotComments.js'; -export const handler = (request, response) => { - const success = deleteRecord('LotComments', request.body.lotCommentId, request.session); - const lotComments = getLotComments(request.body.lotId); +export async function handler(request, response) { + const success = await deleteRecord('LotComments', request.body.lotCommentId, request.session); + const lotComments = await getLotComments(request.body.lotId); response.json({ success, lotComments }); -}; +} export default handler; diff --git a/handlers/lots-post/doDeleteLotComment.ts b/handlers/lots-post/doDeleteLotComment.ts index b877350f..17b5d61a 100644 --- a/handlers/lots-post/doDeleteLotComment.ts +++ b/handlers/lots-post/doDeleteLotComment.ts @@ -1,17 +1,20 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' import { getLotComments } from '../../helpers/lotOccupancyDB/getLotComments.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord( +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord( 'LotComments', request.body.lotCommentId, request.session ) - const lotComments = getLotComments(request.body.lotId) + const lotComments = await getLotComments(request.body.lotId) response.json({ success, diff --git a/handlers/lots-post/doGetLotTypeFields.d.ts b/handlers/lots-post/doGetLotTypeFields.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-post/doGetLotTypeFields.d.ts +++ b/handlers/lots-post/doGetLotTypeFields.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-post/doGetLotTypeFields.js b/handlers/lots-post/doGetLotTypeFields.js index c9f62d25..1365e8f6 100644 --- a/handlers/lots-post/doGetLotTypeFields.js +++ b/handlers/lots-post/doGetLotTypeFields.js @@ -1,8 +1,8 @@ import { getLotTypeById } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const lotType = getLotTypeById(Number.parseInt(request.body.lotTypeId, 10)); +export async function handler(request, response) { + const lotType = (await getLotTypeById(Number.parseInt(request.body.lotTypeId, 10))); response.json({ lotTypeFields: lotType.lotTypeFields }); -}; +} export default handler; diff --git a/handlers/lots-post/doGetLotTypeFields.ts b/handlers/lots-post/doGetLotTypeFields.ts index 19c956b4..5501d39a 100644 --- a/handlers/lots-post/doGetLotTypeFields.ts +++ b/handlers/lots-post/doGetLotTypeFields.ts @@ -1,9 +1,14 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getLotTypeById } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const lotType = getLotTypeById(Number.parseInt(request.body.lotTypeId, 10))! +export async function handler( + request: Request, + response: Response +): Promise { + const lotType = (await getLotTypeById( + Number.parseInt(request.body.lotTypeId, 10) + ))! response.json({ lotTypeFields: lotType.lotTypeFields diff --git a/handlers/lots-post/doSearchLots.d.ts b/handlers/lots-post/doSearchLots.d.ts index 7151ed90..84998c62 100644 --- a/handlers/lots-post/doSearchLots.d.ts +++ b/handlers/lots-post/doSearchLots.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-post/doSearchLots.js b/handlers/lots-post/doSearchLots.js index 3fa60057..8c542b35 100644 --- a/handlers/lots-post/doSearchLots.js +++ b/handlers/lots-post/doSearchLots.js @@ -1,6 +1,6 @@ import { getLots } from '../../helpers/lotOccupancyDB/getLots.js'; -export const handler = (request, response) => { - const result = getLots(request.body, { +export async function handler(request, response) { + const result = await getLots(request.body, { limit: request.body.limit, offset: request.body.offset }); @@ -9,5 +9,5 @@ export const handler = (request, response) => { offset: Number.parseInt(request.body.offset, 10), lots: result.lots }); -}; +} export default handler; diff --git a/handlers/lots-post/doSearchLots.ts b/handlers/lots-post/doSearchLots.ts index c804246e..613b630e 100644 --- a/handlers/lots-post/doSearchLots.ts +++ b/handlers/lots-post/doSearchLots.ts @@ -1,9 +1,8 @@ -import type { RequestHandler } from 'express' - +import { Request, Response } from 'express' import { getLots } from '../../helpers/lotOccupancyDB/getLots.js' -export const handler: RequestHandler = (request, response) => { - const result = getLots(request.body, { +export async function handler(request: Request, response: Response): Promise { + const result = await getLots(request.body, { limit: request.body.limit, offset: request.body.offset }) diff --git a/handlers/lots-post/doUpdateLot.d.ts b/handlers/lots-post/doUpdateLot.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-post/doUpdateLot.d.ts +++ b/handlers/lots-post/doUpdateLot.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-post/doUpdateLot.js b/handlers/lots-post/doUpdateLot.js index 46244eec..eb48f734 100644 --- a/handlers/lots-post/doUpdateLot.js +++ b/handlers/lots-post/doUpdateLot.js @@ -1,9 +1,9 @@ import { updateLot } from '../../helpers/lotOccupancyDB/updateLot.js'; -export const handler = (request, response) => { - const success = updateLot(request.body, request.session); +export async function handler(request, response) { + const success = await updateLot(request.body, request.session); response.json({ success, lotId: request.body.lotId }); -}; +} export default handler; diff --git a/handlers/lots-post/doUpdateLot.ts b/handlers/lots-post/doUpdateLot.ts index 4b3b5c83..c3479cfc 100644 --- a/handlers/lots-post/doUpdateLot.ts +++ b/handlers/lots-post/doUpdateLot.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateLot } from '../../helpers/lotOccupancyDB/updateLot.js' -export const handler: RequestHandler = (request, response) => { - const success = updateLot(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateLot(request.body, request.session) response.json({ success, diff --git a/handlers/lots-post/doUpdateLotComment.d.ts b/handlers/lots-post/doUpdateLotComment.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/lots-post/doUpdateLotComment.d.ts +++ b/handlers/lots-post/doUpdateLotComment.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/lots-post/doUpdateLotComment.js b/handlers/lots-post/doUpdateLotComment.js index 4748bb66..4fdf082b 100644 --- a/handlers/lots-post/doUpdateLotComment.js +++ b/handlers/lots-post/doUpdateLotComment.js @@ -1,11 +1,11 @@ import { updateLotComment } from '../../helpers/lotOccupancyDB/updateLotComment.js'; import { getLotComments } from '../../helpers/lotOccupancyDB/getLotComments.js'; -export const handler = (request, response) => { - const success = updateLotComment(request.body, request.session); - const lotComments = getLotComments(request.body.lotId); +export async function handler(request, response) { + const success = await updateLotComment(request.body, request.session); + const lotComments = await getLotComments(request.body.lotId); response.json({ success, lotComments }); -}; +} export default handler; diff --git a/handlers/lots-post/doUpdateLotComment.ts b/handlers/lots-post/doUpdateLotComment.ts index 58a01f72..5ac44d16 100644 --- a/handlers/lots-post/doUpdateLotComment.ts +++ b/handlers/lots-post/doUpdateLotComment.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateLotComment } from '../../helpers/lotOccupancyDB/updateLotComment.js' import { getLotComments } from '../../helpers/lotOccupancyDB/getLotComments.js' -export const handler: RequestHandler = (request, response) => { - const success = updateLotComment(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateLotComment(request.body, request.session) - const lotComments = getLotComments(request.body.lotId) + const lotComments = await getLotComments(request.body.lotId) response.json({ success, diff --git a/handlers/maps-get/edit.d.ts b/handlers/maps-get/edit.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/maps-get/edit.d.ts +++ b/handlers/maps-get/edit.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/maps-get/edit.js b/handlers/maps-get/edit.js index 9ad29a7e..d691cde4 100644 --- a/handlers/maps-get/edit.js +++ b/handlers/maps-get/edit.js @@ -3,18 +3,18 @@ import { getMap } from '../../helpers/lotOccupancyDB/getMap.js'; import { getMapSVGs } from '../../helpers/functions.map.js'; import { getLotTypeSummary } from '../../helpers/lotOccupancyDB/getLotTypeSummary.js'; import { getLotStatusSummary } from '../../helpers/lotOccupancyDB/getLotStatusSummary.js'; -export const handler = async (request, response) => { - const map = getMap(request.params.mapId); +export async function handler(request, response) { + const map = await getMap(request.params.mapId); if (!map) { response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') + '/maps/?error=mapIdNotFound'); return; } const mapSVGs = await getMapSVGs(); - const lotTypeSummary = getLotTypeSummary({ + const lotTypeSummary = await getLotTypeSummary({ mapId: map.mapId }); - const lotStatusSummary = getLotStatusSummary({ + const lotStatusSummary = await getLotStatusSummary({ mapId: map.mapId }); response.render('map-edit', { @@ -25,5 +25,5 @@ export const handler = async (request, response) => { lotTypeSummary, lotStatusSummary }); -}; +} export default handler; diff --git a/handlers/maps-get/edit.ts b/handlers/maps-get/edit.ts index 059077ee..c994140b 100644 --- a/handlers/maps-get/edit.ts +++ b/handlers/maps-get/edit.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' @@ -8,8 +8,11 @@ import { getMapSVGs } from '../../helpers/functions.map.js' import { getLotTypeSummary } from '../../helpers/lotOccupancyDB/getLotTypeSummary.js' import { getLotStatusSummary } from '../../helpers/lotOccupancyDB/getLotStatusSummary.js' -export const handler: RequestHandler = async (request, response) => { - const map = getMap(request.params.mapId) +export async function handler( + request: Request, + response: Response +): Promise { + const map = await getMap(request.params.mapId) if (!map) { response.redirect( @@ -21,11 +24,11 @@ export const handler: RequestHandler = async (request, response) => { const mapSVGs = await getMapSVGs() - const lotTypeSummary = getLotTypeSummary({ + const lotTypeSummary = await getLotTypeSummary({ mapId: map.mapId }) - const lotStatusSummary = getLotStatusSummary({ + const lotStatusSummary = await getLotStatusSummary({ mapId: map.mapId }) diff --git a/handlers/maps-get/new.d.ts b/handlers/maps-get/new.d.ts index 7151ed90..c674b8e3 100644 --- a/handlers/maps-get/new.d.ts +++ b/handlers/maps-get/new.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(_request: Request, response: Response): Promise; export default handler; diff --git a/handlers/maps-get/new.js b/handlers/maps-get/new.js index 4eb980f3..1eb29448 100644 --- a/handlers/maps-get/new.js +++ b/handlers/maps-get/new.js @@ -1,6 +1,6 @@ import * as configFunctions from '../../helpers/functions.config.js'; import { getMapSVGs } from '../../helpers/functions.map.js'; -export const handler = async (_request, response) => { +export async function handler(_request, response) { const map = { mapCity: configFunctions.getProperty('settings.map.mapCityDefault'), mapProvince: configFunctions.getProperty('settings.map.mapProvinceDefault') @@ -12,5 +12,5 @@ export const handler = async (_request, response) => { map, mapSVGs }); -}; +} export default handler; diff --git a/handlers/maps-get/new.ts b/handlers/maps-get/new.ts index 23e07341..64c84ea7 100644 --- a/handlers/maps-get/new.ts +++ b/handlers/maps-get/new.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' @@ -6,7 +6,10 @@ import { getMapSVGs } from '../../helpers/functions.map.js' import * as recordTypes from '../../types/recordTypes' -export const handler: RequestHandler = async (_request, response) => { +export async function handler( + _request: Request, + response: Response +): Promise { const map: recordTypes.Map = { mapCity: configFunctions.getProperty('settings.map.mapCityDefault'), mapProvince: configFunctions.getProperty('settings.map.mapProvinceDefault') diff --git a/handlers/maps-get/search.d.ts b/handlers/maps-get/search.d.ts index 7151ed90..c674b8e3 100644 --- a/handlers/maps-get/search.d.ts +++ b/handlers/maps-get/search.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(_request: Request, response: Response): Promise; export default handler; diff --git a/handlers/maps-get/search.js b/handlers/maps-get/search.js index 24a44107..2b4e7027 100644 --- a/handlers/maps-get/search.js +++ b/handlers/maps-get/search.js @@ -1,10 +1,10 @@ import * as configFunctions from '../../helpers/functions.config.js'; import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js'; -export const handler = (_request, response) => { - const maps = getMaps(); +export async function handler(_request, response) { + const maps = await getMaps(); response.render('map-search', { headTitle: configFunctions.getProperty('aliases.map') + ' Search', maps }); -}; +} export default handler; diff --git a/handlers/maps-get/search.ts b/handlers/maps-get/search.ts index 72ab91ec..d1cb044e 100644 --- a/handlers/maps-get/search.ts +++ b/handlers/maps-get/search.ts @@ -1,11 +1,11 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js' -export const handler: RequestHandler = (_request, response) => { - const maps = getMaps() +export async function handler(_request: Request, response: Response): Promise { + const maps = await getMaps() response.render('map-search', { headTitle: configFunctions.getProperty('aliases.map') + ' Search', diff --git a/handlers/maps-get/view.d.ts b/handlers/maps-get/view.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/maps-get/view.d.ts +++ b/handlers/maps-get/view.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/maps-get/view.js b/handlers/maps-get/view.js index 9655cd05..e7c1cd7f 100644 --- a/handlers/maps-get/view.js +++ b/handlers/maps-get/view.js @@ -2,17 +2,17 @@ import * as configFunctions from '../../helpers/functions.config.js'; import { getMap } from '../../helpers/lotOccupancyDB/getMap.js'; import { getLotStatusSummary } from '../../helpers/lotOccupancyDB/getLotStatusSummary.js'; import { getLotTypeSummary } from '../../helpers/lotOccupancyDB/getLotTypeSummary.js'; -export const handler = (request, response) => { - const map = getMap(request.params.mapId); +export async function handler(request, response) { + const map = await getMap(request.params.mapId); if (!map) { response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') + '/maps/?error=mapIdNotFound'); return; } - const lotTypeSummary = getLotTypeSummary({ + const lotTypeSummary = await getLotTypeSummary({ mapId: map.mapId }); - const lotStatusSummary = getLotStatusSummary({ + const lotStatusSummary = await getLotStatusSummary({ mapId: map.mapId }); response.render('map-view', { @@ -21,5 +21,5 @@ export const handler = (request, response) => { lotTypeSummary, lotStatusSummary }); -}; +} export default handler; diff --git a/handlers/maps-get/view.ts b/handlers/maps-get/view.ts index e151ea2d..ce2d2fc5 100644 --- a/handlers/maps-get/view.ts +++ b/handlers/maps-get/view.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' @@ -6,22 +6,22 @@ import { getMap } from '../../helpers/lotOccupancyDB/getMap.js' import { getLotStatusSummary } from '../../helpers/lotOccupancyDB/getLotStatusSummary.js' import { getLotTypeSummary } from '../../helpers/lotOccupancyDB/getLotTypeSummary.js' -export const handler: RequestHandler = (request, response) => { - const map = getMap(request.params.mapId) +export async function handler(request: Request, response: Response): Promise { + const map = await getMap(request.params.mapId) if (!map) { response.redirect( configFunctions.getProperty('reverseProxy.urlPrefix') + - '/maps/?error=mapIdNotFound' + '/maps/?error=mapIdNotFound' ) return } - const lotTypeSummary = getLotTypeSummary({ + const lotTypeSummary = await getLotTypeSummary({ mapId: map.mapId }) - const lotStatusSummary = getLotStatusSummary({ + const lotStatusSummary = await getLotStatusSummary({ mapId: map.mapId }) diff --git a/handlers/maps-post/doCreateMap.d.ts b/handlers/maps-post/doCreateMap.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/maps-post/doCreateMap.d.ts +++ b/handlers/maps-post/doCreateMap.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/maps-post/doCreateMap.js b/handlers/maps-post/doCreateMap.js index 5a6ec9c8..abb8d0db 100644 --- a/handlers/maps-post/doCreateMap.js +++ b/handlers/maps-post/doCreateMap.js @@ -1,9 +1,9 @@ import { addMap } from '../../helpers/lotOccupancyDB/addMap.js'; -export const handler = (request, response) => { - const mapId = addMap(request.body, request.session); +export async function handler(request, response) { + const mapId = await addMap(request.body, request.session); response.json({ success: true, mapId }); -}; +} export default handler; diff --git a/handlers/maps-post/doCreateMap.ts b/handlers/maps-post/doCreateMap.ts index b83fe29c..92c88868 100644 --- a/handlers/maps-post/doCreateMap.ts +++ b/handlers/maps-post/doCreateMap.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addMap } from '../../helpers/lotOccupancyDB/addMap.js' -export const handler: RequestHandler = (request, response) => { - const mapId = addMap(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const mapId = await addMap(request.body, request.session) response.json({ success: true, diff --git a/handlers/maps-post/doDeleteMap.d.ts b/handlers/maps-post/doDeleteMap.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/maps-post/doDeleteMap.d.ts +++ b/handlers/maps-post/doDeleteMap.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/maps-post/doDeleteMap.js b/handlers/maps-post/doDeleteMap.js index 666e2636..6d9e28c1 100644 --- a/handlers/maps-post/doDeleteMap.js +++ b/handlers/maps-post/doDeleteMap.js @@ -1,8 +1,8 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; -export const handler = (request, response) => { - const success = deleteRecord('Maps', request.body.mapId, request.session); +export async function handler(request, response) { + const success = await deleteRecord('Maps', request.body.mapId, request.session); response.json({ success }); -}; +} export default handler; diff --git a/handlers/maps-post/doDeleteMap.ts b/handlers/maps-post/doDeleteMap.ts index 22f340bd..f4401551 100644 --- a/handlers/maps-post/doDeleteMap.ts +++ b/handlers/maps-post/doDeleteMap.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteRecord('Maps', request.body.mapId, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await deleteRecord('Maps', request.body.mapId, request.session) response.json({ success diff --git a/handlers/maps-post/doUpdateMap.d.ts b/handlers/maps-post/doUpdateMap.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/maps-post/doUpdateMap.d.ts +++ b/handlers/maps-post/doUpdateMap.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/maps-post/doUpdateMap.js b/handlers/maps-post/doUpdateMap.js index defa8e7e..f9b1e2a9 100644 --- a/handlers/maps-post/doUpdateMap.js +++ b/handlers/maps-post/doUpdateMap.js @@ -1,9 +1,9 @@ import { updateMap } from '../../helpers/lotOccupancyDB/updateMap.js'; -export const handler = (request, response) => { - const success = updateMap(request.body, request.session); +export async function handler(request, response) { + const success = await updateMap(request.body, request.session); response.json({ success, mapId: request.body.mapId }); -}; +} export default handler; diff --git a/handlers/maps-post/doUpdateMap.ts b/handlers/maps-post/doUpdateMap.ts index 4467fd84..69c2de17 100644 --- a/handlers/maps-post/doUpdateMap.ts +++ b/handlers/maps-post/doUpdateMap.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateMap } from '../../helpers/lotOccupancyDB/updateMap.js' -export const handler: RequestHandler = (request, response) => { - const success = updateMap(request.body, request.session) +export async function handler( + request: Request, + response: Response +): Promise { + const success = await updateMap(request.body, request.session) response.json({ success, diff --git a/handlers/permissions.d.ts b/handlers/permissions.d.ts index b1fab625..139c7f13 100644 --- a/handlers/permissions.d.ts +++ b/handlers/permissions.d.ts @@ -1,6 +1,6 @@ -import type { RequestHandler } from 'express'; -export declare const adminGetHandler: RequestHandler; -export declare const adminPostHandler: RequestHandler; -export declare const updateGetHandler: RequestHandler; -export declare const updatePostHandler: RequestHandler; -export declare const apiGetHandler: RequestHandler; +import type { Request, Response, NextFunction } from 'express'; +export declare function adminGetHandler(request: Request, response: Response, next: NextFunction): void; +export declare function adminPostHandler(request: Request, response: Response, next: NextFunction): void; +export declare function updateGetHandler(request: Request, response: Response, next: NextFunction): void; +export declare function updatePostHandler(request: Request, response: Response, next: NextFunction): void; +export declare function apiGetHandler(request: Request, response: Response, next: NextFunction): Promise; diff --git a/handlers/permissions.js b/handlers/permissions.js index 1508e578..1ed966e0 100644 --- a/handlers/permissions.js +++ b/handlers/permissions.js @@ -7,38 +7,39 @@ const forbiddenJSON = { message: 'Forbidden' }; const forbiddenRedirectURL = urlPrefix + '/dashboard/?error=accessDenied'; -export const adminGetHandler = (request, response, next) => { +export function adminGetHandler(request, response, next) { if (userFunctions.userIsAdmin(request)) { next(); return; } response.redirect(forbiddenRedirectURL); -}; -export const adminPostHandler = (request, response, next) => { +} +export function adminPostHandler(request, response, next) { if (userFunctions.userIsAdmin(request)) { next(); return; } - return response.status(forbiddenStatus).json(forbiddenJSON); -}; -export const updateGetHandler = (request, response, next) => { + response.status(forbiddenStatus).json(forbiddenJSON); +} +export function updateGetHandler(request, response, next) { if (userFunctions.userCanUpdate(request)) { next(); return; } response.redirect(forbiddenRedirectURL); -}; -export const updatePostHandler = (request, response, next) => { +} +export function updatePostHandler(request, response, next) { if (userFunctions.userCanUpdate(request)) { next(); return; } - return response.status(forbiddenStatus).json(forbiddenJSON); -}; -export const apiGetHandler = async (request, response, next) => { + response.status(forbiddenStatus).json(forbiddenJSON); +} +export async function apiGetHandler(request, response, next) { if (await userFunctions.apiKeyIsValid(request)) { next(); - return; } - response.redirect(urlPrefix + '/login'); -}; + else { + response.redirect(urlPrefix + '/login'); + } +} diff --git a/handlers/permissions.ts b/handlers/permissions.ts index a367909b..307a3aea 100644 --- a/handlers/permissions.ts +++ b/handlers/permissions.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response, NextFunction } from 'express' import * as configFunctions from '../helpers/functions.config.js' @@ -15,7 +15,11 @@ const forbiddenJSON = { const forbiddenRedirectURL = urlPrefix + '/dashboard/?error=accessDenied' -export const adminGetHandler: RequestHandler = (request, response, next) => { +export function adminGetHandler( + request: Request, + response: Response, + next: NextFunction +): void { if (userFunctions.userIsAdmin(request)) { next() return @@ -24,16 +28,24 @@ export const adminGetHandler: RequestHandler = (request, response, next) => { response.redirect(forbiddenRedirectURL) } -export const adminPostHandler: RequestHandler = (request, response, next) => { +export function adminPostHandler( + request: Request, + response: Response, + next: NextFunction +): void { if (userFunctions.userIsAdmin(request)) { next() return } - return response.status(forbiddenStatus).json(forbiddenJSON) + response.status(forbiddenStatus).json(forbiddenJSON) } -export const updateGetHandler: RequestHandler = (request, response, next) => { +export function updateGetHandler( + request: Request, + response: Response, + next: NextFunction +): void { if (userFunctions.userCanUpdate(request)) { next() return @@ -42,24 +54,27 @@ export const updateGetHandler: RequestHandler = (request, response, next) => { response.redirect(forbiddenRedirectURL) } -export const updatePostHandler: RequestHandler = (request, response, next) => { +export function updatePostHandler( + request: Request, + response: Response, + next: NextFunction +): void { if (userFunctions.userCanUpdate(request)) { next() return } - return response.status(forbiddenStatus).json(forbiddenJSON) + response.status(forbiddenStatus).json(forbiddenJSON) } -export const apiGetHandler: RequestHandler = async ( - request, - response, - next -) => { +export async function apiGetHandler( + request: Request, + response: Response, + next: NextFunction +): Promise { if (await userFunctions.apiKeyIsValid(request)) { next() - return + } else { + response.redirect(urlPrefix + '/login') } - - response.redirect(urlPrefix + '/login') } diff --git a/handlers/print-get/pdf.d.ts b/handlers/print-get/pdf.d.ts index 7151ed90..fea40ba9 100644 --- a/handlers/print-get/pdf.d.ts +++ b/handlers/print-get/pdf.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response, next: any): Promise; export default handler; diff --git a/handlers/print-get/pdf.js b/handlers/print-get/pdf.js index 17be5228..9da0b714 100644 --- a/handlers/print-get/pdf.js +++ b/handlers/print-get/pdf.js @@ -7,7 +7,7 @@ import { getReportData, getPdfPrintConfig } from '../../helpers/functions.print. import { convertHTMLToPDF } from '@cityssm/pdf-puppeteer'; import camelcase from 'camelcase'; const attachmentOrInline = configFunctions.getProperty('settings.printPdf.contentDisposition'); -export const handler = async (request, response, next) => { +export async function handler(request, response, next) { const printName = request.params.printName; if (!configFunctions .getProperty('settings.lotOccupancy.prints') @@ -25,7 +25,7 @@ export const handler = async (request, response, next) => { '/dashboard/?error=printConfigNotFound'); return; } - const reportData = getReportData(printConfig, request.query); + const reportData = await getReportData(printConfig, request.query); const reportPath = path.join('views', 'print', 'pdf', printName + '.ejs'); function pdfCallbackFunction(pdf) { response.setHeader('Content-Disposition', `${attachmentOrInline}; filename=${camelcase(printConfig.title)}.pdf`); @@ -50,5 +50,5 @@ export const handler = async (request, response, next) => { reportData.dateTimeFunctions = dateTimeFunctions; reportData.lotOccupancyFunctions = lotOccupancyFunctions; await ejs.renderFile(reportPath, reportData, {}, ejsCallbackFunction); -}; +} export default handler; diff --git a/handlers/print-get/pdf.ts b/handlers/print-get/pdf.ts index 08b69075..1d24f70a 100644 --- a/handlers/print-get/pdf.ts +++ b/handlers/print-get/pdf.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import path from 'node:path' import * as ejs from 'ejs' @@ -19,7 +19,11 @@ const attachmentOrInline = configFunctions.getProperty( 'settings.printPdf.contentDisposition' ) -export const handler: RequestHandler = async (request, response, next) => { +export async function handler( + request: Request, + response: Response, + next +): Promise { const printName = request.params.printName if ( @@ -47,7 +51,7 @@ export const handler: RequestHandler = async (request, response, next) => { return } - const reportData = getReportData(printConfig, request.query) + const reportData = await getReportData(printConfig, request.query) const reportPath = path.join('views', 'print', 'pdf', printName + '.ejs') diff --git a/handlers/print-get/screen.d.ts b/handlers/print-get/screen.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/print-get/screen.d.ts +++ b/handlers/print-get/screen.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/print-get/screen.js b/handlers/print-get/screen.js index cd3e1c4b..ef354b8b 100644 --- a/handlers/print-get/screen.js +++ b/handlers/print-get/screen.js @@ -1,6 +1,6 @@ import * as configFunctions from '../../helpers/functions.config.js'; import { getReportData, getScreenPrintConfig } from '../../helpers/functions.print.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const printName = request.params.printName; if (!configFunctions .getProperty('settings.lotOccupancy.prints') @@ -18,7 +18,7 @@ export const handler = (request, response) => { '/dashboard/?error=printConfigNotFound'); return; } - const reportData = getReportData(printConfig, request.query); + const reportData = await getReportData(printConfig, request.query); response.render('print/screen/' + printName, reportData); -}; +} export default handler; diff --git a/handlers/print-get/screen.ts b/handlers/print-get/screen.ts index b9c0ca95..1ce23c07 100644 --- a/handlers/print-get/screen.ts +++ b/handlers/print-get/screen.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' import { @@ -6,7 +6,10 @@ import { getScreenPrintConfig } from '../../helpers/functions.print.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const printName = request.params.printName if ( @@ -34,7 +37,7 @@ export const handler: RequestHandler = (request, response) => { return } - const reportData = getReportData(printConfig, request.query) + const reportData = await getReportData(printConfig, request.query) response.render('print/screen/' + printName, reportData) } diff --git a/handlers/reports-get/reportName.d.ts b/handlers/reports-get/reportName.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/reports-get/reportName.d.ts +++ b/handlers/reports-get/reportName.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/reports-get/reportName.js b/handlers/reports-get/reportName.js index 88b4eda9..a4fe92e9 100644 --- a/handlers/reports-get/reportName.js +++ b/handlers/reports-get/reportName.js @@ -1,23 +1,24 @@ import { getReportData } from '../../helpers/lotOccupancyDB/getReportData.js'; import papaparse from 'papaparse'; -export const handler = (request, response) => { +export async function handler(request, response) { const reportName = request.params.reportName; let rows; switch (reportName) { default: { - rows = getReportData(reportName, request.query); + rows = await getReportData(reportName, request.query); break; } } if (!rows) { - return response.status(404).json({ + response.status(404).json({ success: false, message: 'Report Not Found' }); + return; } const csv = papaparse.unparse(rows); - response.setHeader('Content-Disposition', 'attachment; filename=' + reportName + '-' + Date.now().toString() + '.csv'); + response.setHeader('Content-Disposition', `attachment; filename=${reportName}-${Date.now().toString()}.csv`); response.setHeader('Content-Type', 'text/csv'); response.send(csv); -}; +} export default handler; diff --git a/handlers/reports-get/reportName.ts b/handlers/reports-get/reportName.ts index a45e401f..8bb19639 100644 --- a/handlers/reports-get/reportName.ts +++ b/handlers/reports-get/reportName.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getReportData, @@ -7,30 +7,35 @@ import { import papaparse from 'papaparse' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const reportName = request.params.reportName let rows: unknown[] | undefined switch (reportName) { default: { - rows = getReportData(reportName, request.query as ReportParameters) + rows = await getReportData(reportName, request.query as ReportParameters) break } } if (!rows) { - return response.status(404).json({ + response.status(404).json({ success: false, message: 'Report Not Found' }) + + return } const csv = papaparse.unparse(rows) response.setHeader( 'Content-Disposition', - 'attachment; filename=' + reportName + '-' + Date.now().toString() + '.csv' + `attachment; filename=${reportName}-${Date.now().toString()}.csv` ) response.setHeader('Content-Type', 'text/csv') diff --git a/handlers/reports-get/search.d.ts b/handlers/reports-get/search.d.ts index 7151ed90..c674b8e3 100644 --- a/handlers/reports-get/search.d.ts +++ b/handlers/reports-get/search.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(_request: Request, response: Response): Promise; export default handler; diff --git a/handlers/reports-get/search.js b/handlers/reports-get/search.js index bbc7c253..d30de383 100644 --- a/handlers/reports-get/search.js +++ b/handlers/reports-get/search.js @@ -1,11 +1,11 @@ import * as dateTimeFunctions from '@cityssm/expressjs-server-js/dateTimeFns.js'; import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js'; import { getLotStatuses, getLotTypes } from '../../helpers/functions.cache.js'; -export const handler = (_request, response) => { +export async function handler(_request, response) { const rightNow = new Date(); - const maps = getMaps(); - const lotTypes = getLotTypes(); - const lotStatuses = getLotStatuses(); + const maps = await getMaps(); + const lotTypes = await getLotTypes(); + const lotStatuses = await getLotStatuses(); response.render('report-search', { headTitle: 'Reports', todayDateString: dateTimeFunctions.dateToString(rightNow), @@ -13,5 +13,5 @@ export const handler = (_request, response) => { lotTypes, lotStatuses }); -}; +} export default handler; diff --git a/handlers/reports-get/search.ts b/handlers/reports-get/search.ts index 0cdb8a8c..4211acf7 100644 --- a/handlers/reports-get/search.ts +++ b/handlers/reports-get/search.ts @@ -1,16 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as dateTimeFunctions from '@cityssm/expressjs-server-js/dateTimeFns.js' import { getMaps } from '../../helpers/lotOccupancyDB/getMaps.js' import { getLotStatuses, getLotTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (_request, response) => { +export async function handler(_request: Request, response: Response): Promise { const rightNow = new Date() - const maps = getMaps() - const lotTypes = getLotTypes() - const lotStatuses = getLotStatuses() + const maps = await getMaps() + const lotTypes = await getLotTypes() + const lotStatuses = await getLotStatuses() response.render('report-search', { headTitle: 'Reports', diff --git a/handlers/workOrders-get/edit.d.ts b/handlers/workOrders-get/edit.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-get/edit.d.ts +++ b/handlers/workOrders-get/edit.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-get/edit.js b/handlers/workOrders-get/edit.js index c4052a37..d2dcc2b0 100644 --- a/handlers/workOrders-get/edit.js +++ b/handlers/workOrders-get/edit.js @@ -1,8 +1,8 @@ import { getLotStatuses, getWorkOrderMilestoneTypes, getWorkOrderTypes } from '../../helpers/functions.cache.js'; import * as configFunctions from '../../helpers/functions.config.js'; import { getWorkOrder } from '../../helpers/lotOccupancyDB/getWorkOrder.js'; -export const handler = (request, response) => { - const workOrder = getWorkOrder(request.params.workOrderId, { +export async function handler(request, response) { + const workOrder = await getWorkOrder(request.params.workOrderId, { includeLotsAndLotOccupancies: true, includeComments: true, includeMilestones: true @@ -19,9 +19,9 @@ export const handler = (request, response) => { '/?error=workOrderIsClosed'); return; } - const workOrderTypes = getWorkOrderTypes(); - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes(); - const lotStatuses = getLotStatuses(); + const workOrderTypes = await getWorkOrderTypes(); + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); + const lotStatuses = await getLotStatuses(); response.render('workOrder-edit', { headTitle: `Work Order #${workOrder.workOrderNumber}`, workOrder, @@ -30,5 +30,5 @@ export const handler = (request, response) => { workOrderMilestoneTypes, lotStatuses }); -}; +} export default handler; diff --git a/handlers/workOrders-get/edit.ts b/handlers/workOrders-get/edit.ts index 3e9745b7..e81b6907 100644 --- a/handlers/workOrders-get/edit.ts +++ b/handlers/workOrders-get/edit.ts @@ -1,4 +1,4 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getLotStatuses, @@ -10,8 +10,11 @@ import * as configFunctions from '../../helpers/functions.config.js' import { getWorkOrder } from '../../helpers/lotOccupancyDB/getWorkOrder.js' -export const handler: RequestHandler = (request, response) => { - const workOrder = getWorkOrder(request.params.workOrderId, { +export async function handler( + request: Request, + response: Response +): Promise { + const workOrder = await getWorkOrder(request.params.workOrderId, { includeLotsAndLotOccupancies: true, includeComments: true, includeMilestones: true @@ -35,11 +38,11 @@ export const handler: RequestHandler = (request, response) => { return } - const workOrderTypes = getWorkOrderTypes() + const workOrderTypes = await getWorkOrderTypes() - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes() + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes() - const lotStatuses = getLotStatuses() + const lotStatuses = await getLotStatuses() response.render('workOrder-edit', { headTitle: `Work Order #${workOrder.workOrderNumber!}`, diff --git a/handlers/workOrders-get/milestoneCalendar.d.ts b/handlers/workOrders-get/milestoneCalendar.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-get/milestoneCalendar.d.ts +++ b/handlers/workOrders-get/milestoneCalendar.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-get/milestoneCalendar.js b/handlers/workOrders-get/milestoneCalendar.js index 8cbf5683..0f0010ed 100644 --- a/handlers/workOrders-get/milestoneCalendar.js +++ b/handlers/workOrders-get/milestoneCalendar.js @@ -1,6 +1,6 @@ -export const handler = (request, response) => { +export async function handler(request, response) { response.render('workOrder-milestoneCalendar', { headTitle: 'Work Order Milestone Calendar' }); -}; +} export default handler; diff --git a/handlers/workOrders-get/milestoneCalendar.ts b/handlers/workOrders-get/milestoneCalendar.ts index 3ff2f036..92278046 100644 --- a/handlers/workOrders-get/milestoneCalendar.ts +++ b/handlers/workOrders-get/milestoneCalendar.ts @@ -1,6 +1,9 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { response.render('workOrder-milestoneCalendar', { headTitle: 'Work Order Milestone Calendar' }) diff --git a/handlers/workOrders-get/new.d.ts b/handlers/workOrders-get/new.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-get/new.d.ts +++ b/handlers/workOrders-get/new.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-get/new.js b/handlers/workOrders-get/new.js index f46723c5..ee425a64 100644 --- a/handlers/workOrders-get/new.js +++ b/handlers/workOrders-get/new.js @@ -1,17 +1,17 @@ import { dateToInteger, dateToString } from '@cityssm/expressjs-server-js/dateTimeFns.js'; import { getWorkOrderTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const currentDate = new Date(); const workOrder = { workOrderOpenDate: dateToInteger(currentDate), workOrderOpenDateString: dateToString(currentDate) }; - const workOrderTypes = getWorkOrderTypes(); + const workOrderTypes = await getWorkOrderTypes(); response.render('workOrder-edit', { headTitle: 'New Work Order', workOrder, isCreate: true, workOrderTypes }); -}; +} export default handler; diff --git a/handlers/workOrders-get/new.ts b/handlers/workOrders-get/new.ts index 6ba6c6ee..e65263a7 100644 --- a/handlers/workOrders-get/new.ts +++ b/handlers/workOrders-get/new.ts @@ -2,13 +2,16 @@ import { dateToInteger, dateToString } from '@cityssm/expressjs-server-js/dateTimeFns.js' -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getWorkOrderTypes } from '../../helpers/functions.cache.js' import * as recordTypes from '../../types/recordTypes' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const currentDate = new Date() const workOrder: recordTypes.WorkOrder = { @@ -16,7 +19,7 @@ export const handler: RequestHandler = (request, response) => { workOrderOpenDateString: dateToString(currentDate) } - const workOrderTypes = getWorkOrderTypes() + const workOrderTypes = await getWorkOrderTypes() response.render('workOrder-edit', { headTitle: 'New Work Order', diff --git a/handlers/workOrders-get/outlook.d.ts b/handlers/workOrders-get/outlook.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-get/outlook.d.ts +++ b/handlers/workOrders-get/outlook.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-get/outlook.js b/handlers/workOrders-get/outlook.js index 418b0e63..a27180a5 100644 --- a/handlers/workOrders-get/outlook.js +++ b/handlers/workOrders-get/outlook.js @@ -1,11 +1,11 @@ import { getWorkOrderMilestoneTypes, getWorkOrderTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { - const workOrderTypes = getWorkOrderTypes(); - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes(); +export async function handler(request, response) { + const workOrderTypes = await getWorkOrderTypes(); + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); response.render('workOrder-outlook', { headTitle: 'Work Order Outlook Integration', workOrderTypes, workOrderMilestoneTypes }); -}; +} export default handler; diff --git a/handlers/workOrders-get/outlook.ts b/handlers/workOrders-get/outlook.ts index 51392f41..ea71b054 100644 --- a/handlers/workOrders-get/outlook.ts +++ b/handlers/workOrders-get/outlook.ts @@ -1,13 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getWorkOrderMilestoneTypes, getWorkOrderTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { - const workOrderTypes = getWorkOrderTypes() - const workOrderMilestoneTypes = getWorkOrderMilestoneTypes() +export async function handler( + request: Request, + response: Response +): Promise { + const workOrderTypes = await getWorkOrderTypes() + const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes() response.render('workOrder-outlook', { headTitle: 'Work Order Outlook Integration', diff --git a/handlers/workOrders-get/search.d.ts b/handlers/workOrders-get/search.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-get/search.d.ts +++ b/handlers/workOrders-get/search.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-get/search.js b/handlers/workOrders-get/search.js index 1a4d7205..4cd0bea5 100644 --- a/handlers/workOrders-get/search.js +++ b/handlers/workOrders-get/search.js @@ -1,11 +1,11 @@ import { getWorkOrderTypes } from '../../helpers/functions.cache.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const workOrderOpenDateString = request.query.workOrderOpenDateString; - const workOrderTypes = getWorkOrderTypes(); + const workOrderTypes = await getWorkOrderTypes(); response.render('workOrder-search', { headTitle: 'Work Order Search', workOrderTypes, workOrderOpenDateString }); -}; +} export default handler; diff --git a/handlers/workOrders-get/search.ts b/handlers/workOrders-get/search.ts index dc1af914..39d091ed 100644 --- a/handlers/workOrders-get/search.ts +++ b/handlers/workOrders-get/search.ts @@ -1,11 +1,14 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getWorkOrderTypes } from '../../helpers/functions.cache.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const workOrderOpenDateString = request.query.workOrderOpenDateString - const workOrderTypes = getWorkOrderTypes() + const workOrderTypes = await getWorkOrderTypes() response.render('workOrder-search', { headTitle: 'Work Order Search', diff --git a/handlers/workOrders-get/view.d.ts b/handlers/workOrders-get/view.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-get/view.d.ts +++ b/handlers/workOrders-get/view.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-get/view.js b/handlers/workOrders-get/view.js index a52f5b83..25743d76 100644 --- a/handlers/workOrders-get/view.js +++ b/handlers/workOrders-get/view.js @@ -1,7 +1,7 @@ import * as configFunctions from '../../helpers/functions.config.js'; import { getWorkOrder } from '../../helpers/lotOccupancyDB/getWorkOrder.js'; -export const handler = (request, response) => { - const workOrder = getWorkOrder(request.params.workOrderId, { +export async function handler(request, response) { + const workOrder = await getWorkOrder(request.params.workOrderId, { includeLotsAndLotOccupancies: true, includeComments: true, includeMilestones: true @@ -15,5 +15,5 @@ export const handler = (request, response) => { headTitle: `Work Order #${workOrder.workOrderNumber}`, workOrder }); -}; +} export default handler; diff --git a/handlers/workOrders-get/view.ts b/handlers/workOrders-get/view.ts index 581d5ac5..effc1f52 100644 --- a/handlers/workOrders-get/view.ts +++ b/handlers/workOrders-get/view.ts @@ -1,11 +1,14 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import * as configFunctions from '../../helpers/functions.config.js' import { getWorkOrder } from '../../helpers/lotOccupancyDB/getWorkOrder.js' -export const handler: RequestHandler = (request, response) => { - const workOrder = getWorkOrder(request.params.workOrderId, { +export async function handler( + request: Request, + response: Response +): Promise { + const workOrder = await getWorkOrder(request.params.workOrderId, { includeLotsAndLotOccupancies: true, includeComments: true, includeMilestones: true diff --git a/handlers/workOrders-post/doAddWorkOrderComment.d.ts b/handlers/workOrders-post/doAddWorkOrderComment.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doAddWorkOrderComment.d.ts +++ b/handlers/workOrders-post/doAddWorkOrderComment.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doAddWorkOrderComment.js b/handlers/workOrders-post/doAddWorkOrderComment.js index ba34a3fb..7e5934bc 100644 --- a/handlers/workOrders-post/doAddWorkOrderComment.js +++ b/handlers/workOrders-post/doAddWorkOrderComment.js @@ -1,11 +1,11 @@ import { addWorkOrderComment } from '../../helpers/lotOccupancyDB/addWorkOrderComment.js'; import { getWorkOrderComments } from '../../helpers/lotOccupancyDB/getWorkOrderComments.js'; -export const handler = (request, response) => { +export async function handler(request, response) { addWorkOrderComment(request.body, request.session); const workOrderComments = getWorkOrderComments(request.body.workOrderId); response.json({ success: true, workOrderComments }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doAddWorkOrderComment.ts b/handlers/workOrders-post/doAddWorkOrderComment.ts index e5bcd2dc..2a1460ff 100644 --- a/handlers/workOrders-post/doAddWorkOrderComment.ts +++ b/handlers/workOrders-post/doAddWorkOrderComment.ts @@ -1,10 +1,13 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addWorkOrderComment } from '../../helpers/lotOccupancyDB/addWorkOrderComment.js' import { getWorkOrderComments } from '../../helpers/lotOccupancyDB/getWorkOrderComments.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { addWorkOrderComment(request.body, request.session) const workOrderComments = getWorkOrderComments(request.body.workOrderId) diff --git a/handlers/workOrders-post/doAddWorkOrderLot.d.ts b/handlers/workOrders-post/doAddWorkOrderLot.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doAddWorkOrderLot.d.ts +++ b/handlers/workOrders-post/doAddWorkOrderLot.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doAddWorkOrderLot.js b/handlers/workOrders-post/doAddWorkOrderLot.js index 199aba7a..a16edb43 100644 --- a/handlers/workOrders-post/doAddWorkOrderLot.js +++ b/handlers/workOrders-post/doAddWorkOrderLot.js @@ -1,19 +1,19 @@ import { addWorkOrderLot } from '../../helpers/lotOccupancyDB/addWorkOrderLot.js'; import { getLots } from '../../helpers/lotOccupancyDB/getLots.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = addWorkOrderLot({ workOrderId: request.body.workOrderId, lotId: request.body.lotId }, request.session); - const workOrderLots = getLots({ + const workOrderLotsResults = await getLots({ workOrderId: request.body.workOrderId }, { limit: -1, offset: 0 - }).lots; + }); response.json({ success, - workOrderLots + workOrderLots: workOrderLotsResults.lots }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doAddWorkOrderLot.ts b/handlers/workOrders-post/doAddWorkOrderLot.ts index 0d089fb2..8dc0a0ce 100644 --- a/handlers/workOrders-post/doAddWorkOrderLot.ts +++ b/handlers/workOrders-post/doAddWorkOrderLot.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addWorkOrderLot } from '../../helpers/lotOccupancyDB/addWorkOrderLot.js' import { getLots } from '../../helpers/lotOccupancyDB/getLots.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = addWorkOrderLot( { workOrderId: request.body.workOrderId, @@ -12,7 +15,7 @@ export const handler: RequestHandler = (request, response) => { request.session ) - const workOrderLots = getLots( + const workOrderLotsResults = await getLots( { workOrderId: request.body.workOrderId }, @@ -20,11 +23,11 @@ export const handler: RequestHandler = (request, response) => { limit: -1, offset: 0 } - ).lots + ) response.json({ success, - workOrderLots + workOrderLots: workOrderLotsResults.lots }) } diff --git a/handlers/workOrders-post/doAddWorkOrderLotOccupancy.d.ts b/handlers/workOrders-post/doAddWorkOrderLotOccupancy.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doAddWorkOrderLotOccupancy.d.ts +++ b/handlers/workOrders-post/doAddWorkOrderLotOccupancy.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doAddWorkOrderLotOccupancy.js b/handlers/workOrders-post/doAddWorkOrderLotOccupancy.js index 9b4b4a78..cea87e19 100644 --- a/handlers/workOrders-post/doAddWorkOrderLotOccupancy.js +++ b/handlers/workOrders-post/doAddWorkOrderLotOccupancy.js @@ -1,20 +1,20 @@ import { addWorkOrderLotOccupancy } from '../../helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js'; import { getLotOccupancies } from '../../helpers/lotOccupancyDB/getLotOccupancies.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = addWorkOrderLotOccupancy({ workOrderId: request.body.workOrderId, lotOccupancyId: request.body.lotOccupancyId }, request.session); - const workOrderLotOccupancies = getLotOccupancies({ + const workOrderLotOccupanciesResults = await getLotOccupancies({ workOrderId: request.body.workOrderId }, { limit: -1, offset: 0, includeOccupants: true - }).lotOccupancies; + }); response.json({ success, - workOrderLotOccupancies + workOrderLotOccupancies: workOrderLotOccupanciesResults.lotOccupancies }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doAddWorkOrderLotOccupancy.ts b/handlers/workOrders-post/doAddWorkOrderLotOccupancy.ts index c5712eb8..abfc7156 100644 --- a/handlers/workOrders-post/doAddWorkOrderLotOccupancy.ts +++ b/handlers/workOrders-post/doAddWorkOrderLotOccupancy.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addWorkOrderLotOccupancy } from '../../helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js' import { getLotOccupancies } from '../../helpers/lotOccupancyDB/getLotOccupancies.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = addWorkOrderLotOccupancy( { workOrderId: request.body.workOrderId, @@ -12,7 +15,7 @@ export const handler: RequestHandler = (request, response) => { request.session ) - const workOrderLotOccupancies = getLotOccupancies( + const workOrderLotOccupanciesResults = await getLotOccupancies( { workOrderId: request.body.workOrderId }, @@ -21,11 +24,11 @@ export const handler: RequestHandler = (request, response) => { offset: 0, includeOccupants: true } - ).lotOccupancies + ) response.json({ success, - workOrderLotOccupancies + workOrderLotOccupancies: workOrderLotOccupanciesResults.lotOccupancies }) } diff --git a/handlers/workOrders-post/doAddWorkOrderMilestone.d.ts b/handlers/workOrders-post/doAddWorkOrderMilestone.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doAddWorkOrderMilestone.d.ts +++ b/handlers/workOrders-post/doAddWorkOrderMilestone.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doAddWorkOrderMilestone.js b/handlers/workOrders-post/doAddWorkOrderMilestone.js index 409a742e..4e592a78 100644 --- a/handlers/workOrders-post/doAddWorkOrderMilestone.js +++ b/handlers/workOrders-post/doAddWorkOrderMilestone.js @@ -1,6 +1,6 @@ import { addWorkOrderMilestone } from '../../helpers/lotOccupancyDB/addWorkOrderMilestone.js'; import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = addWorkOrderMilestone(request.body, request.session); const workOrderMilestones = getWorkOrderMilestones({ workOrderId: request.body.workOrderId @@ -11,5 +11,5 @@ export const handler = (request, response) => { success, workOrderMilestones }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doAddWorkOrderMilestone.ts b/handlers/workOrders-post/doAddWorkOrderMilestone.ts index 28ccc1bf..dafc0683 100644 --- a/handlers/workOrders-post/doAddWorkOrderMilestone.ts +++ b/handlers/workOrders-post/doAddWorkOrderMilestone.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addWorkOrderMilestone } from '../../helpers/lotOccupancyDB/addWorkOrderMilestone.js' import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = addWorkOrderMilestone(request.body, request.session) const workOrderMilestones = getWorkOrderMilestones( diff --git a/handlers/workOrders-post/doCloseWorkOrder.d.ts b/handlers/workOrders-post/doCloseWorkOrder.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doCloseWorkOrder.d.ts +++ b/handlers/workOrders-post/doCloseWorkOrder.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doCloseWorkOrder.js b/handlers/workOrders-post/doCloseWorkOrder.js index 1fb44ea4..b33d447b 100644 --- a/handlers/workOrders-post/doCloseWorkOrder.js +++ b/handlers/workOrders-post/doCloseWorkOrder.js @@ -1,8 +1,8 @@ import { closeWorkOrder } from '../../helpers/lotOccupancyDB/closeWorkOrder.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = closeWorkOrder(request.body, request.session); response.json({ success }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doCloseWorkOrder.ts b/handlers/workOrders-post/doCloseWorkOrder.ts index 306994ba..9d9a0225 100644 --- a/handlers/workOrders-post/doCloseWorkOrder.ts +++ b/handlers/workOrders-post/doCloseWorkOrder.ts @@ -1,8 +1,11 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { closeWorkOrder } from '../../helpers/lotOccupancyDB/closeWorkOrder.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = closeWorkOrder(request.body, request.session) response.json({ diff --git a/handlers/workOrders-post/doCompleteWorkOrderMilestone.d.ts b/handlers/workOrders-post/doCompleteWorkOrderMilestone.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doCompleteWorkOrderMilestone.d.ts +++ b/handlers/workOrders-post/doCompleteWorkOrderMilestone.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doCompleteWorkOrderMilestone.js b/handlers/workOrders-post/doCompleteWorkOrderMilestone.js index 136cade6..af8da3b0 100644 --- a/handlers/workOrders-post/doCompleteWorkOrderMilestone.js +++ b/handlers/workOrders-post/doCompleteWorkOrderMilestone.js @@ -1,6 +1,6 @@ import { completeWorkOrderMilestone } from '../../helpers/lotOccupancyDB/completeWorkOrderMilestone.js'; import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = completeWorkOrderMilestone({ workOrderMilestoneId: request.body.workOrderMilestoneId }, request.session); @@ -13,5 +13,5 @@ export const handler = (request, response) => { success, workOrderMilestones }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doCompleteWorkOrderMilestone.ts b/handlers/workOrders-post/doCompleteWorkOrderMilestone.ts index 9c55c6c5..4a449f80 100644 --- a/handlers/workOrders-post/doCompleteWorkOrderMilestone.ts +++ b/handlers/workOrders-post/doCompleteWorkOrderMilestone.ts @@ -1,10 +1,13 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { completeWorkOrderMilestone } from '../../helpers/lotOccupancyDB/completeWorkOrderMilestone.js' import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = completeWorkOrderMilestone( { workOrderMilestoneId: request.body.workOrderMilestoneId diff --git a/handlers/workOrders-post/doCreateWorkOrder.d.ts b/handlers/workOrders-post/doCreateWorkOrder.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doCreateWorkOrder.d.ts +++ b/handlers/workOrders-post/doCreateWorkOrder.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doCreateWorkOrder.js b/handlers/workOrders-post/doCreateWorkOrder.js index 563f11b4..0e2301bc 100644 --- a/handlers/workOrders-post/doCreateWorkOrder.js +++ b/handlers/workOrders-post/doCreateWorkOrder.js @@ -1,9 +1,9 @@ import { addWorkOrder } from '../../helpers/lotOccupancyDB/addWorkOrder.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const workOrderId = addWorkOrder(request.body, request.session); response.json({ success: true, workOrderId }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doCreateWorkOrder.ts b/handlers/workOrders-post/doCreateWorkOrder.ts index f50067ba..b023d6bb 100644 --- a/handlers/workOrders-post/doCreateWorkOrder.ts +++ b/handlers/workOrders-post/doCreateWorkOrder.ts @@ -1,8 +1,11 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { addWorkOrder } from '../../helpers/lotOccupancyDB/addWorkOrder.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const workOrderId = addWorkOrder(request.body, request.session) response.json({ diff --git a/handlers/workOrders-post/doDeleteWorkOrder.d.ts b/handlers/workOrders-post/doDeleteWorkOrder.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doDeleteWorkOrder.d.ts +++ b/handlers/workOrders-post/doDeleteWorkOrder.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doDeleteWorkOrder.js b/handlers/workOrders-post/doDeleteWorkOrder.js index e1a9e289..db3861ea 100644 --- a/handlers/workOrders-post/doDeleteWorkOrder.js +++ b/handlers/workOrders-post/doDeleteWorkOrder.js @@ -1,8 +1,8 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = deleteRecord('WorkOrders', request.body.workOrderId, request.session); response.json({ success }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doDeleteWorkOrder.ts b/handlers/workOrders-post/doDeleteWorkOrder.ts index ce56d0b2..c21bb2e3 100644 --- a/handlers/workOrders-post/doDeleteWorkOrder.ts +++ b/handlers/workOrders-post/doDeleteWorkOrder.ts @@ -1,8 +1,11 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = deleteRecord( 'WorkOrders', request.body.workOrderId, diff --git a/handlers/workOrders-post/doDeleteWorkOrderComment.d.ts b/handlers/workOrders-post/doDeleteWorkOrderComment.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderComment.d.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderComment.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doDeleteWorkOrderComment.js b/handlers/workOrders-post/doDeleteWorkOrderComment.js index 5f4edc1a..87746758 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderComment.js +++ b/handlers/workOrders-post/doDeleteWorkOrderComment.js @@ -1,11 +1,11 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getWorkOrderComments } from '../../helpers/lotOccupancyDB/getWorkOrderComments.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = deleteRecord('WorkOrderComments', request.body.workOrderCommentId, request.session); const workOrderComments = getWorkOrderComments(request.body.workOrderId); response.json({ success, workOrderComments }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doDeleteWorkOrderComment.ts b/handlers/workOrders-post/doDeleteWorkOrderComment.ts index 810bd44c..6afc9f39 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderComment.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderComment.ts @@ -1,10 +1,13 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' import { getWorkOrderComments } from '../../helpers/lotOccupancyDB/getWorkOrderComments.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = deleteRecord( 'WorkOrderComments', request.body.workOrderCommentId, diff --git a/handlers/workOrders-post/doDeleteWorkOrderLot.d.ts b/handlers/workOrders-post/doDeleteWorkOrderLot.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderLot.d.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderLot.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doDeleteWorkOrderLot.js b/handlers/workOrders-post/doDeleteWorkOrderLot.js index 3cccaf70..fd252a4b 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderLot.js +++ b/handlers/workOrders-post/doDeleteWorkOrderLot.js @@ -1,16 +1,16 @@ import { deleteWorkOrderLot } from '../../helpers/lotOccupancyDB/deleteWorkOrderLot.js'; import { getLots } from '../../helpers/lotOccupancyDB/getLots.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = deleteWorkOrderLot(request.body.workOrderId, request.body.lotId, request.session); - const workOrderLots = getLots({ + const workOrderLotsResults = await getLots({ workOrderId: request.body.workOrderId }, { limit: -1, offset: 0 - }).lots; + }); response.json({ success, - workOrderLots + workOrderLots: workOrderLotsResults.lots }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doDeleteWorkOrderLot.ts b/handlers/workOrders-post/doDeleteWorkOrderLot.ts index ab0ce7aa..8a9f0d96 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderLot.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderLot.ts @@ -1,16 +1,19 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteWorkOrderLot } from '../../helpers/lotOccupancyDB/deleteWorkOrderLot.js' import { getLots } from '../../helpers/lotOccupancyDB/getLots.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = deleteWorkOrderLot( request.body.workOrderId, request.body.lotId, request.session ) - const workOrderLots = getLots( + const workOrderLotsResults = await getLots( { workOrderId: request.body.workOrderId }, @@ -18,11 +21,11 @@ export const handler: RequestHandler = (request, response) => { limit: -1, offset: 0 } - ).lots + ) response.json({ success, - workOrderLots + workOrderLots: workOrderLotsResults.lots }) } diff --git a/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.d.ts b/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.d.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.js b/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.js index 52c2af12..e462e4a8 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.js +++ b/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.js @@ -1,17 +1,17 @@ import { deleteWorkOrderLotOccupancy } from '../../helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.js'; import { getLotOccupancies } from '../../helpers/lotOccupancyDB/getLotOccupancies.js'; -export const handler = (request, response) => { - const success = deleteWorkOrderLotOccupancy(request.body.workOrderId, request.body.lotOccupancyId, request.session); - const workOrderLotOccupancies = getLotOccupancies({ +export async function handler(request, response) { + const success = await deleteWorkOrderLotOccupancy(request.body.workOrderId, request.body.lotOccupancyId, request.session); + const workOrderLotOccupancies = await getLotOccupancies({ workOrderId: request.body.workOrderId }, { limit: -1, offset: 0, includeOccupants: true - }).lotOccupancies; + }); response.json({ success, - workOrderLotOccupancies + workOrderLotOccupancies: workOrderLotOccupancies.lotOccupancies }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.ts b/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.ts index 9a0dbe41..eab0fffe 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.ts @@ -1,16 +1,16 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteWorkOrderLotOccupancy } from '../../helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.js' import { getLotOccupancies } from '../../helpers/lotOccupancyDB/getLotOccupancies.js' -export const handler: RequestHandler = (request, response) => { - const success = deleteWorkOrderLotOccupancy( +export async function handler(request: Request, response: Response): Promise { + const success = await deleteWorkOrderLotOccupancy( request.body.workOrderId, request.body.lotOccupancyId, request.session ) - const workOrderLotOccupancies = getLotOccupancies( + const workOrderLotOccupancies = await getLotOccupancies( { workOrderId: request.body.workOrderId }, @@ -19,11 +19,11 @@ export const handler: RequestHandler = (request, response) => { offset: 0, includeOccupants: true } - ).lotOccupancies + ) response.json({ success, - workOrderLotOccupancies + workOrderLotOccupancies: workOrderLotOccupancies.lotOccupancies }) } diff --git a/handlers/workOrders-post/doDeleteWorkOrderMilestone.d.ts b/handlers/workOrders-post/doDeleteWorkOrderMilestone.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderMilestone.d.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderMilestone.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doDeleteWorkOrderMilestone.js b/handlers/workOrders-post/doDeleteWorkOrderMilestone.js index b2d9e78f..24aa3f72 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderMilestone.js +++ b/handlers/workOrders-post/doDeleteWorkOrderMilestone.js @@ -1,6 +1,6 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = deleteRecord('WorkOrderMilestones', request.body.workOrderMilestoneId, request.session); const workOrderMilestones = getWorkOrderMilestones({ workOrderId: request.body.workOrderId @@ -11,5 +11,5 @@ export const handler = (request, response) => { success, workOrderMilestones }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doDeleteWorkOrderMilestone.ts b/handlers/workOrders-post/doDeleteWorkOrderMilestone.ts index 4bd729cc..ef55f71e 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderMilestone.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderMilestone.ts @@ -1,10 +1,13 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = deleteRecord( 'WorkOrderMilestones', request.body.workOrderMilestoneId, diff --git a/handlers/workOrders-post/doGetWorkOrderMilestones.d.ts b/handlers/workOrders-post/doGetWorkOrderMilestones.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doGetWorkOrderMilestones.d.ts +++ b/handlers/workOrders-post/doGetWorkOrderMilestones.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doGetWorkOrderMilestones.js b/handlers/workOrders-post/doGetWorkOrderMilestones.js index 366415b1..53302b74 100644 --- a/handlers/workOrders-post/doGetWorkOrderMilestones.js +++ b/handlers/workOrders-post/doGetWorkOrderMilestones.js @@ -1,11 +1,11 @@ import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js'; -export const handler = (request, response) => { - const workOrderMilestones = getWorkOrderMilestones(request.body, { +export async function handler(request, response) { + const workOrderMilestones = await getWorkOrderMilestones(request.body, { includeWorkOrders: true, orderBy: 'date' }); response.json({ workOrderMilestones }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doGetWorkOrderMilestones.ts b/handlers/workOrders-post/doGetWorkOrderMilestones.ts index 8cfe20f2..cd29d112 100644 --- a/handlers/workOrders-post/doGetWorkOrderMilestones.ts +++ b/handlers/workOrders-post/doGetWorkOrderMilestones.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js' -export const handler: RequestHandler = (request, response) => { - const workOrderMilestones = getWorkOrderMilestones(request.body, { +export async function handler( + request: Request, + response: Response +): Promise { + const workOrderMilestones = await getWorkOrderMilestones(request.body, { includeWorkOrders: true, orderBy: 'date' }) diff --git a/handlers/workOrders-post/doReopenWorkOrder.d.ts b/handlers/workOrders-post/doReopenWorkOrder.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doReopenWorkOrder.d.ts +++ b/handlers/workOrders-post/doReopenWorkOrder.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doReopenWorkOrder.js b/handlers/workOrders-post/doReopenWorkOrder.js index 9967ff3e..c0403444 100644 --- a/handlers/workOrders-post/doReopenWorkOrder.js +++ b/handlers/workOrders-post/doReopenWorkOrder.js @@ -1,9 +1,9 @@ import { reopenWorkOrder } from '../../helpers/lotOccupancyDB/reopenWorkOrder.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = reopenWorkOrder(request.body.workOrderId, request.session); response.json({ success, workOrderId: request.body.workOrderId }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doReopenWorkOrder.ts b/handlers/workOrders-post/doReopenWorkOrder.ts index 13dbd82f..c2af78b1 100644 --- a/handlers/workOrders-post/doReopenWorkOrder.ts +++ b/handlers/workOrders-post/doReopenWorkOrder.ts @@ -1,8 +1,11 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { reopenWorkOrder } from '../../helpers/lotOccupancyDB/reopenWorkOrder.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = reopenWorkOrder(request.body.workOrderId, request.session) response.json({ diff --git a/handlers/workOrders-post/doReopenWorkOrderMilestone.d.ts b/handlers/workOrders-post/doReopenWorkOrderMilestone.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doReopenWorkOrderMilestone.d.ts +++ b/handlers/workOrders-post/doReopenWorkOrderMilestone.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doReopenWorkOrderMilestone.js b/handlers/workOrders-post/doReopenWorkOrderMilestone.js index 0bebc352..2b3ad750 100644 --- a/handlers/workOrders-post/doReopenWorkOrderMilestone.js +++ b/handlers/workOrders-post/doReopenWorkOrderMilestone.js @@ -1,6 +1,6 @@ import { reopenWorkOrderMilestone } from '../../helpers/lotOccupancyDB/reopenWorkOrderMilestone.js'; import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = reopenWorkOrderMilestone(request.body.workOrderMilestoneId, request.session); const workOrderMilestones = getWorkOrderMilestones({ workOrderId: request.body.workOrderId @@ -11,5 +11,5 @@ export const handler = (request, response) => { success, workOrderMilestones }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doReopenWorkOrderMilestone.ts b/handlers/workOrders-post/doReopenWorkOrderMilestone.ts index 6d99859b..67d7c73a 100644 --- a/handlers/workOrders-post/doReopenWorkOrderMilestone.ts +++ b/handlers/workOrders-post/doReopenWorkOrderMilestone.ts @@ -1,10 +1,13 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { reopenWorkOrderMilestone } from '../../helpers/lotOccupancyDB/reopenWorkOrderMilestone.js' import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = reopenWorkOrderMilestone( request.body.workOrderMilestoneId, request.session diff --git a/handlers/workOrders-post/doSearchWorkOrders.d.ts b/handlers/workOrders-post/doSearchWorkOrders.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doSearchWorkOrders.d.ts +++ b/handlers/workOrders-post/doSearchWorkOrders.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doSearchWorkOrders.js b/handlers/workOrders-post/doSearchWorkOrders.js index 9ee79df9..1134dff0 100644 --- a/handlers/workOrders-post/doSearchWorkOrders.js +++ b/handlers/workOrders-post/doSearchWorkOrders.js @@ -1,6 +1,6 @@ import { getWorkOrders } from '../../helpers/lotOccupancyDB/getWorkOrders.js'; -export const handler = (request, response) => { - const result = getWorkOrders(request.body, { +export async function handler(request, response) { + const result = await getWorkOrders(request.body, { limit: request.body.limit, offset: request.body.offset, includeLotsAndLotOccupancies: true @@ -10,5 +10,5 @@ export const handler = (request, response) => { offset: Number.parseInt(request.body.offset, 10), workOrders: result.workOrders }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doSearchWorkOrders.ts b/handlers/workOrders-post/doSearchWorkOrders.ts index 78773336..813d6e6e 100644 --- a/handlers/workOrders-post/doSearchWorkOrders.ts +++ b/handlers/workOrders-post/doSearchWorkOrders.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { getWorkOrders } from '../../helpers/lotOccupancyDB/getWorkOrders.js' -export const handler: RequestHandler = (request, response) => { - const result = getWorkOrders(request.body, { +export async function handler( + request: Request, + response: Response +): Promise { + const result = await getWorkOrders(request.body, { limit: request.body.limit, offset: request.body.offset, includeLotsAndLotOccupancies: true diff --git a/handlers/workOrders-post/doUpdateLotStatus.d.ts b/handlers/workOrders-post/doUpdateLotStatus.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doUpdateLotStatus.d.ts +++ b/handlers/workOrders-post/doUpdateLotStatus.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doUpdateLotStatus.js b/handlers/workOrders-post/doUpdateLotStatus.js index bbbc07e9..f548c2c6 100644 --- a/handlers/workOrders-post/doUpdateLotStatus.js +++ b/handlers/workOrders-post/doUpdateLotStatus.js @@ -1,16 +1,16 @@ import { updateLotStatus } from '../../helpers/lotOccupancyDB/updateLot.js'; import { getLots } from '../../helpers/lotOccupancyDB/getLots.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = updateLotStatus(request.body.lotId, request.body.lotStatusId, request.session); - const workOrderLots = getLots({ + const workOrderLotsResults = await getLots({ workOrderId: request.body.workOrderId }, { limit: -1, offset: 0 - }).lots; + }); response.json({ success, - workOrderLots + workOrderLots: workOrderLotsResults.lots }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doUpdateLotStatus.ts b/handlers/workOrders-post/doUpdateLotStatus.ts index 9ca6918b..4d6a6bfc 100644 --- a/handlers/workOrders-post/doUpdateLotStatus.ts +++ b/handlers/workOrders-post/doUpdateLotStatus.ts @@ -1,16 +1,19 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateLotStatus } from '../../helpers/lotOccupancyDB/updateLot.js' import { getLots } from '../../helpers/lotOccupancyDB/getLots.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = updateLotStatus( request.body.lotId, request.body.lotStatusId, request.session ) - const workOrderLots = getLots( + const workOrderLotsResults = await getLots( { workOrderId: request.body.workOrderId }, @@ -18,11 +21,11 @@ export const handler: RequestHandler = (request, response) => { limit: -1, offset: 0 } - ).lots + ) response.json({ success, - workOrderLots + workOrderLots: workOrderLotsResults.lots }) } diff --git a/handlers/workOrders-post/doUpdateWorkOrder.d.ts b/handlers/workOrders-post/doUpdateWorkOrder.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doUpdateWorkOrder.d.ts +++ b/handlers/workOrders-post/doUpdateWorkOrder.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doUpdateWorkOrder.js b/handlers/workOrders-post/doUpdateWorkOrder.js index 3c93bda3..d596d28c 100644 --- a/handlers/workOrders-post/doUpdateWorkOrder.js +++ b/handlers/workOrders-post/doUpdateWorkOrder.js @@ -1,9 +1,9 @@ import { updateWorkOrder } from '../../helpers/lotOccupancyDB/updateWorkOrder.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = updateWorkOrder(request.body, request.session); response.json({ success, workOrderId: request.body.workOrderId }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doUpdateWorkOrder.ts b/handlers/workOrders-post/doUpdateWorkOrder.ts index b6a84b64..6dd6df73 100644 --- a/handlers/workOrders-post/doUpdateWorkOrder.ts +++ b/handlers/workOrders-post/doUpdateWorkOrder.ts @@ -1,8 +1,11 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateWorkOrder } from '../../helpers/lotOccupancyDB/updateWorkOrder.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = updateWorkOrder(request.body, request.session) response.json({ diff --git a/handlers/workOrders-post/doUpdateWorkOrderComment.d.ts b/handlers/workOrders-post/doUpdateWorkOrderComment.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doUpdateWorkOrderComment.d.ts +++ b/handlers/workOrders-post/doUpdateWorkOrderComment.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doUpdateWorkOrderComment.js b/handlers/workOrders-post/doUpdateWorkOrderComment.js index 694a7352..43c8d8f5 100644 --- a/handlers/workOrders-post/doUpdateWorkOrderComment.js +++ b/handlers/workOrders-post/doUpdateWorkOrderComment.js @@ -1,11 +1,11 @@ import { updateWorkOrderComment } from '../../helpers/lotOccupancyDB/updateWorkOrderComment.js'; import { getWorkOrderComments } from '../../helpers/lotOccupancyDB/getWorkOrderComments.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = updateWorkOrderComment(request.body, request.session); const workOrderComments = getWorkOrderComments(request.body.workOrderId); response.json({ success, workOrderComments }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doUpdateWorkOrderComment.ts b/handlers/workOrders-post/doUpdateWorkOrderComment.ts index 9f56f42e..1e22519a 100644 --- a/handlers/workOrders-post/doUpdateWorkOrderComment.ts +++ b/handlers/workOrders-post/doUpdateWorkOrderComment.ts @@ -1,10 +1,13 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateWorkOrderComment } from '../../helpers/lotOccupancyDB/updateWorkOrderComment.js' import { getWorkOrderComments } from '../../helpers/lotOccupancyDB/getWorkOrderComments.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = updateWorkOrderComment(request.body, request.session) const workOrderComments = getWorkOrderComments(request.body.workOrderId) diff --git a/handlers/workOrders-post/doUpdateWorkOrderMilestone.d.ts b/handlers/workOrders-post/doUpdateWorkOrderMilestone.d.ts index 7151ed90..7c872b55 100644 --- a/handlers/workOrders-post/doUpdateWorkOrderMilestone.d.ts +++ b/handlers/workOrders-post/doUpdateWorkOrderMilestone.d.ts @@ -1,3 +1,3 @@ -import type { RequestHandler } from 'express'; -export declare const handler: RequestHandler; +import type { Request, Response } from 'express'; +export declare function handler(request: Request, response: Response): Promise; export default handler; diff --git a/handlers/workOrders-post/doUpdateWorkOrderMilestone.js b/handlers/workOrders-post/doUpdateWorkOrderMilestone.js index 40ff2f72..73108d5b 100644 --- a/handlers/workOrders-post/doUpdateWorkOrderMilestone.js +++ b/handlers/workOrders-post/doUpdateWorkOrderMilestone.js @@ -1,6 +1,6 @@ import { updateWorkOrderMilestone } from '../../helpers/lotOccupancyDB/updateWorkOrderMilestone.js'; import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js'; -export const handler = (request, response) => { +export async function handler(request, response) { const success = updateWorkOrderMilestone(request.body, request.session); const workOrderMilestones = getWorkOrderMilestones({ workOrderId: request.body.workOrderId @@ -11,5 +11,5 @@ export const handler = (request, response) => { success, workOrderMilestones }); -}; +} export default handler; diff --git a/handlers/workOrders-post/doUpdateWorkOrderMilestone.ts b/handlers/workOrders-post/doUpdateWorkOrderMilestone.ts index 68baf1a8..26df4ce9 100644 --- a/handlers/workOrders-post/doUpdateWorkOrderMilestone.ts +++ b/handlers/workOrders-post/doUpdateWorkOrderMilestone.ts @@ -1,9 +1,12 @@ -import type { RequestHandler } from 'express' +import type { Request, Response } from 'express' import { updateWorkOrderMilestone } from '../../helpers/lotOccupancyDB/updateWorkOrderMilestone.js' import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js' -export const handler: RequestHandler = (request, response) => { +export async function handler( + request: Request, + response: Response +): Promise { const success = updateWorkOrderMilestone(request.body, request.session) const workOrderMilestones = getWorkOrderMilestones( diff --git a/helpers/functions.cache.d.ts b/helpers/functions.cache.d.ts index 54c88ed3..9a5d2f46 100644 --- a/helpers/functions.cache.d.ts +++ b/helpers/functions.cache.d.ts @@ -1,21 +1,21 @@ import type * as recordTypes from '../types/recordTypes'; -export declare function getLotOccupantTypes(): recordTypes.LotOccupantType[]; -export declare function getLotOccupantTypeById(lotOccupantTypeId: number): recordTypes.LotOccupantType | undefined; -export declare function getLotOccupantTypeByLotOccupantType(lotOccupantType: string): recordTypes.LotOccupantType | undefined; -export declare function getLotStatuses(): recordTypes.LotStatus[]; -export declare function getLotStatusById(lotStatusId: number): recordTypes.LotStatus | undefined; -export declare function getLotStatusByLotStatus(lotStatus: string): recordTypes.LotStatus | undefined; -export declare function getLotTypes(): recordTypes.LotType[]; -export declare function getLotTypeById(lotTypeId: number): recordTypes.LotType | undefined; -export declare function getLotTypesByLotType(lotType: string): recordTypes.LotType | undefined; -export declare function getOccupancyTypes(): recordTypes.OccupancyType[]; -export declare function getAllOccupancyTypeFields(): recordTypes.OccupancyTypeField[]; -export declare function getOccupancyTypeById(occupancyTypeId: number): recordTypes.OccupancyType | undefined; -export declare function getOccupancyTypeByOccupancyType(occupancyTypeString: string): recordTypes.OccupancyType | undefined; -export declare function getOccupancyTypePrintsById(occupancyTypeId: number): string[]; -export declare function getWorkOrderTypes(): recordTypes.WorkOrderType[]; -export declare function getWorkOrderTypeById(workOrderTypeId: number): recordTypes.WorkOrderType | undefined; -export declare function getWorkOrderMilestoneTypes(): recordTypes.WorkOrderMilestoneType[]; -export declare function getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(workOrderMilestoneTypeId: number): recordTypes.WorkOrderMilestoneType | undefined; -export declare function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString: string): recordTypes.WorkOrderMilestoneType | undefined; +export declare function getLotOccupantTypes(): Promise; +export declare function getLotOccupantTypeById(lotOccupantTypeId: number): Promise; +export declare function getLotOccupantTypeByLotOccupantType(lotOccupantType: string): Promise; +export declare function getLotStatuses(): Promise; +export declare function getLotStatusById(lotStatusId: number): Promise; +export declare function getLotStatusByLotStatus(lotStatus: string): Promise; +export declare function getLotTypes(): Promise; +export declare function getLotTypeById(lotTypeId: number): Promise; +export declare function getLotTypesByLotType(lotType: string): Promise; +export declare function getOccupancyTypes(): Promise; +export declare function getAllOccupancyTypeFields(): Promise; +export declare function getOccupancyTypeById(occupancyTypeId: number): Promise; +export declare function getOccupancyTypeByOccupancyType(occupancyTypeString: string): Promise; +export declare function getOccupancyTypePrintsById(occupancyTypeId: number): Promise; +export declare function getWorkOrderTypes(): Promise; +export declare function getWorkOrderTypeById(workOrderTypeId: number): Promise; +export declare function getWorkOrderMilestoneTypes(): Promise; +export declare function getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(workOrderMilestoneTypeId: number): Promise; +export declare function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString: string): Promise; export declare function clearCacheByTableName(tableName: string): void; diff --git a/helpers/functions.cache.js b/helpers/functions.cache.js index 918ecfa3..0d0cc9b5 100644 --- a/helpers/functions.cache.js +++ b/helpers/functions.cache.js @@ -7,20 +7,20 @@ import { getOccupancyTypeFields as getOccupancyTypeFieldsFromDatabase } from './ import { getWorkOrderTypes as getWorkOrderTypesFromDatabase } from './lotOccupancyDB/getWorkOrderTypes.js'; import { getWorkOrderMilestoneTypes as getWorkOrderMilestoneTypesFromDatabase } from './lotOccupancyDB/getWorkOrderMilestoneTypes.js'; let lotOccupantTypes; -export function getLotOccupantTypes() { +export async function getLotOccupantTypes() { if (lotOccupantTypes === undefined) { - lotOccupantTypes = getLotOccupantTypesFromDatabase(); + lotOccupantTypes = await getLotOccupantTypesFromDatabase(); } return lotOccupantTypes; } -export function getLotOccupantTypeById(lotOccupantTypeId) { - const cachedLotOccupantTypes = getLotOccupantTypes(); +export async function getLotOccupantTypeById(lotOccupantTypeId) { + const cachedLotOccupantTypes = await getLotOccupantTypes(); return cachedLotOccupantTypes.find((currentLotOccupantType) => { return currentLotOccupantType.lotOccupantTypeId === lotOccupantTypeId; }); } -export function getLotOccupantTypeByLotOccupantType(lotOccupantType) { - const cachedLotOccupantTypes = getLotOccupantTypes(); +export async function getLotOccupantTypeByLotOccupantType(lotOccupantType) { + const cachedLotOccupantTypes = await getLotOccupantTypes(); const lotOccupantTypeLowerCase = lotOccupantType.toLowerCase(); return cachedLotOccupantTypes.find((currentLotOccupantType) => { return (currentLotOccupantType.lotOccupantType.toLowerCase() === @@ -31,20 +31,20 @@ function clearLotOccupantTypesCache() { lotOccupantTypes = undefined; } let lotStatuses; -export function getLotStatuses() { +export async function getLotStatuses() { if (lotStatuses === undefined) { - lotStatuses = getLotStatusesFromDatabase(); + lotStatuses = await getLotStatusesFromDatabase(); } return lotStatuses; } -export function getLotStatusById(lotStatusId) { - const cachedLotStatuses = getLotStatuses(); +export async function getLotStatusById(lotStatusId) { + const cachedLotStatuses = await getLotStatuses(); return cachedLotStatuses.find((currentLotStatus) => { return currentLotStatus.lotStatusId === lotStatusId; }); } -export function getLotStatusByLotStatus(lotStatus) { - const cachedLotStatuses = getLotStatuses(); +export async function getLotStatusByLotStatus(lotStatus) { + const cachedLotStatuses = await getLotStatuses(); const lotStatusLowerCase = lotStatus.toLowerCase(); return cachedLotStatuses.find((currentLotStatus) => { return currentLotStatus.lotStatus.toLowerCase() === lotStatusLowerCase; @@ -54,20 +54,20 @@ function clearLotStatusesCache() { lotStatuses = undefined; } let lotTypes; -export function getLotTypes() { +export async function getLotTypes() { if (lotTypes === undefined) { - lotTypes = getLotTypesFromDatabase(); + lotTypes = await getLotTypesFromDatabase(); } return lotTypes; } -export function getLotTypeById(lotTypeId) { - const cachedLotTypes = getLotTypes(); +export async function getLotTypeById(lotTypeId) { + const cachedLotTypes = await getLotTypes(); return cachedLotTypes.find((currentLotType) => { return currentLotType.lotTypeId === lotTypeId; }); } -export function getLotTypesByLotType(lotType) { - const cachedLotTypes = getLotTypes(); +export async function getLotTypesByLotType(lotType) { + const cachedLotTypes = await getLotTypes(); const lotTypeLowerCase = lotType.toLowerCase(); return cachedLotTypes.find((currentLotType) => { return currentLotType.lotType.toLowerCase() === lotTypeLowerCase; @@ -78,34 +78,34 @@ function clearLotTypesCache() { } let occupancyTypes; let allOccupancyTypeFields; -export function getOccupancyTypes() { +export async function getOccupancyTypes() { if (occupancyTypes === undefined) { - occupancyTypes = getOccupancyTypesFromDatabase(); + occupancyTypes = await getOccupancyTypesFromDatabase(); } return occupancyTypes; } -export function getAllOccupancyTypeFields() { +export async function getAllOccupancyTypeFields() { if (allOccupancyTypeFields === undefined) { - allOccupancyTypeFields = getOccupancyTypeFieldsFromDatabase(); + allOccupancyTypeFields = await getOccupancyTypeFieldsFromDatabase(); } return allOccupancyTypeFields; } -export function getOccupancyTypeById(occupancyTypeId) { - const cachedOccupancyTypes = getOccupancyTypes(); +export async function getOccupancyTypeById(occupancyTypeId) { + const cachedOccupancyTypes = await getOccupancyTypes(); return cachedOccupancyTypes.find((currentOccupancyType) => { return currentOccupancyType.occupancyTypeId === occupancyTypeId; }); } -export function getOccupancyTypeByOccupancyType(occupancyTypeString) { - const cachedOccupancyTypes = getOccupancyTypes(); +export async function getOccupancyTypeByOccupancyType(occupancyTypeString) { + const cachedOccupancyTypes = await getOccupancyTypes(); const occupancyTypeLowerCase = occupancyTypeString.toLowerCase(); return cachedOccupancyTypes.find((currentOccupancyType) => { return (currentOccupancyType.occupancyType.toLowerCase() === occupancyTypeLowerCase); }); } -export function getOccupancyTypePrintsById(occupancyTypeId) { - const occupancyType = getOccupancyTypeById(occupancyTypeId); +export async function getOccupancyTypePrintsById(occupancyTypeId) { + const occupancyType = await getOccupancyTypeById(occupancyTypeId); if (occupancyType === undefined || (occupancyType.occupancyTypePrints ?? []).length === 0) { return []; @@ -120,14 +120,14 @@ function clearOccupancyTypesCache() { allOccupancyTypeFields = undefined; } let workOrderTypes; -export function getWorkOrderTypes() { +export async function getWorkOrderTypes() { if (workOrderTypes === undefined) { - workOrderTypes = getWorkOrderTypesFromDatabase(); + workOrderTypes = await getWorkOrderTypesFromDatabase(); } return workOrderTypes; } -export function getWorkOrderTypeById(workOrderTypeId) { - const cachedWorkOrderTypes = getWorkOrderTypes(); +export async function getWorkOrderTypeById(workOrderTypeId) { + const cachedWorkOrderTypes = await getWorkOrderTypes(); return cachedWorkOrderTypes.find((currentWorkOrderType) => { return currentWorkOrderType.workOrderTypeId === workOrderTypeId; }); @@ -136,21 +136,21 @@ function clearWorkOrderTypesCache() { workOrderTypes = undefined; } let workOrderMilestoneTypes; -export function getWorkOrderMilestoneTypes() { +export async function getWorkOrderMilestoneTypes() { if (workOrderMilestoneTypes === undefined) { - workOrderMilestoneTypes = getWorkOrderMilestoneTypesFromDatabase(); + workOrderMilestoneTypes = await getWorkOrderMilestoneTypesFromDatabase(); } return workOrderMilestoneTypes; } -export function getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(workOrderMilestoneTypeId) { - const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes(); +export async function getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId(workOrderMilestoneTypeId) { + const cachedWorkOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => { return (currentWorkOrderMilestoneType.workOrderMilestoneTypeId === workOrderMilestoneTypeId); }); } -export function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString) { - const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes(); +export async function getWorkOrderMilestoneTypeByWorkOrderMilestoneType(workOrderMilestoneTypeString) { + const cachedWorkOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); const workOrderMilestoneTypeLowerCase = workOrderMilestoneTypeString.toLowerCase(); return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => { return (currentWorkOrderMilestoneType.workOrderMilestoneType.toLowerCase() === diff --git a/helpers/functions.cache.ts b/helpers/functions.cache.ts index 63e98a7f..1846491b 100644 --- a/helpers/functions.cache.ts +++ b/helpers/functions.cache.ts @@ -1,3 +1,5 @@ +/* eslint-disable @typescript-eslint/indent */ + import * as configFunctions from './functions.config.js' import { getLotOccupantTypes as getLotOccupantTypesFromDatabase } from './lotOccupancyDB/getLotOccupantTypes.js' @@ -21,28 +23,30 @@ import type * as recordTypes from '../types/recordTypes' let lotOccupantTypes: recordTypes.LotOccupantType[] | undefined -export function getLotOccupantTypes(): recordTypes.LotOccupantType[] { +export async function getLotOccupantTypes(): Promise< + recordTypes.LotOccupantType[] +> { if (lotOccupantTypes === undefined) { - lotOccupantTypes = getLotOccupantTypesFromDatabase() + lotOccupantTypes = await getLotOccupantTypesFromDatabase() } return lotOccupantTypes } -export function getLotOccupantTypeById( +export async function getLotOccupantTypeById( lotOccupantTypeId: number -): recordTypes.LotOccupantType | undefined { - const cachedLotOccupantTypes = getLotOccupantTypes() +): Promise { + const cachedLotOccupantTypes = await getLotOccupantTypes() return cachedLotOccupantTypes.find((currentLotOccupantType) => { return currentLotOccupantType.lotOccupantTypeId === lotOccupantTypeId }) } -export function getLotOccupantTypeByLotOccupantType( +export async function getLotOccupantTypeByLotOccupantType( lotOccupantType: string -): recordTypes.LotOccupantType | undefined { - const cachedLotOccupantTypes = getLotOccupantTypes() +): Promise { + const cachedLotOccupantTypes = await getLotOccupantTypes() const lotOccupantTypeLowerCase = lotOccupantType.toLowerCase() @@ -64,28 +68,28 @@ function clearLotOccupantTypesCache(): void { let lotStatuses: recordTypes.LotStatus[] | undefined -export function getLotStatuses(): recordTypes.LotStatus[] { +export async function getLotStatuses(): Promise { if (lotStatuses === undefined) { - lotStatuses = getLotStatusesFromDatabase() + lotStatuses = await getLotStatusesFromDatabase() } return lotStatuses } -export function getLotStatusById( +export async function getLotStatusById( lotStatusId: number -): recordTypes.LotStatus | undefined { - const cachedLotStatuses = getLotStatuses() +): Promise { + const cachedLotStatuses = await getLotStatuses() return cachedLotStatuses.find((currentLotStatus) => { return currentLotStatus.lotStatusId === lotStatusId }) } -export function getLotStatusByLotStatus( +export async function getLotStatusByLotStatus( lotStatus: string -): recordTypes.LotStatus | undefined { - const cachedLotStatuses = getLotStatuses() +): Promise { + const cachedLotStatuses = await getLotStatuses() const lotStatusLowerCase = lotStatus.toLowerCase() @@ -104,28 +108,28 @@ function clearLotStatusesCache(): void { let lotTypes: recordTypes.LotType[] | undefined -export function getLotTypes(): recordTypes.LotType[] { +export async function getLotTypes(): Promise { if (lotTypes === undefined) { - lotTypes = getLotTypesFromDatabase() + lotTypes = await getLotTypesFromDatabase() } return lotTypes } -export function getLotTypeById( +export async function getLotTypeById( lotTypeId: number -): recordTypes.LotType | undefined { - const cachedLotTypes = getLotTypes() +): Promise { + const cachedLotTypes = await getLotTypes() return cachedLotTypes.find((currentLotType) => { return currentLotType.lotTypeId === lotTypeId }) } -export function getLotTypesByLotType( +export async function getLotTypesByLotType( lotType: string -): recordTypes.LotType | undefined { - const cachedLotTypes = getLotTypes() +): Promise { + const cachedLotTypes = await getLotTypes() const lotTypeLowerCase = lotType.toLowerCase() @@ -145,35 +149,39 @@ function clearLotTypesCache(): void { let occupancyTypes: recordTypes.OccupancyType[] | undefined let allOccupancyTypeFields: recordTypes.OccupancyTypeField[] | undefined -export function getOccupancyTypes(): recordTypes.OccupancyType[] { +export async function getOccupancyTypes(): Promise< + recordTypes.OccupancyType[] +> { if (occupancyTypes === undefined) { - occupancyTypes = getOccupancyTypesFromDatabase() + occupancyTypes = await getOccupancyTypesFromDatabase() } return occupancyTypes } -export function getAllOccupancyTypeFields(): recordTypes.OccupancyTypeField[] { +export async function getAllOccupancyTypeFields(): Promise< + recordTypes.OccupancyTypeField[] +> { if (allOccupancyTypeFields === undefined) { - allOccupancyTypeFields = getOccupancyTypeFieldsFromDatabase() + allOccupancyTypeFields = await getOccupancyTypeFieldsFromDatabase() } return allOccupancyTypeFields } -export function getOccupancyTypeById( +export async function getOccupancyTypeById( occupancyTypeId: number -): recordTypes.OccupancyType | undefined { - const cachedOccupancyTypes = getOccupancyTypes() +): Promise { + const cachedOccupancyTypes = await getOccupancyTypes() return cachedOccupancyTypes.find((currentOccupancyType) => { return currentOccupancyType.occupancyTypeId === occupancyTypeId }) } -export function getOccupancyTypeByOccupancyType( +export async function getOccupancyTypeByOccupancyType( occupancyTypeString: string -): recordTypes.OccupancyType | undefined { - const cachedOccupancyTypes = getOccupancyTypes() +): Promise { + const cachedOccupancyTypes = await getOccupancyTypes() const occupancyTypeLowerCase = occupancyTypeString.toLowerCase() @@ -185,8 +193,10 @@ export function getOccupancyTypeByOccupancyType( }) } -export function getOccupancyTypePrintsById(occupancyTypeId: number): string[] { - const occupancyType = getOccupancyTypeById(occupancyTypeId) +export async function getOccupancyTypePrintsById( + occupancyTypeId: number +): Promise { + const occupancyType = await getOccupancyTypeById(occupancyTypeId) if ( occupancyType === undefined || @@ -213,18 +223,20 @@ function clearOccupancyTypesCache(): void { let workOrderTypes: recordTypes.WorkOrderType[] | undefined -export function getWorkOrderTypes(): recordTypes.WorkOrderType[] { +export async function getWorkOrderTypes(): Promise< + recordTypes.WorkOrderType[] +> { if (workOrderTypes === undefined) { - workOrderTypes = getWorkOrderTypesFromDatabase() + workOrderTypes = await getWorkOrderTypesFromDatabase() } return workOrderTypes } -export function getWorkOrderTypeById( +export async function getWorkOrderTypeById( workOrderTypeId: number -): recordTypes.WorkOrderType | undefined { - const cachedWorkOrderTypes = getWorkOrderTypes() +): Promise { + const cachedWorkOrderTypes = await getWorkOrderTypes() return cachedWorkOrderTypes.find((currentWorkOrderType) => { return currentWorkOrderType.workOrderTypeId === workOrderTypeId @@ -241,18 +253,20 @@ function clearWorkOrderTypesCache(): void { let workOrderMilestoneTypes: recordTypes.WorkOrderMilestoneType[] | undefined -export function getWorkOrderMilestoneTypes(): recordTypes.WorkOrderMilestoneType[] { +export async function getWorkOrderMilestoneTypes(): Promise< + recordTypes.WorkOrderMilestoneType[] +> { if (workOrderMilestoneTypes === undefined) { - workOrderMilestoneTypes = getWorkOrderMilestoneTypesFromDatabase() + workOrderMilestoneTypes = await getWorkOrderMilestoneTypesFromDatabase() } return workOrderMilestoneTypes } -export function getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId( +export async function getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId( workOrderMilestoneTypeId: number -): recordTypes.WorkOrderMilestoneType | undefined { - const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes() +): Promise { + const cachedWorkOrderMilestoneTypes = await getWorkOrderMilestoneTypes() return cachedWorkOrderMilestoneTypes.find((currentWorkOrderMilestoneType) => { return ( @@ -262,10 +276,10 @@ export function getWorkOrderMilestoneTypeByWorkOrderMilestoneTypeId( }) } -export function getWorkOrderMilestoneTypeByWorkOrderMilestoneType( +export async function getWorkOrderMilestoneTypeByWorkOrderMilestoneType( workOrderMilestoneTypeString: string -): recordTypes.WorkOrderMilestoneType | undefined { - const cachedWorkOrderMilestoneTypes = getWorkOrderMilestoneTypes() +): Promise { + const cachedWorkOrderMilestoneTypes = await getWorkOrderMilestoneTypes() const workOrderMilestoneTypeLowerCase = workOrderMilestoneTypeString.toLowerCase() diff --git a/helpers/functions.print.d.ts b/helpers/functions.print.d.ts index b535ea44..e2caf1cf 100644 --- a/helpers/functions.print.d.ts +++ b/helpers/functions.print.d.ts @@ -5,5 +5,5 @@ interface PrintConfig { export declare function getScreenPrintConfig(printName: string): PrintConfig; export declare function getPdfPrintConfig(printName: string): PrintConfig; export declare function getPrintConfig(screenOrPdfPrintName: string): PrintConfig | undefined; -export declare function getReportData(printConfig: PrintConfig, requestQuery: Record): Record; +export declare function getReportData(printConfig: PrintConfig, requestQuery: Record): Promise>; export {}; diff --git a/helpers/functions.print.js b/helpers/functions.print.js index a149348a..08a9a801 100644 --- a/helpers/functions.print.js +++ b/helpers/functions.print.js @@ -44,13 +44,13 @@ export function getPrintConfig(screenOrPdfPrintName) { } return undefined; } -export function getReportData(printConfig, requestQuery) { +export async function getReportData(printConfig, requestQuery) { const reportData = { headTitle: printConfig.title }; if (printConfig.params.includes('lotOccupancyId') && typeof requestQuery.lotOccupancyId === 'string') { - const lotOccupancy = getLotOccupancy(requestQuery.lotOccupancyId); + const lotOccupancy = await getLotOccupancy(requestQuery.lotOccupancyId); if (lotOccupancy?.lotId) { reportData.lot = getLot(lotOccupancy.lotId); } diff --git a/helpers/functions.print.ts b/helpers/functions.print.ts index 24603111..eea42f18 100644 --- a/helpers/functions.print.ts +++ b/helpers/functions.print.ts @@ -64,10 +64,10 @@ export function getPrintConfig( return undefined } -export function getReportData( +export async function getReportData( printConfig: PrintConfig, requestQuery: Record -): Record { +): Promise> { const reportData: Record = { headTitle: printConfig.title } @@ -76,7 +76,7 @@ export function getReportData( printConfig.params.includes('lotOccupancyId') && typeof requestQuery.lotOccupancyId === 'string' ) { - const lotOccupancy = getLotOccupancy(requestQuery.lotOccupancyId) + const lotOccupancy = await getLotOccupancy(requestQuery.lotOccupancyId) if (lotOccupancy?.lotId) { reportData.lot = getLot(lotOccupancy.lotId) diff --git a/helpers/initializer.database.cemetery.js b/helpers/initializer.database.cemetery.js index c2a70dac..8ac8ac5f 100644 --- a/helpers/initializer.database.cemetery.js +++ b/helpers/initializer.database.cemetery.js @@ -15,7 +15,7 @@ const session = { } } }; -function initializeCemeteryDatabase() { +async function initializeCemeteryDatabase() { debug('Checking for ' + databasePath + '...'); const databaseInitialized = initializeDatabase(); if (!databaseInitialized) { @@ -24,34 +24,34 @@ function initializeCemeteryDatabase() { return; } debug('New database file created. Proceeding with initialization.'); - addRecord('LotTypes', 'Casket Grave', 1, session); - addRecord('LotTypes', 'Columbarium', 2, session); - addRecord('LotTypes', 'Mausoleum', 2, session); - addRecord('LotTypes', 'Niche Wall', 2, session); - addRecord('LotTypes', 'Urn Garden', 2, session); - addRecord('LotTypes', 'Crematorium', 2, session); - addRecord('LotStatuses', 'Available', 1, session); - addRecord('LotStatuses', 'Reserved', 2, session); - addRecord('LotStatuses', 'Taken', 3, session); - addLotOccupantType({ + await addRecord('LotTypes', 'Casket Grave', 1, session); + await addRecord('LotTypes', 'Columbarium', 2, session); + await addRecord('LotTypes', 'Mausoleum', 2, session); + await addRecord('LotTypes', 'Niche Wall', 2, session); + await addRecord('LotTypes', 'Urn Garden', 2, session); + await addRecord('LotTypes', 'Crematorium', 2, session); + await addRecord('LotStatuses', 'Available', 1, session); + await addRecord('LotStatuses', 'Reserved', 2, session); + await addRecord('LotStatuses', 'Taken', 3, session); + await addLotOccupantType({ lotOccupantType: 'Deceased', orderNumber: 1 }, session); - addLotOccupantType({ + await addLotOccupantType({ lotOccupantType: 'Funeral Director', orderNumber: 2 }, session); - addLotOccupantType({ + await addLotOccupantType({ lotOccupantType: 'Preneed Owner', orderNumber: 3 }, session); - addLotOccupantType({ + await addLotOccupantType({ lotOccupantType: 'Purchaser', orderNumber: 4 }, session); - addRecord('OccupancyTypes', 'Preneed', 1, session); - const intermentOccupancyTypeId = addRecord('OccupancyTypes', 'Interment', 2, session); - const cremationOccupancyTypeId = addRecord('OccupancyTypes', 'Cremation', 3, session); + await addRecord('OccupancyTypes', 'Preneed', 1, session); + const intermentOccupancyTypeId = await addRecord('OccupancyTypes', 'Interment', 2, session); + const cremationOccupancyTypeId = await addRecord('OccupancyTypes', 'Cremation', 3, session); const deathDateField = { occupancyTypeId: intermentOccupancyTypeId, occupancyTypeField: 'Death Date', @@ -62,8 +62,8 @@ function initializeCemeteryDatabase() { maximumLength: 10, orderNumber: 1 }; - addOccupancyTypeField(deathDateField, session); - addOccupancyTypeField(Object.assign(deathDateField, { + await addOccupancyTypeField(deathDateField, session); + await addOccupancyTypeField(Object.assign(deathDateField, { occupancyTypeId: cremationOccupancyTypeId }), session); const deathAgeField = { @@ -76,8 +76,8 @@ function initializeCemeteryDatabase() { maximumLength: 3, orderNumber: 2 }; - addOccupancyTypeField(deathAgeField, session); - addOccupancyTypeField(Object.assign(deathAgeField, { occupancyTypeId: cremationOccupancyTypeId }), session); + await addOccupancyTypeField(deathAgeField, session); + await addOccupancyTypeField(Object.assign(deathAgeField, { occupancyTypeId: cremationOccupancyTypeId }), session); const deathAgePeriod = { occupancyTypeId: intermentOccupancyTypeId, occupancyTypeField: 'Death Age Period', @@ -88,8 +88,8 @@ function initializeCemeteryDatabase() { maximumLength: 10, orderNumber: 3 }; - addOccupancyTypeField(deathAgePeriod, session); - addOccupancyTypeField(Object.assign(deathAgePeriod, { + await addOccupancyTypeField(deathAgePeriod, session); + await addOccupancyTypeField(Object.assign(deathAgePeriod, { occupancyTypeId: cremationOccupancyTypeId }), session); const deathPlace = { @@ -102,8 +102,8 @@ function initializeCemeteryDatabase() { maximumLength: 100, orderNumber: 4 }; - addOccupancyTypeField(deathPlace, session); - addOccupancyTypeField(Object.assign(deathPlace, { occupancyTypeId: cremationOccupancyTypeId }), session); + await addOccupancyTypeField(deathPlace, session); + await addOccupancyTypeField(Object.assign(deathPlace, { occupancyTypeId: cremationOccupancyTypeId }), session); const funeralHome = { occupancyTypeId: intermentOccupancyTypeId, occupancyTypeField: 'Funeral Home', @@ -114,8 +114,8 @@ function initializeCemeteryDatabase() { maximumLength: 100, orderNumber: 10 }; - addOccupancyTypeField(funeralHome, session); - addOccupancyTypeField(Object.assign(funeralHome, { occupancyTypeId: cremationOccupancyTypeId }), session); + await addOccupancyTypeField(funeralHome, session); + await addOccupancyTypeField(Object.assign(funeralHome, { occupancyTypeId: cremationOccupancyTypeId }), session); const funeralDate = { occupancyTypeId: intermentOccupancyTypeId, occupancyTypeField: 'Funeral Date', @@ -126,8 +126,8 @@ function initializeCemeteryDatabase() { maximumLength: 10, orderNumber: 11 }; - addOccupancyTypeField(funeralDate, session); - addOccupancyTypeField(Object.assign(funeralDate, { occupancyTypeId: cremationOccupancyTypeId }), session); + await addOccupancyTypeField(funeralDate, session); + await addOccupancyTypeField(Object.assign(funeralDate, { occupancyTypeId: cremationOccupancyTypeId }), session); const containerType = { occupancyTypeId: intermentOccupancyTypeId, occupancyTypeField: 'Container Type', @@ -138,8 +138,8 @@ function initializeCemeteryDatabase() { maximumLength: 100, orderNumber: 20 }; - addOccupancyTypeField(containerType, session); - addOccupancyTypeField(Object.assign(containerType, { occupancyTypeId: cremationOccupancyTypeId }), session); + await addOccupancyTypeField(containerType, session); + await addOccupancyTypeField(Object.assign(containerType, { occupancyTypeId: cremationOccupancyTypeId }), session); const committalType = { occupancyTypeId: intermentOccupancyTypeId, occupancyTypeField: 'Committal Type', @@ -150,12 +150,12 @@ function initializeCemeteryDatabase() { maximumLength: 100, orderNumber: 21 }; - addOccupancyTypeField(committalType, session); - addOccupancyTypeField(Object.assign(committalType, { occupancyTypeId: cremationOccupancyTypeId }), session); - addRecord('FeeCategories', 'Interment Rights', 1, session); - addRecord('FeeCategories', 'Cremation Services', 2, session); - addRecord('FeeCategories', 'Burial Charges', 3, session); - addRecord('FeeCategories', 'Disinterment of Human Remains', 4, session); - addRecord('FeeCategories', 'Additional Services', 4, session); + await addOccupancyTypeField(committalType, session); + await addOccupancyTypeField(Object.assign(committalType, { occupancyTypeId: cremationOccupancyTypeId }), session); + await addRecord('FeeCategories', 'Interment Rights', 1, session); + await addRecord('FeeCategories', 'Cremation Services', 2, session); + await addRecord('FeeCategories', 'Burial Charges', 3, session); + await addRecord('FeeCategories', 'Disinterment of Human Remains', 4, session); + await addRecord('FeeCategories', 'Additional Services', 4, session); } -initializeCemeteryDatabase(); +await initializeCemeteryDatabase(); diff --git a/helpers/initializer.database.cemetery.ts b/helpers/initializer.database.cemetery.ts index cf59d252..d94b55b2 100644 --- a/helpers/initializer.database.cemetery.ts +++ b/helpers/initializer.database.cemetery.ts @@ -23,7 +23,7 @@ const session: PartialSession = { } } -function initializeCemeteryDatabase(): void { +async function initializeCemeteryDatabase(): Promise { /* * Ensure database does not already exist */ @@ -45,26 +45,26 @@ function initializeCemeteryDatabase(): void { * Lot Types */ - addRecord('LotTypes', 'Casket Grave', 1, session) - addRecord('LotTypes', 'Columbarium', 2, session) - addRecord('LotTypes', 'Mausoleum', 2, session) - addRecord('LotTypes', 'Niche Wall', 2, session) - addRecord('LotTypes', 'Urn Garden', 2, session) - addRecord('LotTypes', 'Crematorium', 2, session) + await addRecord('LotTypes', 'Casket Grave', 1, session) + await addRecord('LotTypes', 'Columbarium', 2, session) + await addRecord('LotTypes', 'Mausoleum', 2, session) + await addRecord('LotTypes', 'Niche Wall', 2, session) + await addRecord('LotTypes', 'Urn Garden', 2, session) + await addRecord('LotTypes', 'Crematorium', 2, session) /* * Lot Statuses */ - addRecord('LotStatuses', 'Available', 1, session) - addRecord('LotStatuses', 'Reserved', 2, session) - addRecord('LotStatuses', 'Taken', 3, session) + await addRecord('LotStatuses', 'Available', 1, session) + await addRecord('LotStatuses', 'Reserved', 2, session) + await addRecord('LotStatuses', 'Taken', 3, session) /* * Lot Occupant Types */ - addLotOccupantType( + await addLotOccupantType( { lotOccupantType: 'Deceased', orderNumber: 1 @@ -72,7 +72,7 @@ function initializeCemeteryDatabase(): void { session ) - addLotOccupantType( + await addLotOccupantType( { lotOccupantType: 'Funeral Director', orderNumber: 2 @@ -80,7 +80,7 @@ function initializeCemeteryDatabase(): void { session ) - addLotOccupantType( + await addLotOccupantType( { lotOccupantType: 'Preneed Owner', orderNumber: 3 @@ -88,7 +88,7 @@ function initializeCemeteryDatabase(): void { session ) - addLotOccupantType( + await addLotOccupantType( { lotOccupantType: 'Purchaser', orderNumber: 4 @@ -100,14 +100,14 @@ function initializeCemeteryDatabase(): void { * Occupancy Types */ - addRecord('OccupancyTypes', 'Preneed', 1, session) - const intermentOccupancyTypeId = addRecord( + await addRecord('OccupancyTypes', 'Preneed', 1, session) + const intermentOccupancyTypeId = await addRecord( 'OccupancyTypes', 'Interment', 2, session ) - const cremationOccupancyTypeId = addRecord( + const cremationOccupancyTypeId = await addRecord( 'OccupancyTypes', 'Cremation', 3, @@ -126,9 +126,9 @@ function initializeCemeteryDatabase(): void { orderNumber: 1 } - addOccupancyTypeField(deathDateField, session) + await addOccupancyTypeField(deathDateField, session) - addOccupancyTypeField( + await addOccupancyTypeField( Object.assign(deathDateField, { occupancyTypeId: cremationOccupancyTypeId }), @@ -147,9 +147,9 @@ function initializeCemeteryDatabase(): void { orderNumber: 2 } - addOccupancyTypeField(deathAgeField, session) + await addOccupancyTypeField(deathAgeField, session) - addOccupancyTypeField( + await addOccupancyTypeField( Object.assign(deathAgeField, { occupancyTypeId: cremationOccupancyTypeId }), session ) @@ -166,9 +166,9 @@ function initializeCemeteryDatabase(): void { orderNumber: 3 } - addOccupancyTypeField(deathAgePeriod, session) + await addOccupancyTypeField(deathAgePeriod, session) - addOccupancyTypeField( + await addOccupancyTypeField( Object.assign(deathAgePeriod, { occupancyTypeId: cremationOccupancyTypeId }), @@ -187,9 +187,9 @@ function initializeCemeteryDatabase(): void { orderNumber: 4 } - addOccupancyTypeField(deathPlace, session) + await addOccupancyTypeField(deathPlace, session) - addOccupancyTypeField( + await addOccupancyTypeField( Object.assign(deathPlace, { occupancyTypeId: cremationOccupancyTypeId }), session ) @@ -206,9 +206,9 @@ function initializeCemeteryDatabase(): void { orderNumber: 10 } - addOccupancyTypeField(funeralHome, session) + await addOccupancyTypeField(funeralHome, session) - addOccupancyTypeField( + await addOccupancyTypeField( Object.assign(funeralHome, { occupancyTypeId: cremationOccupancyTypeId }), session ) @@ -225,9 +225,9 @@ function initializeCemeteryDatabase(): void { orderNumber: 11 } - addOccupancyTypeField(funeralDate, session) + await addOccupancyTypeField(funeralDate, session) - addOccupancyTypeField( + await addOccupancyTypeField( Object.assign(funeralDate, { occupancyTypeId: cremationOccupancyTypeId }), session ) @@ -244,9 +244,9 @@ function initializeCemeteryDatabase(): void { orderNumber: 20 } - addOccupancyTypeField(containerType, session) + await addOccupancyTypeField(containerType, session) - addOccupancyTypeField( + await addOccupancyTypeField( Object.assign(containerType, { occupancyTypeId: cremationOccupancyTypeId }), session ) @@ -263,9 +263,9 @@ function initializeCemeteryDatabase(): void { orderNumber: 21 } - addOccupancyTypeField(committalType, session) + await addOccupancyTypeField(committalType, session) - addOccupancyTypeField( + await addOccupancyTypeField( Object.assign(committalType, { occupancyTypeId: cremationOccupancyTypeId }), session ) @@ -274,11 +274,11 @@ function initializeCemeteryDatabase(): void { * Fee Categories */ - addRecord('FeeCategories', 'Interment Rights', 1, session) - addRecord('FeeCategories', 'Cremation Services', 2, session) - addRecord('FeeCategories', 'Burial Charges', 3, session) - addRecord('FeeCategories', 'Disinterment of Human Remains', 4, session) - addRecord('FeeCategories', 'Additional Services', 4, session) + await addRecord('FeeCategories', 'Interment Rights', 1, session) + await addRecord('FeeCategories', 'Cremation Services', 2, session) + await addRecord('FeeCategories', 'Burial Charges', 3, session) + await addRecord('FeeCategories', 'Disinterment of Human Remains', 4, session) + await addRecord('FeeCategories', 'Additional Services', 4, session) } -initializeCemeteryDatabase() +await initializeCemeteryDatabase() diff --git a/helpers/initializer.database.js b/helpers/initializer.database.js index 68bf2fc8..ba72e42a 100644 --- a/helpers/initializer.database.js +++ b/helpers/initializer.database.js @@ -3,11 +3,11 @@ import { lotOccupancyDB as databasePath } from '../data/databasePaths.js'; import debug from 'debug'; const debugSQL = debug('lot-occupancy-system:databaseInitializer'); const recordColumns = `recordCreate_userName varchar(30) not null, - recordCreate_timeMillis integer not null, - recordUpdate_userName varchar(30) not null, - recordUpdate_timeMillis integer not null, - recordDelete_userName varchar(30), - recordDelete_timeMillis integer`; + recordCreate_timeMillis integer not null, + recordUpdate_userName varchar(30) not null, + recordUpdate_timeMillis integer not null, + recordDelete_userName varchar(30), + recordDelete_timeMillis integer`; const createStatements = [ `create table if not exists LotTypes (lotTypeId integer not null primary key autoincrement, lotType varchar(100) not null, orderNumber smallint not null default 0, ${recordColumns})`, 'create index if not exists idx_lottypes_ordernumber on LotTypes (orderNumber, lotType)', diff --git a/helpers/initializer.database.ts b/helpers/initializer.database.ts index ef745a4b..d907253e 100644 --- a/helpers/initializer.database.ts +++ b/helpers/initializer.database.ts @@ -6,11 +6,11 @@ import debug from 'debug' const debugSQL = debug('lot-occupancy-system:databaseInitializer') const recordColumns = `recordCreate_userName varchar(30) not null, - recordCreate_timeMillis integer not null, - recordUpdate_userName varchar(30) not null, - recordUpdate_timeMillis integer not null, - recordDelete_userName varchar(30), - recordDelete_timeMillis integer` + recordCreate_timeMillis integer not null, + recordUpdate_userName varchar(30) not null, + recordUpdate_timeMillis integer not null, + recordDelete_userName varchar(30), + recordDelete_timeMillis integer` const createStatements = [ // Lot Types diff --git a/helpers/lotOccupancyDB/addFee.d.ts b/helpers/lotOccupancyDB/addFee.d.ts index fe7fcd8b..f6a605dc 100644 --- a/helpers/lotOccupancyDB/addFee.d.ts +++ b/helpers/lotOccupancyDB/addFee.d.ts @@ -14,5 +14,5 @@ interface AddFeeForm { isRequired: '' | '1'; orderNumber?: number; } -export declare function addFee(feeForm: AddFeeForm, requestSession: recordTypes.PartialSession): number; +export declare function addFee(feeForm: AddFeeForm, requestSession: recordTypes.PartialSession): Promise; export default addFee; diff --git a/helpers/lotOccupancyDB/addFee.js b/helpers/lotOccupancyDB/addFee.js index 96b3ac5c..50965365 100644 --- a/helpers/lotOccupancyDB/addFee.js +++ b/helpers/lotOccupancyDB/addFee.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function addFee(feeForm, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function addFee(feeForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`insert into Fees ( @@ -16,7 +15,7 @@ export function addFee(feeForm, requestSession) { recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) .run(feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, feeForm.occupancyTypeId === '' ? undefined : feeForm.occupancyTypeId, feeForm.lotTypeId === '' ? undefined : feeForm.lotTypeId, feeForm.feeAmount ?? undefined, feeForm.feeFunction ?? undefined, feeForm.taxAmount ?? undefined, feeForm.taxPercentage ?? undefined, (feeForm.includeQuantity ?? '') === '' ? 0 : 1, feeForm.quantityUnit, (feeForm.isRequired ?? '') === '' ? 0 : 1, feeForm.orderNumber ?? -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); - database.close(); + database.release(); return result.lastInsertRowid; } export default addFee; diff --git a/helpers/lotOccupancyDB/addFee.ts b/helpers/lotOccupancyDB/addFee.ts index 424dec60..8640e7b0 100644 --- a/helpers/lotOccupancyDB/addFee.ts +++ b/helpers/lotOccupancyDB/addFee.ts @@ -1,7 +1,6 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion */ -import sqlite from 'better-sqlite3' -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' @@ -21,11 +20,11 @@ interface AddFeeForm { orderNumber?: number } -export function addFee( +export async function addFee( feeForm: AddFeeForm, requestSession: recordTypes.PartialSession -): number { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -63,7 +62,7 @@ export function addFee( rightNowMillis ) - database.close() + database.release() return result.lastInsertRowid as number } diff --git a/helpers/lotOccupancyDB/addLot.d.ts b/helpers/lotOccupancyDB/addLot.d.ts index 0bfe15fb..9db43acb 100644 --- a/helpers/lotOccupancyDB/addLot.d.ts +++ b/helpers/lotOccupancyDB/addLot.d.ts @@ -10,5 +10,5 @@ interface AddLotForm { lotTypeFieldIds?: string; [lotFieldValue_lotTypeFieldId: string]: unknown; } -export declare function addLot(lotForm: AddLotForm, requestSession: recordTypes.PartialSession): number; +export declare function addLot(lotForm: AddLotForm, requestSession: recordTypes.PartialSession): Promise; export default addLot; diff --git a/helpers/lotOccupancyDB/addLot.js b/helpers/lotOccupancyDB/addLot.js index e3643874..7fed3a9b 100644 --- a/helpers/lotOccupancyDB/addLot.js +++ b/helpers/lotOccupancyDB/addLot.js @@ -1,31 +1,30 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { addOrUpdateLotField } from './addOrUpdateLotField.js'; -export function addLot(lotForm, requestSession) { - const database = sqlite(databasePath); +export async function addLot(lotForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`insert into Lots ( - lotName, lotTypeId, lotStatusId, - mapId, mapKey, - lotLatitude, lotLongitude, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) + lotName, lotTypeId, lotStatusId, + mapId, mapKey, + lotLatitude, lotLongitude, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) .run(lotForm.lotName, lotForm.lotTypeId, lotForm.lotStatusId === '' ? undefined : lotForm.lotStatusId, lotForm.mapId === '' ? undefined : lotForm.mapId, lotForm.mapKey, lotForm.lotLatitude === '' ? undefined : lotForm.lotLatitude, lotForm.lotLongitude === '' ? undefined : lotForm.lotLongitude, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); const lotId = result.lastInsertRowid; const lotTypeFieldIds = (lotForm.lotTypeFieldIds ?? '').split(','); for (const lotTypeFieldId of lotTypeFieldIds) { const lotFieldValue = lotForm['lotFieldValue_' + lotTypeFieldId]; if (lotFieldValue && lotFieldValue !== '') { - addOrUpdateLotField({ + await addOrUpdateLotField({ lotId, lotTypeFieldId, lotFieldValue }, requestSession, database); } } - database.close(); + database.release(); return lotId; } export default addLot; diff --git a/helpers/lotOccupancyDB/addLot.ts b/helpers/lotOccupancyDB/addLot.ts index 4523af5d..7e3838a7 100644 --- a/helpers/lotOccupancyDB/addLot.ts +++ b/helpers/lotOccupancyDB/addLot.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { addOrUpdateLotField } from './addOrUpdateLotField.js' @@ -21,23 +19,23 @@ interface AddLotForm { [lotFieldValue_lotTypeFieldId: string]: unknown } -export function addLot( +export async function addLot( lotForm: AddLotForm, requestSession: recordTypes.PartialSession -): number { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() const result = database .prepare( `insert into Lots ( - lotName, lotTypeId, lotStatusId, - mapId, mapKey, - lotLatitude, lotLongitude, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` + lotName, lotTypeId, lotStatusId, + mapId, mapKey, + lotLatitude, lotLongitude, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` ) .run( lotForm.lotName, @@ -61,7 +59,7 @@ export function addLot( const lotFieldValue = lotForm['lotFieldValue_' + lotTypeFieldId] as string if (lotFieldValue && lotFieldValue !== '') { - addOrUpdateLotField( + await addOrUpdateLotField( { lotId, lotTypeFieldId, @@ -73,7 +71,7 @@ export function addLot( } } - database.close() + database.release() return lotId } diff --git a/helpers/lotOccupancyDB/addLotComment.d.ts b/helpers/lotOccupancyDB/addLotComment.d.ts index 4c444ae4..a2f15620 100644 --- a/helpers/lotOccupancyDB/addLotComment.d.ts +++ b/helpers/lotOccupancyDB/addLotComment.d.ts @@ -3,5 +3,5 @@ interface AddLotCommentForm { lotId: string; lotComment: string; } -export declare function addLotComment(lotCommentForm: AddLotCommentForm, requestSession: recordTypes.PartialSession): number; +export declare function addLotComment(lotCommentForm: AddLotCommentForm, requestSession: recordTypes.PartialSession): Promise; export default addLotComment; diff --git a/helpers/lotOccupancyDB/addLotComment.js b/helpers/lotOccupancyDB/addLotComment.js index cb4165bf..474cac76 100644 --- a/helpers/lotOccupancyDB/addLotComment.js +++ b/helpers/lotOccupancyDB/addLotComment.js @@ -1,18 +1,17 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import * as dateTimeFunctions from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function addLotComment(lotCommentForm, requestSession) { - const database = sqlite(databasePath); +export async function addLotComment(lotCommentForm, requestSession) { + const database = await acquireConnection(); const rightNow = new Date(); const result = database .prepare(`insert into LotComments ( - lotId, - lotCommentDate, lotCommentTime, lotComment, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?)`) + lotId, + lotCommentDate, lotCommentTime, lotComment, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?)`) .run(lotCommentForm.lotId, dateTimeFunctions.dateToInteger(rightNow), dateTimeFunctions.dateToTimeInteger(rightNow), lotCommentForm.lotComment, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime()); - database.close(); + database.release(); return result.lastInsertRowid; } export default addLotComment; diff --git a/helpers/lotOccupancyDB/addLotComment.ts b/helpers/lotOccupancyDB/addLotComment.ts index 355f9a49..a702d9cf 100644 --- a/helpers/lotOccupancyDB/addLotComment.ts +++ b/helpers/lotOccupancyDB/addLotComment.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import * as dateTimeFunctions from '@cityssm/expressjs-server-js/dateTimeFns.js' @@ -11,22 +9,22 @@ interface AddLotCommentForm { lotComment: string } -export function addLotComment( +export async function addLotComment( lotCommentForm: AddLotCommentForm, requestSession: recordTypes.PartialSession -): number { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNow = new Date() const result = database .prepare( `insert into LotComments ( - lotId, - lotCommentDate, lotCommentTime, lotComment, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?)` + lotId, + lotCommentDate, lotCommentTime, lotComment, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?)` ) .run( lotCommentForm.lotId, @@ -39,7 +37,7 @@ export function addLotComment( rightNow.getTime() ) - database.close() + database.release() return result.lastInsertRowid as number } diff --git a/helpers/lotOccupancyDB/addLotOccupancy.d.ts b/helpers/lotOccupancyDB/addLotOccupancy.d.ts index f6aab70f..5ec92532 100644 --- a/helpers/lotOccupancyDB/addLotOccupancy.d.ts +++ b/helpers/lotOccupancyDB/addLotOccupancy.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; interface AddLotOccupancyForm { occupancyTypeId: string | number; @@ -18,5 +18,5 @@ interface AddLotOccupancyForm { occupantEmailAddress?: string; occupantComment?: string; } -export declare function addLotOccupancy(lotOccupancyForm: AddLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): number; +export declare function addLotOccupancy(lotOccupancyForm: AddLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: PoolConnection): Promise; export default addLotOccupancy; diff --git a/helpers/lotOccupancyDB/addLotOccupancy.js b/helpers/lotOccupancyDB/addLotOccupancy.js index bf3829c7..14a34de5 100644 --- a/helpers/lotOccupancyDB/addLotOccupancy.js +++ b/helpers/lotOccupancyDB/addLotOccupancy.js @@ -1,10 +1,9 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import * as dateTimeFunctions from '@cityssm/expressjs-server-js/dateTimeFns.js'; import { addOrUpdateLotOccupancyField } from './addOrUpdateLotOccupancyField.js'; import { addLotOccupancyOccupant } from './addLotOccupancyOccupant.js'; -export function addLotOccupancy(lotOccupancyForm, requestSession, connectedDatabase) { - const database = connectedDatabase ?? sqlite(databasePath); +export async function addLotOccupancy(lotOccupancyForm, requestSession, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const rightNowMillis = Date.now(); const occupancyStartDate = dateTimeFunctions.dateStringToInteger(lotOccupancyForm.occupancyStartDateString); if (occupancyStartDate <= 0) { @@ -25,7 +24,7 @@ export function addLotOccupancy(lotOccupancyForm, requestSession, connectedDatab for (const occupancyTypeFieldId of occupancyTypeFieldIds) { const lotOccupancyFieldValue = lotOccupancyForm['lotOccupancyFieldValue_' + occupancyTypeFieldId]; if (lotOccupancyFieldValue && lotOccupancyFieldValue !== '') { - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue @@ -33,7 +32,7 @@ export function addLotOccupancy(lotOccupancyForm, requestSession, connectedDatab } } if (lotOccupancyForm.lotOccupantTypeId) { - addLotOccupancyOccupant({ + await addLotOccupancyOccupant({ lotOccupancyId, lotOccupantTypeId: lotOccupancyForm.lotOccupantTypeId, occupantName: lotOccupancyForm.occupantName, @@ -48,7 +47,7 @@ export function addLotOccupancy(lotOccupancyForm, requestSession, connectedDatab }, requestSession, database); } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return lotOccupancyId; } diff --git a/helpers/lotOccupancyDB/addLotOccupancy.ts b/helpers/lotOccupancyDB/addLotOccupancy.ts index 1e41f46d..67366169 100644 --- a/helpers/lotOccupancyDB/addLotOccupancy.ts +++ b/helpers/lotOccupancyDB/addLotOccupancy.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import * as dateTimeFunctions from '@cityssm/expressjs-server-js/dateTimeFns.js' @@ -31,12 +30,12 @@ interface AddLotOccupancyForm { occupantComment?: string } -export function addLotOccupancy( +export async function addLotOccupancy( lotOccupancyForm: AddLotOccupancyForm, requestSession: recordTypes.PartialSession, - connectedDatabase?: sqlite.Database -): number { - const database = connectedDatabase ?? sqlite(databasePath) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const rightNowMillis = Date.now() @@ -85,7 +84,7 @@ export function addLotOccupancy( ] as string if (lotOccupancyFieldValue && lotOccupancyFieldValue !== '') { - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId, occupancyTypeFieldId, @@ -98,7 +97,7 @@ export function addLotOccupancy( } if (lotOccupancyForm.lotOccupantTypeId) { - addLotOccupancyOccupant( + await addLotOccupancyOccupant( { lotOccupancyId, lotOccupantTypeId: lotOccupancyForm.lotOccupantTypeId, @@ -118,7 +117,7 @@ export function addLotOccupancy( } if (connectedDatabase === undefined) { - database.close() + database.release() } return lotOccupancyId diff --git a/helpers/lotOccupancyDB/addLotOccupancyComment.d.ts b/helpers/lotOccupancyDB/addLotOccupancyComment.d.ts index 67570932..081b50eb 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyComment.d.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyComment.d.ts @@ -5,5 +5,5 @@ interface AddLotOccupancyCommentForm { lotOccupancyCommentTimeString?: string; lotOccupancyComment: string; } -export declare function addLotOccupancyComment(commentForm: AddLotOccupancyCommentForm, requestSession: recordTypes.PartialSession): number; +export declare function addLotOccupancyComment(commentForm: AddLotOccupancyCommentForm, requestSession: recordTypes.PartialSession): Promise; export default addLotOccupancyComment; diff --git a/helpers/lotOccupancyDB/addLotOccupancyComment.js b/helpers/lotOccupancyDB/addLotOccupancyComment.js index d9045a22..4a6d8e80 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyComment.js +++ b/helpers/lotOccupancyDB/addLotOccupancyComment.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function addLotOccupancyComment(commentForm, requestSession) { +export async function addLotOccupancyComment(commentForm, requestSession) { const rightNow = new Date(); let lotOccupancyCommentDate; let lotOccupancyCommentTime; @@ -13,17 +12,17 @@ export function addLotOccupancyComment(commentForm, requestSession) { lotOccupancyCommentDate = dateToInteger(rightNow); lotOccupancyCommentTime = dateToTimeInteger(rightNow); } - const database = sqlite(databasePath); + const database = await acquireConnection(); const result = database .prepare(`insert into LotOccupancyComments ( - lotOccupancyId, - lotOccupancyCommentDate, lotOccupancyCommentTime, - lotOccupancyComment, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?)`) + lotOccupancyId, + lotOccupancyCommentDate, lotOccupancyCommentTime, + lotOccupancyComment, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?)`) .run(commentForm.lotOccupancyId, lotOccupancyCommentDate, lotOccupancyCommentTime, commentForm.lotOccupancyComment, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime()); - database.close(); + database.release(); return result.lastInsertRowid; } export default addLotOccupancyComment; diff --git a/helpers/lotOccupancyDB/addLotOccupancyComment.ts b/helpers/lotOccupancyDB/addLotOccupancyComment.ts index 8134e514..81657a0a 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyComment.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyComment.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { dateStringToInteger, @@ -18,10 +16,10 @@ interface AddLotOccupancyCommentForm { lotOccupancyComment: string } -export function addLotOccupancyComment( +export async function addLotOccupancyComment( commentForm: AddLotOccupancyCommentForm, requestSession: recordTypes.PartialSession -): number { +): Promise { const rightNow = new Date() let lotOccupancyCommentDate: number @@ -39,17 +37,17 @@ export function addLotOccupancyComment( lotOccupancyCommentTime = dateToTimeInteger(rightNow) } - const database = sqlite(databasePath) + const database = await acquireConnection() const result = database .prepare( `insert into LotOccupancyComments ( - lotOccupancyId, - lotOccupancyCommentDate, lotOccupancyCommentTime, - lotOccupancyComment, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?)` + lotOccupancyId, + lotOccupancyCommentDate, lotOccupancyCommentTime, + lotOccupancyComment, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?)` ) .run( commentForm.lotOccupancyId, @@ -62,7 +60,7 @@ export function addLotOccupancyComment( rightNow.getTime() ) - database.close() + database.release() return result.lastInsertRowid as number } diff --git a/helpers/lotOccupancyDB/addLotOccupancyFee.d.ts b/helpers/lotOccupancyDB/addLotOccupancyFee.d.ts index 91971e66..1ff8982b 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyFee.d.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyFee.d.ts @@ -6,5 +6,5 @@ interface AddLotOccupancyFeeForm { feeAmount?: number | string; taxAmount?: number | string; } -export declare function addLotOccupancyFee(lotOccupancyFeeForm: AddLotOccupancyFeeForm, requestSession: recordTypes.PartialSession): boolean; +export declare function addLotOccupancyFee(lotOccupancyFeeForm: AddLotOccupancyFeeForm, requestSession: recordTypes.PartialSession): Promise; export default addLotOccupancyFee; diff --git a/helpers/lotOccupancyDB/addLotOccupancyFee.js b/helpers/lotOccupancyDB/addLotOccupancyFee.js index de7e7676..f8a6261a 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyFee.js +++ b/helpers/lotOccupancyDB/addLotOccupancyFee.js @@ -1,10 +1,9 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { calculateFeeAmount, calculateTaxAmount } from '../functions.fee.js'; import { getFee } from './getFee.js'; import { getLotOccupancy } from './getLotOccupancy.js'; -export function addLotOccupancyFee(lotOccupancyFeeForm, requestSession) { - const database = sqlite(databasePath); +export async function addLotOccupancyFee(lotOccupancyFeeForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); let feeAmount; let taxAmount; @@ -19,37 +18,37 @@ export function addLotOccupancyFee(lotOccupancyFeeForm, requestSession) { : 0; } else { - const lotOccupancy = getLotOccupancy(lotOccupancyFeeForm.lotOccupancyId); - const fee = getFee(lotOccupancyFeeForm.feeId); + const lotOccupancy = (await getLotOccupancy(lotOccupancyFeeForm.lotOccupancyId)); + const fee = await getFee(lotOccupancyFeeForm.feeId); feeAmount = calculateFeeAmount(fee, lotOccupancy); taxAmount = calculateTaxAmount(fee, feeAmount); } const record = database .prepare(`select feeAmount, taxAmount, recordDelete_timeMillis - from LotOccupancyFees - where lotOccupancyId = ? - and feeId = ?`) + from LotOccupancyFees + where lotOccupancyId = ? + and feeId = ?`) .get(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); if (record) { if (record.recordDelete_timeMillis) { database .prepare(`delete from LotOccupancyFees - where recordDelete_timeMillis is not null - and lotOccupancyId = ? - and feeId = ?`) + where recordDelete_timeMillis is not null + and lotOccupancyId = ? + and feeId = ?`) .run(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); } else if (record.feeAmount === feeAmount && record.taxAmount === taxAmount) { database .prepare(`update LotOccupancyFees - set quantity = quantity + ?, - recordUpdate_userName = ?, - recordUpdate_timeMillis = ? - where lotOccupancyId = ? - and feeId = ?`) + set quantity = quantity + ?, + recordUpdate_userName = ?, + recordUpdate_timeMillis = ? + where lotOccupancyId = ? + and feeId = ?`) .run(lotOccupancyFeeForm.quantity, requestSession.user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); - database.close(); + database.release(); return true; } else { @@ -66,19 +65,19 @@ export function addLotOccupancyFee(lotOccupancyFeeForm, requestSession) { where lotOccupancyId = ? and feeId = ?`) .run(feeAmount * quantity, taxAmount * quantity, requestSession.user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); - database.close(); + database.release(); return true; } } const result = database .prepare(`insert into LotOccupancyFees ( - lotOccupancyId, feeId, - quantity, feeAmount, taxAmount, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?)`) + lotOccupancyId, feeId, + quantity, feeAmount, taxAmount, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?, ?)`) .run(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId, lotOccupancyFeeForm.quantity, feeAmount, taxAmount, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); - database.close(); + database.release(); return result.changes > 0; } export default addLotOccupancyFee; diff --git a/helpers/lotOccupancyDB/addLotOccupancyFee.ts b/helpers/lotOccupancyDB/addLotOccupancyFee.ts index d1ba7bb0..7feef640 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyFee.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyFee.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { calculateFeeAmount, calculateTaxAmount } from '../functions.fee.js' @@ -18,11 +16,11 @@ interface AddLotOccupancyFeeForm { taxAmount?: number | string } -export function addLotOccupancyFee( +export async function addLotOccupancyFee( lotOccupancyFeeForm: AddLotOccupancyFeeForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -40,8 +38,10 @@ export function addLotOccupancyFee( ? Number.parseFloat(lotOccupancyFeeForm.taxAmount) : 0 } else { - const lotOccupancy = getLotOccupancy(lotOccupancyFeeForm.lotOccupancyId)! - const fee = getFee(lotOccupancyFeeForm.feeId) + const lotOccupancy = (await getLotOccupancy( + lotOccupancyFeeForm.lotOccupancyId + ))! + const fee = await getFee(lotOccupancyFeeForm.feeId) feeAmount = calculateFeeAmount(fee, lotOccupancy) taxAmount = calculateTaxAmount(fee, feeAmount) @@ -55,9 +55,9 @@ export function addLotOccupancyFee( } = database .prepare( `select feeAmount, taxAmount, recordDelete_timeMillis - from LotOccupancyFees - where lotOccupancyId = ? - and feeId = ?` + from LotOccupancyFees + where lotOccupancyId = ? + and feeId = ?` ) .get(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId) @@ -66,9 +66,9 @@ export function addLotOccupancyFee( database .prepare( `delete from LotOccupancyFees - where recordDelete_timeMillis is not null - and lotOccupancyId = ? - and feeId = ?` + where recordDelete_timeMillis is not null + and lotOccupancyId = ? + and feeId = ?` ) .run(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId) } else if ( @@ -78,11 +78,11 @@ export function addLotOccupancyFee( database .prepare( `update LotOccupancyFees - set quantity = quantity + ?, - recordUpdate_userName = ?, - recordUpdate_timeMillis = ? - where lotOccupancyId = ? - and feeId = ?` + set quantity = quantity + ?, + recordUpdate_userName = ?, + recordUpdate_timeMillis = ? + where lotOccupancyId = ? + and feeId = ?` ) .run( lotOccupancyFeeForm.quantity, @@ -92,7 +92,7 @@ export function addLotOccupancyFee( lotOccupancyFeeForm.feeId ) - database.close() + database.release() return true } else { @@ -121,7 +121,7 @@ export function addLotOccupancyFee( lotOccupancyFeeForm.feeId ) - database.close() + database.release() return true } @@ -131,11 +131,11 @@ export function addLotOccupancyFee( const result = database .prepare( `insert into LotOccupancyFees ( - lotOccupancyId, feeId, - quantity, feeAmount, taxAmount, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?)` + lotOccupancyId, feeId, + quantity, feeAmount, taxAmount, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?, ?)` ) .run( lotOccupancyFeeForm.lotOccupancyId, @@ -149,7 +149,7 @@ export function addLotOccupancyFee( rightNowMillis ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/addLotOccupancyOccupant.d.ts b/helpers/lotOccupancyDB/addLotOccupancyOccupant.d.ts index 002d3b92..2d1ab1eb 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyOccupant.d.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyOccupant.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; interface AddLotOccupancyOccupantForm { lotOccupancyId: string | number; @@ -13,5 +13,5 @@ interface AddLotOccupancyOccupantForm { occupantEmailAddress: string; occupantComment?: string; } -export declare function addLotOccupancyOccupant(lotOccupancyOccupantForm: AddLotOccupancyOccupantForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): number; +export declare function addLotOccupancyOccupant(lotOccupancyOccupantForm: AddLotOccupancyOccupantForm, requestSession: recordTypes.PartialSession, connectedDatabase?: PoolConnection): Promise; export default addLotOccupancyOccupant; diff --git a/helpers/lotOccupancyDB/addLotOccupancyOccupant.js b/helpers/lotOccupancyDB/addLotOccupancyOccupant.js index 461017f4..63d09e33 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyOccupant.js +++ b/helpers/lotOccupancyDB/addLotOccupancyOccupant.js @@ -1,14 +1,13 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function addLotOccupancyOccupant(lotOccupancyOccupantForm, requestSession, connectedDatabase) { - const database = connectedDatabase ?? sqlite(databasePath); +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`) + from LotOccupancyOccupants + where lotOccupancyId = ? + order by lotOccupantIndex desc + limit 1`) .get(lotOccupancyOccupantForm.lotOccupancyId); if (maxIndexResult) { lotOccupantIndex = maxIndexResult.lotOccupantIndex + 1; @@ -16,19 +15,19 @@ export function addLotOccupancyOccupant(lotOccupancyOccupantForm, requestSession const rightNowMillis = Date.now(); database .prepare(`insert into LotOccupancyOccupants ( - lotOccupancyId, lotOccupantIndex, - occupantName, - occupantAddress1, occupantAddress2, - occupantCity, occupantProvince, occupantPostalCode, - occupantPhoneNumber, occupantEmailAddress, - occupantComment, - lotOccupantTypeId, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) + lotOccupancyId, lotOccupantIndex, + occupantName, + 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.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.close(); + database.release(); } return lotOccupantIndex; } diff --git a/helpers/lotOccupancyDB/addLotOccupancyOccupant.ts b/helpers/lotOccupancyDB/addLotOccupancyOccupant.ts index d5371c96..40355eb9 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyOccupant.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyOccupant.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' @@ -18,22 +17,22 @@ interface AddLotOccupancyOccupantForm { occupantComment?: string } -export function addLotOccupancyOccupant( +export async function addLotOccupancyOccupant( lotOccupancyOccupantForm: AddLotOccupancyOccupantForm, requestSession: recordTypes.PartialSession, - connectedDatabase?: sqlite.Database -): number { - const database = connectedDatabase ?? sqlite(databasePath) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) let lotOccupantIndex = 0 - const maxIndexResult = database + const maxIndexResult: { lotOccupantIndex: number } | undefined = database .prepare( `select lotOccupantIndex - from LotOccupancyOccupants - where lotOccupancyId = ? - order by lotOccupantIndex desc - limit 1` + from LotOccupancyOccupants + where lotOccupancyId = ? + order by lotOccupantIndex desc + limit 1` ) .get(lotOccupancyOccupantForm.lotOccupancyId) @@ -46,16 +45,16 @@ export function addLotOccupancyOccupant( database .prepare( `insert into LotOccupancyOccupants ( - lotOccupancyId, lotOccupantIndex, - occupantName, - occupantAddress1, occupantAddress2, - occupantCity, occupantProvince, occupantPostalCode, - occupantPhoneNumber, occupantEmailAddress, - occupantComment, - lotOccupantTypeId, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` + lotOccupancyId, lotOccupantIndex, + occupantName, + occupantAddress1, occupantAddress2, + occupantCity, occupantProvince, occupantPostalCode, + occupantPhoneNumber, occupantEmailAddress, + occupantComment, + lotOccupantTypeId, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` ) .run( lotOccupancyOccupantForm.lotOccupancyId, @@ -77,7 +76,7 @@ export function addLotOccupancyOccupant( ) if (connectedDatabase === undefined) { - database.close() + database.release() } return lotOccupantIndex diff --git a/helpers/lotOccupancyDB/addLotOccupancyTransaction.d.ts b/helpers/lotOccupancyDB/addLotOccupancyTransaction.d.ts index 3d2b107f..e2d17a2b 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyTransaction.d.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyTransaction.d.ts @@ -7,5 +7,5 @@ interface AddLotOccupancyTransactionForm { externalReceiptNumber: string; transactionNote: string; } -export declare function addLotOccupancyTransaction(lotOccupancyTransactionForm: AddLotOccupancyTransactionForm, requestSession: recordTypes.PartialSession): number; +export declare function addLotOccupancyTransaction(lotOccupancyTransactionForm: AddLotOccupancyTransactionForm, requestSession: recordTypes.PartialSession): Promise; export default addLotOccupancyTransaction; diff --git a/helpers/lotOccupancyDB/addLotOccupancyTransaction.js b/helpers/lotOccupancyDB/addLotOccupancyTransaction.js index a2f15b1d..ffa8a9a8 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyTransaction.js +++ b/helpers/lotOccupancyDB/addLotOccupancyTransaction.js @@ -1,15 +1,14 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function addLotOccupancyTransaction(lotOccupancyTransactionForm, requestSession) { - const database = sqlite(databasePath); +export async function addLotOccupancyTransaction(lotOccupancyTransactionForm, requestSession) { + const database = await acquireConnection(); let transactionIndex = 0; const maxIndexResult = database .prepare(`select transactionIndex - from LotOccupancyTransactions - where lotOccupancyId = ? - order by transactionIndex desc - limit 1`) + from LotOccupancyTransactions + where lotOccupancyId = ? + order by transactionIndex desc + limit 1`) .get(lotOccupancyTransactionForm.lotOccupancyId); if (maxIndexResult) { transactionIndex = maxIndexResult.transactionIndex + 1; @@ -23,14 +22,14 @@ export function addLotOccupancyTransaction(lotOccupancyTransactionForm, requestS : dateToTimeInteger(rightNow); database .prepare(`insert into LotOccupancyTransactions ( - lotOccupancyId, transactionIndex, - transactionDate, transactionTime, - transactionAmount, externalReceiptNumber, transactionNote, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) + lotOccupancyId, transactionIndex, + transactionDate, transactionTime, + transactionAmount, externalReceiptNumber, transactionNote, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) .run(lotOccupancyTransactionForm.lotOccupancyId, transactionIndex, transactionDate, transactionTime, lotOccupancyTransactionForm.transactionAmount, lotOccupancyTransactionForm.externalReceiptNumber, lotOccupancyTransactionForm.transactionNote, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime()); - database.close(); + database.release(); return transactionIndex; } export default addLotOccupancyTransaction; diff --git a/helpers/lotOccupancyDB/addLotOccupancyTransaction.ts b/helpers/lotOccupancyDB/addLotOccupancyTransaction.ts index 9e082f68..10a19a64 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyTransaction.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyTransaction.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { dateStringToInteger, @@ -20,21 +18,21 @@ interface AddLotOccupancyTransactionForm { transactionNote: string } -export function addLotOccupancyTransaction( +export async function addLotOccupancyTransaction( lotOccupancyTransactionForm: AddLotOccupancyTransactionForm, requestSession: recordTypes.PartialSession -): number { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() let transactionIndex = 0 const maxIndexResult: { transactionIndex: number } | undefined = database .prepare( `select transactionIndex - from LotOccupancyTransactions - where lotOccupancyId = ? - order by transactionIndex desc - limit 1` + from LotOccupancyTransactions + where lotOccupancyId = ? + order by transactionIndex desc + limit 1` ) .get(lotOccupancyTransactionForm.lotOccupancyId) @@ -55,12 +53,12 @@ export function addLotOccupancyTransaction( database .prepare( `insert into LotOccupancyTransactions ( - lotOccupancyId, transactionIndex, - transactionDate, transactionTime, - transactionAmount, externalReceiptNumber, transactionNote, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` + lotOccupancyId, transactionIndex, + transactionDate, transactionTime, + transactionAmount, externalReceiptNumber, transactionNote, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` ) .run( lotOccupancyTransactionForm.lotOccupancyId, @@ -76,7 +74,7 @@ export function addLotOccupancyTransaction( rightNow.getTime() ) - database.close() + database.release() return transactionIndex } diff --git a/helpers/lotOccupancyDB/addLotOccupantType.d.ts b/helpers/lotOccupancyDB/addLotOccupantType.d.ts index 8ff98457..0ef1ef1e 100644 --- a/helpers/lotOccupancyDB/addLotOccupantType.d.ts +++ b/helpers/lotOccupancyDB/addLotOccupantType.d.ts @@ -4,5 +4,5 @@ interface AddLotOccupantTypeForm { fontAwesomeIconClass?: string; orderNumber?: number; } -export declare function addLotOccupantType(lotOccupantTypeForm: AddLotOccupantTypeForm, requestSession: recordTypes.PartialSession): number; +export declare function addLotOccupantType(lotOccupantTypeForm: AddLotOccupantTypeForm, requestSession: recordTypes.PartialSession): Promise; export default addLotOccupantType; diff --git a/helpers/lotOccupancyDB/addLotOccupantType.js b/helpers/lotOccupancyDB/addLotOccupantType.js index ada2cc8b..77eade2c 100644 --- a/helpers/lotOccupancyDB/addLotOccupantType.js +++ b/helpers/lotOccupancyDB/addLotOccupantType.js @@ -1,17 +1,16 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export function addLotOccupantType(lotOccupantTypeForm, requestSession) { - const database = sqlite(databasePath); +export async function addLotOccupantType(lotOccupantTypeForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`insert into LotOccupantTypes ( - lotOccupantType, fontAwesomeIconClass, orderNumber, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?)`) + lotOccupantType, fontAwesomeIconClass, orderNumber, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?)`) .run(lotOccupantTypeForm.lotOccupantType, lotOccupantTypeForm.fontAwesomeIconClass ?? '', lotOccupantTypeForm.orderNumber ?? -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); - database.close(); + database.release(); clearCacheByTableName('LotOccupantTypes'); return result.lastInsertRowid; } diff --git a/helpers/lotOccupancyDB/addLotOccupantType.ts b/helpers/lotOccupancyDB/addLotOccupantType.ts index bfa0ad8b..534eb265 100644 --- a/helpers/lotOccupancyDB/addLotOccupantType.ts +++ b/helpers/lotOccupancyDB/addLotOccupantType.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' import { clearCacheByTableName } from '../functions.cache.js' @@ -11,21 +9,21 @@ interface AddLotOccupantTypeForm { orderNumber?: number } -export function addLotOccupantType( +export async function addLotOccupantType( lotOccupantTypeForm: AddLotOccupantTypeForm, requestSession: recordTypes.PartialSession -): number { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() const result = database .prepare( `insert into LotOccupantTypes ( - lotOccupantType, fontAwesomeIconClass, orderNumber, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?)` + lotOccupantType, fontAwesomeIconClass, orderNumber, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?)` ) .run( lotOccupantTypeForm.lotOccupantType, @@ -37,7 +35,7 @@ export function addLotOccupantType( rightNowMillis ) - database.close() + database.release() clearCacheByTableName('LotOccupantTypes') diff --git a/helpers/lotOccupancyDB/addLotTypeField.d.ts b/helpers/lotOccupancyDB/addLotTypeField.d.ts index d9d109ae..4117bc5c 100644 --- a/helpers/lotOccupancyDB/addLotTypeField.d.ts +++ b/helpers/lotOccupancyDB/addLotTypeField.d.ts @@ -9,5 +9,5 @@ interface AddLotTypeFieldForm { maximumLength: string | number; orderNumber?: number; } -export declare function addLotTypeField(lotTypeFieldForm: AddLotTypeFieldForm, requestSession: recordTypes.PartialSession): number; +export declare function addLotTypeField(lotTypeFieldForm: AddLotTypeFieldForm, requestSession: recordTypes.PartialSession): Promise; export default addLotTypeField; diff --git a/helpers/lotOccupancyDB/addLotTypeField.js b/helpers/lotOccupancyDB/addLotTypeField.js index 224890a8..13be4172 100644 --- a/helpers/lotOccupancyDB/addLotTypeField.js +++ b/helpers/lotOccupancyDB/addLotTypeField.js @@ -1,20 +1,19 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export function addLotTypeField(lotTypeFieldForm, requestSession) { - const database = sqlite(databasePath); +export async function addLotTypeField(lotTypeFieldForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`insert into LotTypeFields ( - lotTypeId, lotTypeField, lotTypeFieldValues, - isRequired, pattern, - minimumLength, maximumLength, - orderNumber, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) + lotTypeId, lotTypeField, lotTypeFieldValues, + isRequired, pattern, + minimumLength, maximumLength, + orderNumber, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) .run(lotTypeFieldForm.lotTypeId, lotTypeFieldForm.lotTypeField, lotTypeFieldForm.lotTypeFieldValues ?? '', lotTypeFieldForm.isRequired === '' ? 0 : 1, lotTypeFieldForm.pattern ?? '', lotTypeFieldForm.minimumLength ?? 0, lotTypeFieldForm.maximumLength ?? 100, lotTypeFieldForm.orderNumber ?? -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); - database.close(); + database.release(); clearCacheByTableName('LotTypeFields'); return result.lastInsertRowid; } diff --git a/helpers/lotOccupancyDB/addLotTypeField.ts b/helpers/lotOccupancyDB/addLotTypeField.ts index 6c95b937..dd50b07b 100644 --- a/helpers/lotOccupancyDB/addLotTypeField.ts +++ b/helpers/lotOccupancyDB/addLotTypeField.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { clearCacheByTableName } from '../functions.cache.js' @@ -17,24 +15,24 @@ interface AddLotTypeFieldForm { orderNumber?: number } -export function addLotTypeField( +export async function addLotTypeField( lotTypeFieldForm: AddLotTypeFieldForm, requestSession: recordTypes.PartialSession -): number { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() const result = database .prepare( `insert into LotTypeFields ( - lotTypeId, lotTypeField, lotTypeFieldValues, - isRequired, pattern, - minimumLength, maximumLength, - orderNumber, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` + lotTypeId, lotTypeField, lotTypeFieldValues, + isRequired, pattern, + minimumLength, maximumLength, + orderNumber, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` ) .run( lotTypeFieldForm.lotTypeId, @@ -51,7 +49,7 @@ export function addLotTypeField( rightNowMillis ) - database.close() + database.release() clearCacheByTableName('LotTypeFields') diff --git a/helpers/lotOccupancyDB/addMap.d.ts b/helpers/lotOccupancyDB/addMap.d.ts index 224e9119..29820afb 100644 --- a/helpers/lotOccupancyDB/addMap.d.ts +++ b/helpers/lotOccupancyDB/addMap.d.ts @@ -12,5 +12,5 @@ interface AddMapForm { mapPostalCode: string; mapPhoneNumber: string; } -export declare function addMap(mapForm: AddMapForm, requestSession: recordTypes.PartialSession): number; +export declare function addMap(mapForm: AddMapForm, requestSession: recordTypes.PartialSession): Promise; export default addMap; diff --git a/helpers/lotOccupancyDB/addMap.js b/helpers/lotOccupancyDB/addMap.js index ad1eb25d..221ddbdb 100644 --- a/helpers/lotOccupancyDB/addMap.js +++ b/helpers/lotOccupancyDB/addMap.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function addMap(mapForm, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function addMap(mapForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`insert into Maps ( @@ -14,7 +13,7 @@ export function addMap(mapForm, requestSession) { recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) .run(mapForm.mapName, mapForm.mapDescription, mapForm.mapSVG, mapForm.mapLatitude === '' ? undefined : mapForm.mapLatitude, mapForm.mapLongitude === '' ? undefined : mapForm.mapLongitude, mapForm.mapAddress1, mapForm.mapAddress2, mapForm.mapCity, mapForm.mapProvince, mapForm.mapPostalCode, mapForm.mapPhoneNumber, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); - database.close(); + database.release(); return result.lastInsertRowid; } export default addMap; diff --git a/helpers/lotOccupancyDB/addMap.ts b/helpers/lotOccupancyDB/addMap.ts index 0bf4070d..4a1c72c0 100644 --- a/helpers/lotOccupancyDB/addMap.ts +++ b/helpers/lotOccupancyDB/addMap.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' @@ -18,11 +16,11 @@ interface AddMapForm { mapPhoneNumber: string } -export function addMap( +export async function addMap( mapForm: AddMapForm, requestSession: recordTypes.PartialSession -): number { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -56,7 +54,7 @@ export function addMap( rightNowMillis ) - database.close() + database.release() return result.lastInsertRowid as number } diff --git a/helpers/lotOccupancyDB/addOccupancyTypeField.d.ts b/helpers/lotOccupancyDB/addOccupancyTypeField.d.ts index 1b320694..1803ee65 100644 --- a/helpers/lotOccupancyDB/addOccupancyTypeField.d.ts +++ b/helpers/lotOccupancyDB/addOccupancyTypeField.d.ts @@ -9,5 +9,5 @@ interface AddOccupancyTypeFieldForm { maximumLength: string | number; orderNumber?: number; } -export declare function addOccupancyTypeField(occupancyTypeFieldForm: AddOccupancyTypeFieldForm, requestSession: recordTypes.PartialSession): number; +export declare function addOccupancyTypeField(occupancyTypeFieldForm: AddOccupancyTypeFieldForm, requestSession: recordTypes.PartialSession): Promise; export default addOccupancyTypeField; diff --git a/helpers/lotOccupancyDB/addOccupancyTypeField.js b/helpers/lotOccupancyDB/addOccupancyTypeField.js index 5f16ab2f..ce4bf250 100644 --- a/helpers/lotOccupancyDB/addOccupancyTypeField.js +++ b/helpers/lotOccupancyDB/addOccupancyTypeField.js @@ -1,20 +1,19 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export function addOccupancyTypeField(occupancyTypeFieldForm, requestSession) { - const database = sqlite(databasePath); +export async function addOccupancyTypeField(occupancyTypeFieldForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`insert into OccupancyTypeFields ( - occupancyTypeId, occupancyTypeField, - occupancyTypeFieldValues, isRequired, pattern, - minimumLength, maximumLength, - orderNumber, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) + occupancyTypeId, occupancyTypeField, + occupancyTypeFieldValues, isRequired, pattern, + minimumLength, maximumLength, + orderNumber, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) .run(occupancyTypeFieldForm.occupancyTypeId ?? undefined, occupancyTypeFieldForm.occupancyTypeField, occupancyTypeFieldForm.occupancyTypeFieldValues ?? '', occupancyTypeFieldForm.isRequired === '' ? 0 : 1, occupancyTypeFieldForm.pattern ?? '', occupancyTypeFieldForm.minimumLength ?? 0, occupancyTypeFieldForm.maximumLength ?? 100, occupancyTypeFieldForm.orderNumber ?? -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); - database.close(); + database.release(); clearCacheByTableName('OccupancyTypeFields'); return result.lastInsertRowid; } diff --git a/helpers/lotOccupancyDB/addOccupancyTypeField.ts b/helpers/lotOccupancyDB/addOccupancyTypeField.ts index 56b59e33..10d899f6 100644 --- a/helpers/lotOccupancyDB/addOccupancyTypeField.ts +++ b/helpers/lotOccupancyDB/addOccupancyTypeField.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' import { clearCacheByTableName } from '../functions.cache.js' @@ -16,24 +14,24 @@ interface AddOccupancyTypeFieldForm { orderNumber?: number } -export function addOccupancyTypeField( +export async function addOccupancyTypeField( occupancyTypeFieldForm: AddOccupancyTypeFieldForm, requestSession: recordTypes.PartialSession -): number { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() const result = database .prepare( `insert into OccupancyTypeFields ( - occupancyTypeId, occupancyTypeField, - occupancyTypeFieldValues, isRequired, pattern, - minimumLength, maximumLength, - orderNumber, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` + occupancyTypeId, occupancyTypeField, + occupancyTypeFieldValues, isRequired, pattern, + minimumLength, maximumLength, + orderNumber, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` ) .run( occupancyTypeFieldForm.occupancyTypeId ?? undefined, @@ -50,7 +48,7 @@ export function addOccupancyTypeField( rightNowMillis ) - database.close() + database.release() clearCacheByTableName('OccupancyTypeFields') diff --git a/helpers/lotOccupancyDB/addOccupancyTypePrint.d.ts b/helpers/lotOccupancyDB/addOccupancyTypePrint.d.ts index 933a470b..801257ab 100644 --- a/helpers/lotOccupancyDB/addOccupancyTypePrint.d.ts +++ b/helpers/lotOccupancyDB/addOccupancyTypePrint.d.ts @@ -4,5 +4,5 @@ interface OccupancyTypePrintForm { printEJS: string; orderNumber?: number; } -export declare function addOccupancyTypePrint(occupancyTypePrintForm: OccupancyTypePrintForm, requestSession: recordTypes.PartialSession): boolean; +export declare function addOccupancyTypePrint(occupancyTypePrintForm: OccupancyTypePrintForm, requestSession: recordTypes.PartialSession): Promise; export default addOccupancyTypePrint; diff --git a/helpers/lotOccupancyDB/addOccupancyTypePrint.js b/helpers/lotOccupancyDB/addOccupancyTypePrint.js index c6c32083..5cac1c93 100644 --- a/helpers/lotOccupancyDB/addOccupancyTypePrint.js +++ b/helpers/lotOccupancyDB/addOccupancyTypePrint.js @@ -1,28 +1,27 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export function addOccupancyTypePrint(occupancyTypePrintForm, requestSession) { - const database = sqlite(databasePath); +export async function addOccupancyTypePrint(occupancyTypePrintForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); let result = database .prepare(`update OccupancyTypePrints - set recordUpdate_userName = ?, - recordUpdate_timeMillis = ?, - recordDelete_userName = null, - recordDelete_timeMillis = null - where occupancyTypeId = ? - and printEJS = ?`) + set recordUpdate_userName = ?, + recordUpdate_timeMillis = ?, + recordDelete_userName = null, + recordDelete_timeMillis = null + where occupancyTypeId = ? + and printEJS = ?`) .run(requestSession.user.userName, rightNowMillis, occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS); if (result.changes === 0) { result = database .prepare(`insert into OccupancyTypePrints ( - occupancyTypeId, printEJS, orderNumber, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?)`) + occupancyTypeId, printEJS, orderNumber, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?)`) .run(occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS, occupancyTypePrintForm.orderNumber ?? -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); } - database.close(); + database.release(); clearCacheByTableName('OccupancyTypePrints'); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/addOccupancyTypePrint.ts b/helpers/lotOccupancyDB/addOccupancyTypePrint.ts index 06094dc0..ca6c0b9c 100644 --- a/helpers/lotOccupancyDB/addOccupancyTypePrint.ts +++ b/helpers/lotOccupancyDB/addOccupancyTypePrint.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { clearCacheByTableName } from '../functions.cache.js' @@ -12,23 +10,23 @@ interface OccupancyTypePrintForm { orderNumber?: number } -export function addOccupancyTypePrint( +export async function addOccupancyTypePrint( occupancyTypePrintForm: OccupancyTypePrintForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() let result = database .prepare( `update OccupancyTypePrints - set recordUpdate_userName = ?, - recordUpdate_timeMillis = ?, - recordDelete_userName = null, - recordDelete_timeMillis = null - where occupancyTypeId = ? - and printEJS = ?` + set recordUpdate_userName = ?, + recordUpdate_timeMillis = ?, + recordDelete_userName = null, + recordDelete_timeMillis = null + where occupancyTypeId = ? + and printEJS = ?` ) .run( requestSession.user!.userName, @@ -41,10 +39,10 @@ export function addOccupancyTypePrint( result = database .prepare( `insert into OccupancyTypePrints ( - occupancyTypeId, printEJS, orderNumber, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?)` + occupancyTypeId, printEJS, orderNumber, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?)` ) .run( occupancyTypePrintForm.occupancyTypeId, @@ -57,7 +55,7 @@ export function addOccupancyTypePrint( ) } - database.close() + database.release() clearCacheByTableName('OccupancyTypePrints') diff --git a/helpers/lotOccupancyDB/addOrUpdateLotField.d.ts b/helpers/lotOccupancyDB/addOrUpdateLotField.d.ts index 350a62ed..2e9b69d0 100644 --- a/helpers/lotOccupancyDB/addOrUpdateLotField.d.ts +++ b/helpers/lotOccupancyDB/addOrUpdateLotField.d.ts @@ -1,9 +1,9 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; interface LotFieldForm { lotId: string | number; lotTypeFieldId: string | number; lotFieldValue: string; } -export declare function addOrUpdateLotField(lotFieldForm: LotFieldForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): boolean; +export declare function addOrUpdateLotField(lotFieldForm: LotFieldForm, requestSession: recordTypes.PartialSession, connectedDatabase?: PoolConnection): Promise; export default addOrUpdateLotField; diff --git a/helpers/lotOccupancyDB/addOrUpdateLotField.js b/helpers/lotOccupancyDB/addOrUpdateLotField.js index aefe510a..e296924c 100644 --- a/helpers/lotOccupancyDB/addOrUpdateLotField.js +++ b/helpers/lotOccupancyDB/addOrUpdateLotField.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function addOrUpdateLotField(lotFieldForm, requestSession, connectedDatabase) { - const database = connectedDatabase ?? sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function addOrUpdateLotField(lotFieldForm, requestSession, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const rightNowMillis = Date.now(); let result = database .prepare(`update LotFields @@ -16,14 +15,14 @@ export function addOrUpdateLotField(lotFieldForm, requestSession, connectedDatab if (result.changes === 0) { result = database .prepare(`insert into LotFields ( - lotId, lotTypeFieldId, lotFieldValue, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?)`) + lotId, lotTypeFieldId, lotFieldValue, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?)`) .run(lotFieldForm.lotId, lotFieldForm.lotTypeFieldId, lotFieldForm.lotFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/addOrUpdateLotField.ts b/helpers/lotOccupancyDB/addOrUpdateLotField.ts index e1c9d590..055f2125 100644 --- a/helpers/lotOccupancyDB/addOrUpdateLotField.ts +++ b/helpers/lotOccupancyDB/addOrUpdateLotField.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' @@ -10,12 +9,12 @@ interface LotFieldForm { lotFieldValue: string } -export function addOrUpdateLotField( +export async function addOrUpdateLotField( lotFieldForm: LotFieldForm, requestSession: recordTypes.PartialSession, - connectedDatabase?: sqlite.Database -): boolean { - const database = connectedDatabase ?? sqlite(databasePath) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const rightNowMillis = Date.now() @@ -42,10 +41,10 @@ export function addOrUpdateLotField( result = database .prepare( `insert into LotFields ( - lotId, lotTypeFieldId, lotFieldValue, - recordCreate_userName, recordCreate_timeMillis, - recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?)` + lotId, lotTypeFieldId, lotFieldValue, + recordCreate_userName, recordCreate_timeMillis, + recordUpdate_userName, recordUpdate_timeMillis) + values (?, ?, ?, ?, ?, ?, ?)` ) .run( lotFieldForm.lotId, @@ -59,7 +58,7 @@ export function addOrUpdateLotField( } if (connectedDatabase === undefined) { - database.close() + database.release() } return result.changes > 0 diff --git a/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.d.ts b/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.d.ts index 89d26d1e..958a4124 100644 --- a/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.d.ts +++ b/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.d.ts @@ -1,9 +1,9 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; interface LotOccupancyFieldForm { lotOccupancyId: string | number; occupancyTypeFieldId: string | number; lotOccupancyFieldValue: string; } -export declare function addOrUpdateLotOccupancyField(lotOccupancyFieldForm: LotOccupancyFieldForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): boolean; +export declare function addOrUpdateLotOccupancyField(lotOccupancyFieldForm: LotOccupancyFieldForm, requestSession: recordTypes.PartialSession, connectedDatabase?: PoolConnection): Promise; export default addOrUpdateLotOccupancyField; diff --git a/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.js b/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.js index 22b35bea..086fbefe 100644 --- a/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.js +++ b/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function addOrUpdateLotOccupancyField(lotOccupancyFieldForm, requestSession, connectedDatabase) { - const database = connectedDatabase ?? sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function addOrUpdateLotOccupancyField(lotOccupancyFieldForm, requestSession, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const rightNowMillis = Date.now(); let result = database .prepare(`update LotOccupancyFields @@ -23,7 +22,7 @@ export function addOrUpdateLotOccupancyField(lotOccupancyFieldForm, requestSessi .run(lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId, lotOccupancyFieldForm.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.ts b/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.ts index f42e053c..b2866b98 100644 --- a/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.ts +++ b/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' @@ -10,12 +9,12 @@ interface LotOccupancyFieldForm { lotOccupancyFieldValue: string } -export function addOrUpdateLotOccupancyField( +export async function addOrUpdateLotOccupancyField( lotOccupancyFieldForm: LotOccupancyFieldForm, requestSession: recordTypes.PartialSession, - connectedDatabase?: sqlite.Database -): boolean { - const database = connectedDatabase ?? sqlite(databasePath) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const rightNowMillis = Date.now() @@ -59,7 +58,7 @@ export function addOrUpdateLotOccupancyField( } if (connectedDatabase === undefined) { - database.close() + database.release() } return result.changes > 0 diff --git a/helpers/lotOccupancyDB/addRecord.d.ts b/helpers/lotOccupancyDB/addRecord.d.ts index 92ab2b5c..c94c67b9 100644 --- a/helpers/lotOccupancyDB/addRecord.d.ts +++ b/helpers/lotOccupancyDB/addRecord.d.ts @@ -1,4 +1,4 @@ import type * as recordTypes from '../../types/recordTypes'; declare type RecordTable = 'FeeCategories' | 'LotStatuses' | 'LotTypes' | 'OccupancyTypes' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes'; -export declare function addRecord(recordTable: RecordTable, recordName: string, orderNumber: number | string, requestSession: recordTypes.PartialSession): number; +export declare function addRecord(recordTable: RecordTable, recordName: string, orderNumber: number | string, requestSession: recordTypes.PartialSession): Promise; export {}; diff --git a/helpers/lotOccupancyDB/addRecord.js b/helpers/lotOccupancyDB/addRecord.js index bc60252e..9fb2cfc0 100644 --- a/helpers/lotOccupancyDB/addRecord.js +++ b/helpers/lotOccupancyDB/addRecord.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; const recordNameColumns = new Map(); recordNameColumns.set('FeeCategories', 'feeCategory'); @@ -8,8 +7,8 @@ recordNameColumns.set('LotTypes', 'lotType'); recordNameColumns.set('OccupancyTypes', 'occupancyType'); recordNameColumns.set('WorkOrderMilestoneTypes', 'workOrderMilestoneType'); recordNameColumns.set('WorkOrderTypes', 'workOrderType'); -export function addRecord(recordTable, recordName, orderNumber, requestSession) { - const database = sqlite(databasePath); +export async function addRecord(recordTable, recordName, orderNumber, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`insert into ${recordTable} ( @@ -19,7 +18,7 @@ export function addRecord(recordTable, recordName, orderNumber, requestSession) recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?)`) .run(recordName, orderNumber === '' ? -1 : orderNumber, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); - database.close(); + database.release(); clearCacheByTableName(recordTable); return result.lastInsertRowid; } diff --git a/helpers/lotOccupancyDB/addRecord.ts b/helpers/lotOccupancyDB/addRecord.ts index 3606ea52..94247933 100644 --- a/helpers/lotOccupancyDB/addRecord.ts +++ b/helpers/lotOccupancyDB/addRecord.ts @@ -1,6 +1,6 @@ import sqlite from 'better-sqlite3' -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' import { clearCacheByTableName } from '../functions.cache.js' @@ -21,13 +21,13 @@ recordNameColumns.set('OccupancyTypes', 'occupancyType') recordNameColumns.set('WorkOrderMilestoneTypes', 'workOrderMilestoneType') recordNameColumns.set('WorkOrderTypes', 'workOrderType') -export function addRecord( +export async function addRecord( recordTable: RecordTable, recordName: string, orderNumber: number | string, requestSession: recordTypes.PartialSession -): number { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -49,7 +49,7 @@ export function addRecord( rightNowMillis ) - database.close() + database.release() clearCacheByTableName(recordTable) diff --git a/helpers/lotOccupancyDB/addWorkOrder.d.ts b/helpers/lotOccupancyDB/addWorkOrder.d.ts index e4231fa1..a0f5e5e5 100644 --- a/helpers/lotOccupancyDB/addWorkOrder.d.ts +++ b/helpers/lotOccupancyDB/addWorkOrder.d.ts @@ -7,5 +7,5 @@ interface AddWorkOrderForm { workOrderCloseDateString?: string; lotOccupancyId?: string; } -export declare function addWorkOrder(workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession): number; +export declare function addWorkOrder(workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession): Promise; export default addWorkOrder; diff --git a/helpers/lotOccupancyDB/addWorkOrder.js b/helpers/lotOccupancyDB/addWorkOrder.js index 5b519093..8c50dd54 100644 --- a/helpers/lotOccupancyDB/addWorkOrder.js +++ b/helpers/lotOccupancyDB/addWorkOrder.js @@ -1,14 +1,13 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { getNextWorkOrderNumber } from './getNextWorkOrderNumber.js'; import { addWorkOrderLotOccupancy } from './addWorkOrderLotOccupancy.js'; import { dateStringToInteger, dateToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function addWorkOrder(workOrderForm, requestSession) { - const database = sqlite(databasePath); +export async function addWorkOrder(workOrderForm, requestSession) { + const database = await acquireConnection(); const rightNow = new Date(); let workOrderNumber = workOrderForm.workOrderNumber; if (!workOrderNumber) { - workOrderNumber = getNextWorkOrderNumber(database); + workOrderNumber = await getNextWorkOrderNumber(database); } const result = database .prepare(`insert into WorkOrders ( @@ -24,12 +23,12 @@ export function addWorkOrder(workOrderForm, requestSession) { : undefined, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime()); const workOrderId = result.lastInsertRowid; if (workOrderForm.lotOccupancyId) { - addWorkOrderLotOccupancy({ + await addWorkOrderLotOccupancy({ workOrderId, lotOccupancyId: workOrderForm.lotOccupancyId }, requestSession, database); } - database.close(); + database.release(); return workOrderId; } export default addWorkOrder; diff --git a/helpers/lotOccupancyDB/addWorkOrder.ts b/helpers/lotOccupancyDB/addWorkOrder.ts index b2b10b9f..f4caa7e9 100644 --- a/helpers/lotOccupancyDB/addWorkOrder.ts +++ b/helpers/lotOccupancyDB/addWorkOrder.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { getNextWorkOrderNumber } from './getNextWorkOrderNumber.js' import { addWorkOrderLotOccupancy } from './addWorkOrderLotOccupancy.js' @@ -21,18 +19,18 @@ interface AddWorkOrderForm { lotOccupancyId?: string } -export function addWorkOrder( +export async function addWorkOrder( workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession -): number { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNow = new Date() let workOrderNumber = workOrderForm.workOrderNumber if (!workOrderNumber) { - workOrderNumber = getNextWorkOrderNumber(database) + workOrderNumber = await getNextWorkOrderNumber(database) } const result = database @@ -63,7 +61,7 @@ export function addWorkOrder( const workOrderId = result.lastInsertRowid as number if (workOrderForm.lotOccupancyId) { - addWorkOrderLotOccupancy( + await addWorkOrderLotOccupancy( { workOrderId, lotOccupancyId: workOrderForm.lotOccupancyId @@ -73,7 +71,7 @@ export function addWorkOrder( ) } - database.close() + database.release() return workOrderId } diff --git a/helpers/lotOccupancyDB/addWorkOrderComment.d.ts b/helpers/lotOccupancyDB/addWorkOrderComment.d.ts index 4d637fe4..844b5691 100644 --- a/helpers/lotOccupancyDB/addWorkOrderComment.d.ts +++ b/helpers/lotOccupancyDB/addWorkOrderComment.d.ts @@ -3,5 +3,5 @@ interface AddWorkOrderCommentForm { workOrderId: string; workOrderComment: string; } -export declare function addWorkOrderComment(workOrderCommentForm: AddWorkOrderCommentForm, requestSession: recordTypes.PartialSession): number; +export declare function addWorkOrderComment(workOrderCommentForm: AddWorkOrderCommentForm, requestSession: recordTypes.PartialSession): Promise; export default addWorkOrderComment; diff --git a/helpers/lotOccupancyDB/addWorkOrderComment.js b/helpers/lotOccupancyDB/addWorkOrderComment.js index e8c91f28..4aeb72b5 100644 --- a/helpers/lotOccupancyDB/addWorkOrderComment.js +++ b/helpers/lotOccupancyDB/addWorkOrderComment.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import * as dateTimeFunctions from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function addWorkOrderComment(workOrderCommentForm, requestSession) { - const database = sqlite(databasePath); +export async function addWorkOrderComment(workOrderCommentForm, requestSession) { + const database = await acquireConnection(); const rightNow = new Date(); const result = database .prepare(`insert into WorkOrderComments ( @@ -13,7 +12,7 @@ export function addWorkOrderComment(workOrderCommentForm, requestSession) { recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?, ?, ?)`) .run(workOrderCommentForm.workOrderId, dateTimeFunctions.dateToInteger(rightNow), dateTimeFunctions.dateToTimeInteger(rightNow), workOrderCommentForm.workOrderComment, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime()); - database.close(); + database.release(); return result.lastInsertRowid; } export default addWorkOrderComment; diff --git a/helpers/lotOccupancyDB/addWorkOrderComment.ts b/helpers/lotOccupancyDB/addWorkOrderComment.ts index 96d5cdc0..ee44ca54 100644 --- a/helpers/lotOccupancyDB/addWorkOrderComment.ts +++ b/helpers/lotOccupancyDB/addWorkOrderComment.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import * as dateTimeFunctions from '@cityssm/expressjs-server-js/dateTimeFns.js' @@ -11,11 +9,11 @@ interface AddWorkOrderCommentForm { workOrderComment: string } -export function addWorkOrderComment( +export async function addWorkOrderComment( workOrderCommentForm: AddWorkOrderCommentForm, requestSession: recordTypes.PartialSession -): number { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNow = new Date() @@ -40,7 +38,7 @@ export function addWorkOrderComment( rightNow.getTime() ) - database.close() + database.release() return result.lastInsertRowid as number } diff --git a/helpers/lotOccupancyDB/addWorkOrderLot.d.ts b/helpers/lotOccupancyDB/addWorkOrderLot.d.ts index ba73ff6e..8fc89c60 100644 --- a/helpers/lotOccupancyDB/addWorkOrderLot.d.ts +++ b/helpers/lotOccupancyDB/addWorkOrderLot.d.ts @@ -3,5 +3,5 @@ interface AddWorkOrderLotForm { workOrderId: number | string; lotId: number | string; } -export declare function addWorkOrderLot(workOrderLotForm: AddWorkOrderLotForm, requestSession: recordTypes.PartialSession): boolean; +export declare function addWorkOrderLot(workOrderLotForm: AddWorkOrderLotForm, requestSession: recordTypes.PartialSession): Promise; export default addWorkOrderLot; diff --git a/helpers/lotOccupancyDB/addWorkOrderLot.js b/helpers/lotOccupancyDB/addWorkOrderLot.js index 1fa7d893..fda51708 100644 --- a/helpers/lotOccupancyDB/addWorkOrderLot.js +++ b/helpers/lotOccupancyDB/addWorkOrderLot.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function addWorkOrderLot(workOrderLotForm, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function addWorkOrderLot(workOrderLotForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const row = database .prepare(`select recordDelete_timeMillis @@ -33,7 +32,7 @@ export function addWorkOrderLot(workOrderLotForm, requestSession) { values (?, ?, ?, ?, ?, ?)`) .run(workOrderLotForm.workOrderId, workOrderLotForm.lotId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); } - database.close(); + database.release(); return true; } export default addWorkOrderLot; diff --git a/helpers/lotOccupancyDB/addWorkOrderLot.ts b/helpers/lotOccupancyDB/addWorkOrderLot.ts index 8cfcaf12..dafc6685 100644 --- a/helpers/lotOccupancyDB/addWorkOrderLot.ts +++ b/helpers/lotOccupancyDB/addWorkOrderLot.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' @@ -9,11 +7,11 @@ interface AddWorkOrderLotForm { lotId: number | string } -export function addWorkOrderLot( +export async function addWorkOrderLot( workOrderLotForm: AddWorkOrderLotForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -68,7 +66,7 @@ export function addWorkOrderLot( ) } - database.close() + database.release() return true } diff --git a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.d.ts b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.d.ts index fcc3e040..46c43528 100644 --- a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.d.ts +++ b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.d.ts @@ -1,8 +1,8 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; interface AddWorkOrderLotOccupancyForm { workOrderId: number | string; lotOccupancyId: number | string; } -export declare function addWorkOrderLotOccupancy(workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): boolean; +export declare function addWorkOrderLotOccupancy(workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: PoolConnection): Promise; export default addWorkOrderLotOccupancy; diff --git a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js index 5874a38a..dc9d9c84 100644 --- a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js +++ b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function addWorkOrderLotOccupancy(workOrderLotOccupancyForm, requestSession, connectedDatabase) { - const database = connectedDatabase ?? sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function addWorkOrderLotOccupancy(workOrderLotOccupancyForm, requestSession, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const rightNowMillis = Date.now(); const row = database .prepare(`select recordDelete_timeMillis @@ -34,7 +33,7 @@ export function addWorkOrderLotOccupancy(workOrderLotOccupancyForm, requestSessi .run(workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return true; } diff --git a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.ts b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.ts index e5d73254..d7ffd8e6 100644 --- a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.ts +++ b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' @@ -9,12 +8,12 @@ interface AddWorkOrderLotOccupancyForm { lotOccupancyId: number | string } -export function addWorkOrderLotOccupancy( +export async function addWorkOrderLotOccupancy( workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm, requestSession: recordTypes.PartialSession, - connectedDatabase?: sqlite.Database -): boolean { - const database = connectedDatabase ?? sqlite(databasePath) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const rightNowMillis = Date.now() @@ -73,7 +72,7 @@ export function addWorkOrderLotOccupancy( } if (connectedDatabase === undefined) { - database.close() + database.release() } return true diff --git a/helpers/lotOccupancyDB/addWorkOrderMilestone.d.ts b/helpers/lotOccupancyDB/addWorkOrderMilestone.d.ts index 3a2501c2..5dd2c3b0 100644 --- a/helpers/lotOccupancyDB/addWorkOrderMilestone.d.ts +++ b/helpers/lotOccupancyDB/addWorkOrderMilestone.d.ts @@ -8,5 +8,5 @@ interface AddWorkOrderMilestoneForm { workOrderMilestoneCompletionDateString?: string; workOrderMilestoneCompletionTimeString?: string; } -export declare function addWorkOrderMilestone(milestoneForm: AddWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): number; +export declare function addWorkOrderMilestone(milestoneForm: AddWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): Promise; export default addWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/addWorkOrderMilestone.js b/helpers/lotOccupancyDB/addWorkOrderMilestone.js index 14c8c6a7..74ff3fb4 100644 --- a/helpers/lotOccupancyDB/addWorkOrderMilestone.js +++ b/helpers/lotOccupancyDB/addWorkOrderMilestone.js @@ -1,9 +1,8 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateStringToInteger, timeStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function addWorkOrderMilestone(milestoneForm, requestSession) { +export async function addWorkOrderMilestone(milestoneForm, requestSession) { const rightNow = new Date(); - const database = sqlite(databasePath); + const database = await acquireConnection(); const result = database .prepare(`insert into WorkOrderMilestones ( workOrderId, workOrderMilestoneTypeId, @@ -20,7 +19,7 @@ export function addWorkOrderMilestone(milestoneForm, requestSession) { : undefined, milestoneForm.workOrderMilestoneCompletionTimeString ? timeStringToInteger(milestoneForm.workOrderMilestoneCompletionTimeString) : undefined, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime()); - database.close(); + database.release(); return result.lastInsertRowid; } export default addWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/addWorkOrderMilestone.ts b/helpers/lotOccupancyDB/addWorkOrderMilestone.ts index ec80d142..40151b8e 100644 --- a/helpers/lotOccupancyDB/addWorkOrderMilestone.ts +++ b/helpers/lotOccupancyDB/addWorkOrderMilestone.ts @@ -2,7 +2,7 @@ import sqlite from 'better-sqlite3' -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { dateStringToInteger, @@ -21,13 +21,13 @@ interface AddWorkOrderMilestoneForm { workOrderMilestoneCompletionTimeString?: string } -export function addWorkOrderMilestone( +export async function addWorkOrderMilestone( milestoneForm: AddWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession -): number { +): Promise { const rightNow = new Date() - const database = sqlite(databasePath) + const database = await acquireConnection() const result = database .prepare( @@ -64,7 +64,7 @@ export function addWorkOrderMilestone( rightNow.getTime() ) - database.close() + database.release() return result.lastInsertRowid as number } diff --git a/helpers/lotOccupancyDB/cleanupDatabase.d.ts b/helpers/lotOccupancyDB/cleanupDatabase.d.ts index a9ebf68a..062d9e5d 100644 --- a/helpers/lotOccupancyDB/cleanupDatabase.d.ts +++ b/helpers/lotOccupancyDB/cleanupDatabase.d.ts @@ -1,6 +1,6 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function cleanupDatabase(requestSession: recordTypes.PartialSession): { +export declare function cleanupDatabase(requestSession: recordTypes.PartialSession): Promise<{ inactivedRecordCount: number; purgedRecordCount: number; -}; +}>; export default cleanupDatabase; diff --git a/helpers/lotOccupancyDB/cleanupDatabase.js b/helpers/lotOccupancyDB/cleanupDatabase.js index f7c87de1..cb250706 100644 --- a/helpers/lotOccupancyDB/cleanupDatabase.js +++ b/helpers/lotOccupancyDB/cleanupDatabase.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import * as configFunctions from '../functions.config.js'; -export function cleanupDatabase(requestSession) { - const database = sqlite(databasePath); +export async function cleanupDatabase(requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const recordDeleteTimeMillisMin = rightNowMillis - configFunctions.getProperty('settings.adminCleanup.recordDeleteAgeDays') * @@ -229,7 +228,7 @@ export function cleanupDatabase(requestSession) { where recordDelete_timeMillis <= ? and lotTypeId not in (select lotTypeId from Lots)`) .run(recordDeleteTimeMillisMin).changes; - database.close(); + database.release(); return { inactivedRecordCount, purgedRecordCount diff --git a/helpers/lotOccupancyDB/cleanupDatabase.ts b/helpers/lotOccupancyDB/cleanupDatabase.ts index c3410f2e..12f8fc3d 100644 --- a/helpers/lotOccupancyDB/cleanupDatabase.ts +++ b/helpers/lotOccupancyDB/cleanupDatabase.ts @@ -1,16 +1,13 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import * as configFunctions from '../functions.config.js' import type * as recordTypes from '../../types/recordTypes' -export function cleanupDatabase(requestSession: recordTypes.PartialSession): { - inactivedRecordCount: number - purgedRecordCount: number -} { - const database = sqlite(databasePath) +export async function cleanupDatabase( + requestSession: recordTypes.PartialSession +): Promise<{ inactivedRecordCount: number; purgedRecordCount: number }> { + const database = await acquireConnection() const rightNowMillis = Date.now() const recordDeleteTimeMillisMin = @@ -445,7 +442,7 @@ export function cleanupDatabase(requestSession: recordTypes.PartialSession): { ) .run(recordDeleteTimeMillisMin).changes - database.close() + database.release() return { inactivedRecordCount, diff --git a/helpers/lotOccupancyDB/closeWorkOrder.d.ts b/helpers/lotOccupancyDB/closeWorkOrder.d.ts index 4faed7b7..b7e2158c 100644 --- a/helpers/lotOccupancyDB/closeWorkOrder.d.ts +++ b/helpers/lotOccupancyDB/closeWorkOrder.d.ts @@ -3,5 +3,5 @@ interface AddWorkOrderForm { workOrderId: number | string; workOrderCloseDateString?: string; } -export declare function closeWorkOrder(workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession): boolean; +export declare function closeWorkOrder(workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession): Promise; export default closeWorkOrder; diff --git a/helpers/lotOccupancyDB/closeWorkOrder.js b/helpers/lotOccupancyDB/closeWorkOrder.js index 890b5cfa..dc31c161 100644 --- a/helpers/lotOccupancyDB/closeWorkOrder.js +++ b/helpers/lotOccupancyDB/closeWorkOrder.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateStringToInteger, dateToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function closeWorkOrder(workOrderForm, requestSession) { - const database = sqlite(databasePath); +export async function closeWorkOrder(workOrderForm, requestSession) { + const database = await acquireConnection(); const rightNow = new Date(); const result = database .prepare(`update WorkOrders @@ -13,7 +12,7 @@ export function closeWorkOrder(workOrderForm, requestSession) { .run(workOrderForm.workOrderCloseDateString ? dateStringToInteger(workOrderForm.workOrderCloseDateString) : dateToInteger(new Date()), requestSession.user.userName, rightNow.getTime(), workOrderForm.workOrderId); - database.close(); + database.release(); return result.changes > 0; } export default closeWorkOrder; diff --git a/helpers/lotOccupancyDB/closeWorkOrder.ts b/helpers/lotOccupancyDB/closeWorkOrder.ts index 2b31ae2f..885a61ad 100644 --- a/helpers/lotOccupancyDB/closeWorkOrder.ts +++ b/helpers/lotOccupancyDB/closeWorkOrder.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { dateStringToInteger, @@ -14,11 +12,11 @@ interface AddWorkOrderForm { workOrderCloseDateString?: string } -export function closeWorkOrder( +export async function closeWorkOrder( workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNow = new Date() @@ -39,7 +37,7 @@ export function closeWorkOrder( workOrderForm.workOrderId ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/completeWorkOrderMilestone.d.ts b/helpers/lotOccupancyDB/completeWorkOrderMilestone.d.ts index 1eb468c7..01c2b8ac 100644 --- a/helpers/lotOccupancyDB/completeWorkOrderMilestone.d.ts +++ b/helpers/lotOccupancyDB/completeWorkOrderMilestone.d.ts @@ -4,5 +4,5 @@ interface CompleteWorkOrderMilestoneForm { workOrderMilestoneCompletionDateString?: string; workOrderMilestoneCompletionTimeString?: string; } -export declare function completeWorkOrderMilestone(milestoneForm: CompleteWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): boolean; +export declare function completeWorkOrderMilestone(milestoneForm: CompleteWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): Promise; export default completeWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/completeWorkOrderMilestone.js b/helpers/lotOccupancyDB/completeWorkOrderMilestone.js index 7adfd616..b591bb76 100644 --- a/helpers/lotOccupancyDB/completeWorkOrderMilestone.js +++ b/helpers/lotOccupancyDB/completeWorkOrderMilestone.js @@ -1,9 +1,8 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function completeWorkOrderMilestone(milestoneForm, requestSession) { +export async function completeWorkOrderMilestone(milestoneForm, requestSession) { const rightNow = new Date(); - const database = sqlite(databasePath); + const database = await acquireConnection(); const result = database .prepare(`update WorkOrderMilestones set workOrderMilestoneCompletionDate = ?, @@ -16,7 +15,7 @@ export function completeWorkOrderMilestone(milestoneForm, requestSession) { : dateToInteger(rightNow), milestoneForm.workOrderMilestoneCompletionTimeString ? timeStringToInteger(milestoneForm.workOrderMilestoneCompletionTimeString) : dateToTimeInteger(rightNow), requestSession.user.userName, rightNow.getTime(), milestoneForm.workOrderMilestoneId); - database.close(); + database.release(); return result.changes > 0; } export default completeWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/completeWorkOrderMilestone.ts b/helpers/lotOccupancyDB/completeWorkOrderMilestone.ts index b9579cc2..c5256d4c 100644 --- a/helpers/lotOccupancyDB/completeWorkOrderMilestone.ts +++ b/helpers/lotOccupancyDB/completeWorkOrderMilestone.ts @@ -1,8 +1,6 @@ /* eslint-disable @typescript-eslint/indent */ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { dateStringToInteger, @@ -19,13 +17,13 @@ interface CompleteWorkOrderMilestoneForm { workOrderMilestoneCompletionTimeString?: string } -export function completeWorkOrderMilestone( +export async function completeWorkOrderMilestone( milestoneForm: CompleteWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession -): boolean { +): Promise { const rightNow = new Date() - const database = sqlite(databasePath) + const database = await acquireConnection() const result = database .prepare( @@ -52,7 +50,7 @@ export function completeWorkOrderMilestone( milestoneForm.workOrderMilestoneId ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/copyLotOccupancy.d.ts b/helpers/lotOccupancyDB/copyLotOccupancy.d.ts index 130fe7ee..73907190 100644 --- a/helpers/lotOccupancyDB/copyLotOccupancy.d.ts +++ b/helpers/lotOccupancyDB/copyLotOccupancy.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function copyLotOccupancy(oldLotOccupancyId: number | string, requestSession: recordTypes.PartialSession): number; +export declare function copyLotOccupancy(oldLotOccupancyId: number | string, requestSession: recordTypes.PartialSession): Promise; export default copyLotOccupancy; diff --git a/helpers/lotOccupancyDB/copyLotOccupancy.js b/helpers/lotOccupancyDB/copyLotOccupancy.js index 2ef6cee9..3e99fb73 100644 --- a/helpers/lotOccupancyDB/copyLotOccupancy.js +++ b/helpers/lotOccupancyDB/copyLotOccupancy.js @@ -1,13 +1,12 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { getLotOccupancy } from './getLotOccupancy.js'; import { addLotOccupancy } from './addLotOccupancy.js'; import { addLotOccupancyOccupant } from './addLotOccupancyOccupant.js'; import { dateToString } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function copyLotOccupancy(oldLotOccupancyId, requestSession) { - const database = sqlite(databasePath); - const oldLotOccupancy = getLotOccupancy(oldLotOccupancyId, database); - const newLotOccupancyId = addLotOccupancy({ +export async function copyLotOccupancy(oldLotOccupancyId, requestSession) { + const database = await acquireConnection(); + const oldLotOccupancy = (await getLotOccupancy(oldLotOccupancyId, database)); + const newLotOccupancyId = await addLotOccupancy({ lotId: oldLotOccupancy.lotId ?? '', occupancyTypeId: oldLotOccupancy.occupancyTypeId, occupancyStartDateString: dateToString(new Date()), @@ -24,7 +23,7 @@ export function copyLotOccupancy(oldLotOccupancyId, requestSession) { .run(newLotOccupancyId, occupancyField.occupancyTypeFieldId, occupancyField.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); } for (const occupant of oldLotOccupancy.lotOccupancyOccupants ?? []) { - addLotOccupancyOccupant({ + await addLotOccupancyOccupant({ lotOccupancyId: newLotOccupancyId, lotOccupantTypeId: occupant.lotOccupantTypeId, occupantName: occupant.occupantName, @@ -37,7 +36,7 @@ export function copyLotOccupancy(oldLotOccupancyId, requestSession) { occupantEmailAddress: occupant.occupantEmailAddress }, requestSession, database); } - database.close(); + database.release(); return newLotOccupancyId; } export default copyLotOccupancy; diff --git a/helpers/lotOccupancyDB/copyLotOccupancy.ts b/helpers/lotOccupancyDB/copyLotOccupancy.ts index 9fe9c084..cbb47c8e 100644 --- a/helpers/lotOccupancyDB/copyLotOccupancy.ts +++ b/helpers/lotOccupancyDB/copyLotOccupancy.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { getLotOccupancy } from './getLotOccupancy.js' import { addLotOccupancy } from './addLotOccupancy.js' @@ -10,15 +8,15 @@ import { dateToString } from '@cityssm/expressjs-server-js/dateTimeFns.js' import type * as recordTypes from '../../types/recordTypes' -export function copyLotOccupancy( +export async function copyLotOccupancy( oldLotOccupancyId: number | string, requestSession: recordTypes.PartialSession -): number { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() - const oldLotOccupancy = getLotOccupancy(oldLotOccupancyId, database)! + const oldLotOccupancy = (await getLotOccupancy(oldLotOccupancyId, database))! - const newLotOccupancyId = addLotOccupancy( + const newLotOccupancyId = await addLotOccupancy( { lotId: oldLotOccupancy.lotId ?? '', occupancyTypeId: oldLotOccupancy.occupancyTypeId!, @@ -60,7 +58,7 @@ export function copyLotOccupancy( */ for (const occupant of oldLotOccupancy.lotOccupancyOccupants ?? []) { - addLotOccupancyOccupant( + await addLotOccupancyOccupant( { lotOccupancyId: newLotOccupancyId, lotOccupantTypeId: occupant.lotOccupantTypeId!, @@ -78,7 +76,7 @@ export function copyLotOccupancy( ) } - database.close() + database.release() return newLotOccupancyId } diff --git a/helpers/lotOccupancyDB/deleteLotField.d.ts b/helpers/lotOccupancyDB/deleteLotField.d.ts index 2186f88e..83c4f4e7 100644 --- a/helpers/lotOccupancyDB/deleteLotField.d.ts +++ b/helpers/lotOccupancyDB/deleteLotField.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteLotField(lotId: number | string, lotTypeFieldId: number | string, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): boolean; +export declare function deleteLotField(lotId: number | string, lotTypeFieldId: number | string, requestSession: recordTypes.PartialSession, connectedDatabase?: PoolConnection): Promise; export default deleteLotField; diff --git a/helpers/lotOccupancyDB/deleteLotField.js b/helpers/lotOccupancyDB/deleteLotField.js index 2bc6dc83..74ac49f4 100644 --- a/helpers/lotOccupancyDB/deleteLotField.js +++ b/helpers/lotOccupancyDB/deleteLotField.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function deleteLotField(lotId, lotTypeFieldId, requestSession, connectedDatabase) { - const database = connectedDatabase ?? sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function deleteLotField(lotId, lotTypeFieldId, requestSession, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const rightNowMillis = Date.now(); const result = database .prepare(`update LotFields @@ -11,7 +10,7 @@ export function deleteLotField(lotId, lotTypeFieldId, requestSession, connectedD and lotTypeFieldId = ?`) .run(requestSession.user.userName, rightNowMillis, lotId, lotTypeFieldId); if (connectedDatabase === undefined) { - database.close(); + database.release(); } return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/deleteLotField.ts b/helpers/lotOccupancyDB/deleteLotField.ts index 67d39374..f1b90f47 100644 --- a/helpers/lotOccupancyDB/deleteLotField.ts +++ b/helpers/lotOccupancyDB/deleteLotField.ts @@ -1,16 +1,15 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' -export function deleteLotField( +export async function deleteLotField( lotId: number | string, lotTypeFieldId: number | string, requestSession: recordTypes.PartialSession, - connectedDatabase?: sqlite.Database -): boolean { - const database = connectedDatabase ?? sqlite(databasePath) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const rightNowMillis = Date.now() @@ -25,7 +24,7 @@ export function deleteLotField( .run(requestSession.user!.userName, rightNowMillis, lotId, lotTypeFieldId) if (connectedDatabase === undefined) { - database.close() + database.release() } return result.changes > 0 diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyFee.d.ts b/helpers/lotOccupancyDB/deleteLotOccupancyFee.d.ts index c56a79f8..02c70e91 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyFee.d.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyFee.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteLotOccupancyFee(lotOccupancyId: number | string, feeId: number | string, requestSession: recordTypes.PartialSession): boolean; +export declare function deleteLotOccupancyFee(lotOccupancyId: number | string, feeId: number | string, requestSession: recordTypes.PartialSession): Promise; export default deleteLotOccupancyFee; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyFee.js b/helpers/lotOccupancyDB/deleteLotOccupancyFee.js index 5581a8c3..f5549fc8 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyFee.js +++ b/helpers/lotOccupancyDB/deleteLotOccupancyFee.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function deleteLotOccupancyFee(lotOccupancyId, feeId, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function deleteLotOccupancyFee(lotOccupancyId, feeId, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update LotOccupancyFees @@ -10,7 +9,7 @@ export function deleteLotOccupancyFee(lotOccupancyId, feeId, requestSession) { where lotOccupancyId = ? and feeId = ?`) .run(requestSession.user.userName, rightNowMillis, lotOccupancyId, feeId); - database.close(); + database.release(); return result.changes > 0; } export default deleteLotOccupancyFee; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyFee.ts b/helpers/lotOccupancyDB/deleteLotOccupancyFee.ts index c89764f6..eb96a15d 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyFee.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyFee.ts @@ -1,15 +1,13 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' -export function deleteLotOccupancyFee( +export async function deleteLotOccupancyFee( lotOccupancyId: number | string, feeId: number | string, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -23,7 +21,7 @@ export function deleteLotOccupancyFee( ) .run(requestSession.user!.userName, rightNowMillis, lotOccupancyId, feeId) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyField.d.ts b/helpers/lotOccupancyDB/deleteLotOccupancyField.d.ts index cac43b2d..f2353ffb 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyField.d.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyField.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteLotOccupancyField(lotOccupancyId: number | string, occupancyTypeFieldId: number | string, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): boolean; +export declare function deleteLotOccupancyField(lotOccupancyId: number | string, occupancyTypeFieldId: number | string, requestSession: recordTypes.PartialSession, connectedDatabase?: PoolConnection): Promise; export default deleteLotOccupancyField; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyField.js b/helpers/lotOccupancyDB/deleteLotOccupancyField.js index 796b9611..f2123298 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyField.js +++ b/helpers/lotOccupancyDB/deleteLotOccupancyField.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function deleteLotOccupancyField(lotOccupancyId, occupancyTypeFieldId, requestSession, connectedDatabase) { - const database = connectedDatabase ?? sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function deleteLotOccupancyField(lotOccupancyId, occupancyTypeFieldId, requestSession, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const rightNowMillis = Date.now(); const result = database .prepare(`update LotOccupancyFields @@ -11,7 +10,7 @@ export function deleteLotOccupancyField(lotOccupancyId, occupancyTypeFieldId, re and occupancyTypeFieldId = ?`) .run(requestSession.user.userName, rightNowMillis, lotOccupancyId, occupancyTypeFieldId); if (connectedDatabase === undefined) { - database.close(); + database.release(); } return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyField.ts b/helpers/lotOccupancyDB/deleteLotOccupancyField.ts index d948a640..63f0dbe6 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyField.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyField.ts @@ -1,16 +1,15 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' -export function deleteLotOccupancyField( +export async function deleteLotOccupancyField( lotOccupancyId: number | string, occupancyTypeFieldId: number | string, requestSession: recordTypes.PartialSession, - connectedDatabase?: sqlite.Database -): boolean { - const database = connectedDatabase ?? sqlite(databasePath) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const rightNowMillis = Date.now() @@ -30,7 +29,7 @@ export function deleteLotOccupancyField( ) if (connectedDatabase === undefined) { - database.close() + database.release() } return result.changes > 0 diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.d.ts b/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.d.ts index 794e4ec0..908689cf 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.d.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteLotOccupancyOccupant(lotOccupancyId: number | string, lotOccupantIndex: number | string, requestSession: recordTypes.PartialSession): boolean; +export declare function deleteLotOccupancyOccupant(lotOccupancyId: number | string, lotOccupantIndex: number | string, requestSession: recordTypes.PartialSession): Promise; export default deleteLotOccupancyOccupant; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.js b/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.js index 7e8e40fc..4bbdbb57 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.js +++ b/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function deleteLotOccupancyOccupant(lotOccupancyId, lotOccupantIndex, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function deleteLotOccupancyOccupant(lotOccupancyId, lotOccupantIndex, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update LotOccupancyOccupants @@ -10,7 +9,7 @@ export function deleteLotOccupancyOccupant(lotOccupancyId, lotOccupantIndex, req where lotOccupancyId = ? and lotOccupantIndex = ?`) .run(requestSession.user.userName, rightNowMillis, lotOccupancyId, lotOccupantIndex); - database.close(); + database.release(); return result.changes > 0; } export default deleteLotOccupancyOccupant; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.ts b/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.ts index 74c951ae..54ac1df9 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.ts @@ -1,15 +1,13 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' -export function deleteLotOccupancyOccupant( +export async function deleteLotOccupancyOccupant( lotOccupancyId: number | string, lotOccupantIndex: number | string, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -28,7 +26,7 @@ export function deleteLotOccupancyOccupant( lotOccupantIndex ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.d.ts b/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.d.ts index 879edde4..a4f47266 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.d.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteLotOccupancyTransaction(lotOccupancyId: number | string, transactionIndex: number | string, requestSession: recordTypes.PartialSession): boolean; +export declare function deleteLotOccupancyTransaction(lotOccupancyId: number | string, transactionIndex: number | string, requestSession: recordTypes.PartialSession): Promise; export default deleteLotOccupancyTransaction; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.js b/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.js index aedd4e06..195667e6 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.js +++ b/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function deleteLotOccupancyTransaction(lotOccupancyId, transactionIndex, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function deleteLotOccupancyTransaction(lotOccupancyId, transactionIndex, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update LotOccupancyTransactions @@ -10,7 +9,7 @@ export function deleteLotOccupancyTransaction(lotOccupancyId, transactionIndex, where lotOccupancyId = ? and transactionIndex = ?`) .run(requestSession.user.userName, rightNowMillis, lotOccupancyId, transactionIndex); - database.close(); + database.release(); return result.changes > 0; } export default deleteLotOccupancyTransaction; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.ts b/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.ts index 8b545121..4d0718e4 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.ts @@ -1,15 +1,13 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' -export function deleteLotOccupancyTransaction( +export async function deleteLotOccupancyTransaction( lotOccupancyId: number | string, transactionIndex: number | string, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -28,7 +26,7 @@ export function deleteLotOccupancyTransaction( transactionIndex ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/deleteOccupancyTypePrint.d.ts b/helpers/lotOccupancyDB/deleteOccupancyTypePrint.d.ts index b56f0683..9d72e2b6 100644 --- a/helpers/lotOccupancyDB/deleteOccupancyTypePrint.d.ts +++ b/helpers/lotOccupancyDB/deleteOccupancyTypePrint.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteOccupancyTypePrint(occupancyTypeId: number | string, printEJS: string, requestSession: recordTypes.PartialSession): boolean; +export declare function deleteOccupancyTypePrint(occupancyTypeId: number | string, printEJS: string, requestSession: recordTypes.PartialSession): Promise; export default deleteOccupancyTypePrint; diff --git a/helpers/lotOccupancyDB/deleteOccupancyTypePrint.js b/helpers/lotOccupancyDB/deleteOccupancyTypePrint.js index db870918..6d85556d 100644 --- a/helpers/lotOccupancyDB/deleteOccupancyTypePrint.js +++ b/helpers/lotOccupancyDB/deleteOccupancyTypePrint.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export function deleteOccupancyTypePrint(occupancyTypeId, printEJS, requestSession) { - const database = sqlite(databasePath); +export async function deleteOccupancyTypePrint(occupancyTypeId, printEJS, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update OccupancyTypePrints @@ -11,7 +10,7 @@ export function deleteOccupancyTypePrint(occupancyTypeId, printEJS, requestSessi where occupancyTypeId = ? and printEJS = ?`) .run(requestSession.user.userName, rightNowMillis, occupancyTypeId, printEJS); - database.close(); + database.release(); clearCacheByTableName('OccupancyTypePrints'); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/deleteOccupancyTypePrint.ts b/helpers/lotOccupancyDB/deleteOccupancyTypePrint.ts index d39b6ea3..5b6ef9da 100644 --- a/helpers/lotOccupancyDB/deleteOccupancyTypePrint.ts +++ b/helpers/lotOccupancyDB/deleteOccupancyTypePrint.ts @@ -1,17 +1,15 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { clearCacheByTableName } from '../functions.cache.js' import type * as recordTypes from '../../types/recordTypes' -export function deleteOccupancyTypePrint( +export async function deleteOccupancyTypePrint( occupancyTypeId: number | string, printEJS: string, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -30,7 +28,7 @@ export function deleteOccupancyTypePrint( printEJS ) - database.close() + database.release() clearCacheByTableName('OccupancyTypePrints') diff --git a/helpers/lotOccupancyDB/deleteRecord.d.ts b/helpers/lotOccupancyDB/deleteRecord.d.ts index 1acafc86..da51520c 100644 --- a/helpers/lotOccupancyDB/deleteRecord.d.ts +++ b/helpers/lotOccupancyDB/deleteRecord.d.ts @@ -1,4 +1,4 @@ import type * as recordTypes from '../../types/recordTypes'; declare type RecordTable = 'FeeCategories' | 'Fees' | 'Lots' | 'LotComments' | 'LotOccupancies' | 'LotOccupancyComments' | 'LotOccupantTypes' | 'LotStatuses' | 'LotTypes' | 'LotTypeFields' | 'Maps' | 'OccupancyTypes' | 'OccupancyTypeFields' | 'WorkOrders' | 'WorkOrderComments' | 'WorkOrderMilestones' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes'; -export declare function deleteRecord(recordTable: RecordTable, recordId: number | string, requestSession: recordTypes.PartialSession): boolean; +export declare function deleteRecord(recordTable: RecordTable, recordId: number | string, requestSession: recordTypes.PartialSession): Promise; export {}; diff --git a/helpers/lotOccupancyDB/deleteRecord.js b/helpers/lotOccupancyDB/deleteRecord.js index 18378cb7..d3c6c8c0 100644 --- a/helpers/lotOccupancyDB/deleteRecord.js +++ b/helpers/lotOccupancyDB/deleteRecord.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; const recordIdColumns = new Map(); recordIdColumns.set('FeeCategories', 'feeCategoryId'); @@ -40,8 +39,8 @@ relatedTables.set('WorkOrders', [ 'WorkOrderLotOccupancies', 'WorkOrderComments' ]); -export function deleteRecord(recordTable, recordId, requestSession) { - const database = sqlite(databasePath); +export async function deleteRecord(recordTable, recordId, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update ${recordTable} @@ -59,7 +58,7 @@ export function deleteRecord(recordTable, recordId, requestSession) { and recordDelete_timeMillis is null`) .run(requestSession.user.userName, rightNowMillis, recordId); } - database.close(); + database.release(); clearCacheByTableName(recordTable); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/deleteRecord.ts b/helpers/lotOccupancyDB/deleteRecord.ts index 646d1cd0..6392dd26 100644 --- a/helpers/lotOccupancyDB/deleteRecord.ts +++ b/helpers/lotOccupancyDB/deleteRecord.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { clearCacheByTableName } from '../functions.cache.js' @@ -67,12 +65,12 @@ relatedTables.set('WorkOrders', [ 'WorkOrderComments' ]) -export function deleteRecord( +export async function deleteRecord( recordTable: RecordTable, recordId: number | string, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -98,7 +96,7 @@ export function deleteRecord( .run(requestSession.user!.userName, rightNowMillis, recordId) } - database.close() + database.release() clearCacheByTableName(recordTable) diff --git a/helpers/lotOccupancyDB/deleteWorkOrderLot.d.ts b/helpers/lotOccupancyDB/deleteWorkOrderLot.d.ts index e8b604f8..2c6f75da 100644 --- a/helpers/lotOccupancyDB/deleteWorkOrderLot.d.ts +++ b/helpers/lotOccupancyDB/deleteWorkOrderLot.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteWorkOrderLot(workOrderId: number | string, lotId: number | string, requestSession: recordTypes.PartialSession): boolean; +export declare function deleteWorkOrderLot(workOrderId: number | string, lotId: number | string, requestSession: recordTypes.PartialSession): Promise; export default deleteWorkOrderLot; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderLot.js b/helpers/lotOccupancyDB/deleteWorkOrderLot.js index 5800c7e8..160dbe26 100644 --- a/helpers/lotOccupancyDB/deleteWorkOrderLot.js +++ b/helpers/lotOccupancyDB/deleteWorkOrderLot.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function deleteWorkOrderLot(workOrderId, lotId, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function deleteWorkOrderLot(workOrderId, lotId, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update WorkOrderLots @@ -10,7 +9,7 @@ export function deleteWorkOrderLot(workOrderId, lotId, requestSession) { where workOrderId = ? and lotId = ?`) .run(requestSession.user.userName, rightNowMillis, workOrderId, lotId); - database.close(); + database.release(); return result.changes > 0; } export default deleteWorkOrderLot; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderLot.ts b/helpers/lotOccupancyDB/deleteWorkOrderLot.ts index b33ce7c8..a0e5dad2 100644 --- a/helpers/lotOccupancyDB/deleteWorkOrderLot.ts +++ b/helpers/lotOccupancyDB/deleteWorkOrderLot.ts @@ -1,15 +1,13 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' -export function deleteWorkOrderLot( +export async function deleteWorkOrderLot( workOrderId: number | string, lotId: number | string, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -23,7 +21,7 @@ export function deleteWorkOrderLot( ) .run(requestSession.user!.userName, rightNowMillis, workOrderId, lotId) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.d.ts b/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.d.ts index 85c885c7..c3fe5357 100644 --- a/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.d.ts +++ b/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteWorkOrderLotOccupancy(workOrderId: number | string, lotOccupancyId: number | string, requestSession: recordTypes.PartialSession): boolean; +export declare function deleteWorkOrderLotOccupancy(workOrderId: number | string, lotOccupancyId: number | string, requestSession: recordTypes.PartialSession): Promise; export default deleteWorkOrderLotOccupancy; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.js b/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.js index 3968c5f8..4930bb44 100644 --- a/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.js +++ b/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function deleteWorkOrderLotOccupancy(workOrderId, lotOccupancyId, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function deleteWorkOrderLotOccupancy(workOrderId, lotOccupancyId, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update WorkOrderLotOccupancies @@ -10,7 +9,7 @@ export function deleteWorkOrderLotOccupancy(workOrderId, lotOccupancyId, request where workOrderId = ? and lotOccupancyId = ?`) .run(requestSession.user.userName, rightNowMillis, workOrderId, lotOccupancyId); - database.close(); + database.release(); return result.changes > 0; } export default deleteWorkOrderLotOccupancy; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.ts b/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.ts index 7906f035..2ca696dd 100644 --- a/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.ts +++ b/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.ts @@ -1,15 +1,13 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' -export function deleteWorkOrderLotOccupancy( +export async function deleteWorkOrderLotOccupancy( workOrderId: number | string, lotOccupancyId: number | string, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -28,7 +26,7 @@ export function deleteWorkOrderLotOccupancy( lotOccupancyId ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/getFee.d.ts b/helpers/lotOccupancyDB/getFee.d.ts index 053951cf..cf569cba 100644 --- a/helpers/lotOccupancyDB/getFee.d.ts +++ b/helpers/lotOccupancyDB/getFee.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function getFee(feeId: number | string, connectedDatabase?: sqlite.Database): recordTypes.Fee; +export declare function getFee(feeId: number | string, connectedDatabase?: PoolConnection): Promise; export default getFee; diff --git a/helpers/lotOccupancyDB/getFee.js b/helpers/lotOccupancyDB/getFee.js index ef4104f2..9db2e516 100644 --- a/helpers/lotOccupancyDB/getFee.js +++ b/helpers/lotOccupancyDB/getFee.js @@ -1,10 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function getFee(feeId, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +import { acquireConnection } from './pool.js'; +export async function getFee(feeId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const fee = database .prepare(`select f.feeId, f.feeCategoryId, c.feeCategory, @@ -23,7 +19,7 @@ export function getFee(feeId, connectedDatabase) { and f.feeId = ?`) .get(feeId); if (connectedDatabase === undefined) { - database.close(); + database.release(); } return fee; } diff --git a/helpers/lotOccupancyDB/getFee.ts b/helpers/lotOccupancyDB/getFee.ts index 514494b7..1aec9226 100644 --- a/helpers/lotOccupancyDB/getFee.ts +++ b/helpers/lotOccupancyDB/getFee.ts @@ -1,18 +1,13 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' -export function getFee( +export async function getFee( feeId: number | string, - connectedDatabase?: sqlite.Database -): recordTypes.Fee { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const fee = database .prepare( @@ -35,7 +30,7 @@ export function getFee( .get(feeId) if (connectedDatabase === undefined) { - database.close() + database.release() } return fee diff --git a/helpers/lotOccupancyDB/getFeeCategories.d.ts b/helpers/lotOccupancyDB/getFeeCategories.d.ts index ac19a0d7..2db23c54 100644 --- a/helpers/lotOccupancyDB/getFeeCategories.d.ts +++ b/helpers/lotOccupancyDB/getFeeCategories.d.ts @@ -6,5 +6,5 @@ interface GetFeeCategoriesFilters { interface GetFeeCategoriesOptions { includeFees?: boolean; } -export declare function getFeeCategories(filters: GetFeeCategoriesFilters, options: GetFeeCategoriesOptions): recordTypes.FeeCategory[]; +export declare function getFeeCategories(filters: GetFeeCategoriesFilters, options: GetFeeCategoriesOptions): Promise; export default getFeeCategories; diff --git a/helpers/lotOccupancyDB/getFeeCategories.js b/helpers/lotOccupancyDB/getFeeCategories.js index 83bc85a5..162332aa 100644 --- a/helpers/lotOccupancyDB/getFeeCategories.js +++ b/helpers/lotOccupancyDB/getFeeCategories.js @@ -1,12 +1,9 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { getFees } from './getFees.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; -export function getFeeCategories(filters, options) { +export async function getFeeCategories(filters, options) { const updateOrderNumbers = !(filters.lotTypeId || filters.occupancyTypeId) && options.includeFees; - const database = sqlite(databasePath, { - readonly: !updateOrderNumbers - }); + const database = await acquireConnection(); let sqlWhereClause = ' where recordDelete_timeMillis is null'; const sqlParameters = []; if (filters.occupancyTypeId) { @@ -40,10 +37,10 @@ export function getFeeCategories(filters, options) { feeCategory.orderNumber = expectedOrderNumber; } expectedOrderNumber += 1; - feeCategory.fees = getFees(feeCategory.feeCategoryId, filters, database); + feeCategory.fees = await getFees(feeCategory.feeCategoryId, filters, database); } } - database.close(); + database.release(); return feeCategories; } export default getFeeCategories; diff --git a/helpers/lotOccupancyDB/getFeeCategories.ts b/helpers/lotOccupancyDB/getFeeCategories.ts index 43e27cfc..e11344cb 100644 --- a/helpers/lotOccupancyDB/getFeeCategories.ts +++ b/helpers/lotOccupancyDB/getFeeCategories.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { getFees } from './getFees.js' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' @@ -16,16 +14,14 @@ interface GetFeeCategoriesOptions { includeFees?: boolean } -export function getFeeCategories( +export async function getFeeCategories( filters: GetFeeCategoriesFilters, options: GetFeeCategoriesOptions -): recordTypes.FeeCategory[] { +): Promise { const updateOrderNumbers = !(filters.lotTypeId || filters.occupancyTypeId) && options.includeFees - const database = sqlite(databasePath, { - readonly: !updateOrderNumbers - }) + const database = await acquireConnection() let sqlWhereClause = ' where recordDelete_timeMillis is null' @@ -80,11 +76,11 @@ export function getFeeCategories( expectedOrderNumber += 1 - feeCategory.fees = getFees(feeCategory.feeCategoryId, filters, database) + feeCategory.fees = await getFees(feeCategory.feeCategoryId, filters, database) } } - database.close() + database.release() return feeCategories } diff --git a/helpers/lotOccupancyDB/getFees.d.ts b/helpers/lotOccupancyDB/getFees.d.ts index e1aacd21..b4c16202 100644 --- a/helpers/lotOccupancyDB/getFees.d.ts +++ b/helpers/lotOccupancyDB/getFees.d.ts @@ -1,8 +1,8 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; interface GetFeesFilters { occupancyTypeId?: number | string; lotTypeId?: number | string; } -export declare function getFees(feeCategoryId: number, additionalFilters: GetFeesFilters, connectedDatabase?: sqlite.Database): recordTypes.Fee[]; +export declare function getFees(feeCategoryId: number, additionalFilters: GetFeesFilters, connectedDatabase?: PoolConnection): Promise; export default getFees; diff --git a/helpers/lotOccupancyDB/getFees.js b/helpers/lotOccupancyDB/getFees.js index 1ddb16e2..3883caaa 100644 --- a/helpers/lotOccupancyDB/getFees.js +++ b/helpers/lotOccupancyDB/getFees.js @@ -1,12 +1,8 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; -export function getFees(feeCategoryId, additionalFilters, connectedDatabase) { +export async function getFees(feeCategoryId, additionalFilters, connectedDatabase) { const updateOrderNumbers = !(additionalFilters.lotTypeId || additionalFilters.occupancyTypeId); - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: !updateOrderNumbers - }); + const database = connectedDatabase ?? (await acquireConnection()); let sqlWhereClause = ' where f.recordDelete_timeMillis is null and f.feeCategoryId = ?'; const sqlParameters = [feeCategoryId]; if (additionalFilters.occupancyTypeId) { @@ -50,7 +46,7 @@ export function getFees(feeCategoryId, additionalFilters, connectedDatabase) { } } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return fees; } diff --git a/helpers/lotOccupancyDB/getFees.ts b/helpers/lotOccupancyDB/getFees.ts index 3b211a47..7e988ac7 100644 --- a/helpers/lotOccupancyDB/getFees.ts +++ b/helpers/lotOccupancyDB/getFees.ts @@ -1,6 +1,7 @@ import sqlite from 'better-sqlite3' -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' @@ -11,20 +12,16 @@ interface GetFeesFilters { lotTypeId?: number | string } -export function getFees( +export async function getFees( feeCategoryId: number, additionalFilters: GetFeesFilters, - connectedDatabase?: sqlite.Database -): recordTypes.Fee[] { + connectedDatabase?: PoolConnection +): Promise { const updateOrderNumbers = !( additionalFilters.lotTypeId || additionalFilters.occupancyTypeId ) - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: !updateOrderNumbers - }) + const database = connectedDatabase ?? (await acquireConnection()) let sqlWhereClause = ' where f.recordDelete_timeMillis is null and f.feeCategoryId = ?' @@ -87,7 +84,7 @@ export function getFees( } if (connectedDatabase === undefined) { - database.close() + database.release() } return fees diff --git a/helpers/lotOccupancyDB/getLot.d.ts b/helpers/lotOccupancyDB/getLot.d.ts index 5658a431..414535be 100644 --- a/helpers/lotOccupancyDB/getLot.d.ts +++ b/helpers/lotOccupancyDB/getLot.d.ts @@ -1,4 +1,4 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotByLotName(lotName: string): recordTypes.Lot | undefined; -export declare function getLot(lotId: number | string): recordTypes.Lot | undefined; +export declare function getLotByLotName(lotName: string): Promise; +export declare function getLot(lotId: number | string): Promise; export default getLot; diff --git a/helpers/lotOccupancyDB/getLot.js b/helpers/lotOccupancyDB/getLot.js index ef702c15..bdcc52e5 100644 --- a/helpers/lotOccupancyDB/getLot.js +++ b/helpers/lotOccupancyDB/getLot.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { getLotFields } from './getLotFields.js'; import { getLotComments } from './getLotComments.js'; import { getLotOccupancies } from './getLotOccupancies.js'; @@ -11,29 +10,28 @@ const baseSQL = `select l.lotId, l.lotTypeId, t.lotType, l.lotName, l.lotStatusI left join LotStatuses s on l.lotStatusId = s.lotStatusId left join Maps m on l.mapId = m.mapId where l.recordDelete_timeMillis is null`; -function _getLot(sql, lotIdOrLotName) { - const database = sqlite(databasePath, { - readonly: true - }); +async function _getLot(sql, lotIdOrLotName) { + const database = await acquireConnection(); const lot = database.prepare(sql).get(lotIdOrLotName); if (lot) { - lot.lotOccupancies = getLotOccupancies({ + const lotOccupancies = await getLotOccupancies({ lotId: lot.lotId }, { includeOccupants: true, limit: -1, offset: 0 - }, database).lotOccupancies; - lot.lotFields = getLotFields(lot.lotId, database); - lot.lotComments = getLotComments(lot.lotId, database); + }, database); + lot.lotOccupancies = lotOccupancies.lotOccupancies; + lot.lotFields = await getLotFields(lot.lotId, database); + lot.lotComments = await getLotComments(lot.lotId, database); } - database.close(); + database.release(); return lot; } -export function getLotByLotName(lotName) { - return _getLot(baseSQL + ' and l.lotName = ?', lotName); +export async function getLotByLotName(lotName) { + return await _getLot(baseSQL + ' and l.lotName = ?', lotName); } -export function getLot(lotId) { - return _getLot(baseSQL + ' and l.lotId = ?', lotId); +export async function getLot(lotId) { + return await _getLot(baseSQL + ' and l.lotId = ?', lotId); } export default getLot; diff --git a/helpers/lotOccupancyDB/getLot.ts b/helpers/lotOccupancyDB/getLot.ts index 21ea0eda..cbca2105 100644 --- a/helpers/lotOccupancyDB/getLot.ts +++ b/helpers/lotOccupancyDB/getLot.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { getLotFields } from './getLotFields.js' @@ -19,18 +17,16 @@ const baseSQL = `select l.lotId, l.lotTypeId, t.lotType, l.lotName, l.lotStatusI left join Maps m on l.mapId = m.mapId where l.recordDelete_timeMillis is null` -function _getLot( +async function _getLot( sql: string, lotIdOrLotName: number | string -): recordTypes.Lot | undefined { - const database = sqlite(databasePath, { - readonly: true - }) +): Promise { + const database = await acquireConnection() const lot: recordTypes.Lot = database.prepare(sql).get(lotIdOrLotName) if (lot) { - lot.lotOccupancies = getLotOccupancies( + const lotOccupancies = await getLotOccupancies( { lotId: lot.lotId }, @@ -40,24 +36,30 @@ function _getLot( offset: 0 }, database - ).lotOccupancies + ) - lot.lotFields = getLotFields(lot.lotId, database) + lot.lotOccupancies = lotOccupancies.lotOccupancies - lot.lotComments = getLotComments(lot.lotId, database) + lot.lotFields = await getLotFields(lot.lotId, database) + + lot.lotComments = await getLotComments(lot.lotId, database) } - database.close() + database.release() return lot } -export function getLotByLotName(lotName: string): recordTypes.Lot | undefined { - return _getLot(baseSQL + ' and l.lotName = ?', lotName) +export async function getLotByLotName( + lotName: string +): Promise { + return await _getLot(baseSQL + ' and l.lotName = ?', lotName) } -export function getLot(lotId: number | string): recordTypes.Lot | undefined { - return _getLot(baseSQL + ' and l.lotId = ?', lotId) +export async function getLot( + lotId: number | string +): Promise { + return await _getLot(baseSQL + ' and l.lotId = ?', lotId) } export default getLot diff --git a/helpers/lotOccupancyDB/getLotComments.d.ts b/helpers/lotOccupancyDB/getLotComments.d.ts index 1a05c12b..b120a0e2 100644 --- a/helpers/lotOccupancyDB/getLotComments.d.ts +++ b/helpers/lotOccupancyDB/getLotComments.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotComments(lotId: number | string, connectedDatabase?: sqlite.Database): recordTypes.LotComment[]; +export declare function getLotComments(lotId: number | string, connectedDatabase?: PoolConnection): Promise; export default getLotComments; diff --git a/helpers/lotOccupancyDB/getLotComments.js b/helpers/lotOccupancyDB/getLotComments.js index 421f42ab..d0648ff0 100644 --- a/helpers/lotOccupancyDB/getLotComments.js +++ b/helpers/lotOccupancyDB/getLotComments.js @@ -1,11 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateIntegerToString, timeIntegerToString } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function getLotComments(lotId, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +export async function getLotComments(lotId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); database.function('userFn_dateIntegerToString', dateIntegerToString); database.function('userFn_timeIntegerToString', timeIntegerToString); const lotComments = database @@ -20,7 +16,7 @@ export function getLotComments(lotId, connectedDatabase) { order by lotCommentDate desc, lotCommentTime desc, lotCommentId desc`) .all(lotId); if (connectedDatabase === undefined) { - database.close(); + database.release(); } return lotComments; } diff --git a/helpers/lotOccupancyDB/getLotComments.ts b/helpers/lotOccupancyDB/getLotComments.ts index 2f0e340a..5817fae9 100644 --- a/helpers/lotOccupancyDB/getLotComments.ts +++ b/helpers/lotOccupancyDB/getLotComments.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { dateIntegerToString, @@ -9,15 +8,11 @@ import { import type * as recordTypes from '../../types/recordTypes' -export function getLotComments( +export async function getLotComments( lotId: number | string, - connectedDatabase?: sqlite.Database -): recordTypes.LotComment[] { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) database.function('userFn_dateIntegerToString', dateIntegerToString) database.function('userFn_timeIntegerToString', timeIntegerToString) @@ -37,7 +32,7 @@ export function getLotComments( .all(lotId) if (connectedDatabase === undefined) { - database.close() + database.release() } return lotComments diff --git a/helpers/lotOccupancyDB/getLotFields.d.ts b/helpers/lotOccupancyDB/getLotFields.d.ts index 8594eb5f..b3fd6500 100644 --- a/helpers/lotOccupancyDB/getLotFields.d.ts +++ b/helpers/lotOccupancyDB/getLotFields.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotFields(lotId: number | string, connectedDatabase?: sqlite.Database): recordTypes.LotField[]; +export declare function getLotFields(lotId: number | string, connectedDatabase?: PoolConnection): Promise; export default getLotFields; diff --git a/helpers/lotOccupancyDB/getLotFields.js b/helpers/lotOccupancyDB/getLotFields.js index 69e82a9d..be1302cd 100644 --- a/helpers/lotOccupancyDB/getLotFields.js +++ b/helpers/lotOccupancyDB/getLotFields.js @@ -1,10 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function getLotFields(lotId, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +import { acquireConnection } from './pool.js'; +export async function getLotFields(lotId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const lotFields = database .prepare(`select l.lotId, l.lotTypeFieldId, l.lotFieldValue, @@ -34,7 +30,7 @@ export function getLotFields(lotId, connectedDatabase) { order by lotTypeOrderNumber, f.orderNumber, f.lotTypeField`) .all(lotId, lotId, lotId, lotId); if (connectedDatabase === undefined) { - database.close(); + database.release(); } return lotFields; } diff --git a/helpers/lotOccupancyDB/getLotFields.ts b/helpers/lotOccupancyDB/getLotFields.ts index bbbcb38b..5cd47e00 100644 --- a/helpers/lotOccupancyDB/getLotFields.ts +++ b/helpers/lotOccupancyDB/getLotFields.ts @@ -1,18 +1,13 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' -export function getLotFields( +export async function getLotFields( lotId: number | string, - connectedDatabase?: sqlite.Database -): recordTypes.LotField[] { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const lotFields: recordTypes.LotField[] = database .prepare( @@ -46,7 +41,7 @@ export function getLotFields( .all(lotId, lotId, lotId, lotId) if (connectedDatabase === undefined) { - database.close() + database.release() } return lotFields diff --git a/helpers/lotOccupancyDB/getLotOccupancies.d.ts b/helpers/lotOccupancyDB/getLotOccupancies.d.ts index fdc229db..43660d41 100644 --- a/helpers/lotOccupancyDB/getLotOccupancies.d.ts +++ b/helpers/lotOccupancyDB/getLotOccupancies.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; interface GetLotOccupanciesFilters { lotId?: number | string; @@ -19,8 +19,8 @@ interface GetLotOccupanciesOptions { offset: number; includeOccupants: boolean; } -export declare function getLotOccupancies(filters: GetLotOccupanciesFilters, options: GetLotOccupanciesOptions, connectedDatabase?: sqlite.Database): { +export declare function getLotOccupancies(filters: GetLotOccupanciesFilters, options: GetLotOccupanciesOptions, connectedDatabase?: PoolConnection): Promise<{ count: number; lotOccupancies: recordTypes.LotOccupancy[]; -}; +}>; export default getLotOccupancies; diff --git a/helpers/lotOccupancyDB/getLotOccupancies.js b/helpers/lotOccupancyDB/getLotOccupancies.js index 6d73c0e0..e5547b0c 100644 --- a/helpers/lotOccupancyDB/getLotOccupancies.js +++ b/helpers/lotOccupancyDB/getLotOccupancies.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateIntegerToString, dateStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; import * as configFunctions from '../functions.config.js'; import { getOccupancyTypeById } from '../functions.cache.js'; @@ -62,11 +61,8 @@ function buildWhereClause(filters) { sqlParameters }; } -export function getLotOccupancies(filters, options, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +export async function getLotOccupancies(filters, options, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); database.function('userFn_dateIntegerToString', dateIntegerToString); const { sqlWhereClause, sqlParameters } = buildWhereClause(filters); let count = options.limit; @@ -101,19 +97,19 @@ export function getLotOccupancies(filters, options, connectedDatabase) { count = lotOccupancies.length; } for (const lotOccupancy of lotOccupancies) { - const occupancyType = getOccupancyTypeById(lotOccupancy.occupancyTypeId); + const occupancyType = await getOccupancyTypeById(lotOccupancy.occupancyTypeId); if (occupancyType) { lotOccupancy.printEJS = (occupancyType.occupancyTypePrints ?? []).includes('*') ? configFunctions.getProperty('settings.lotOccupancy.prints')[0] : occupancyType.occupancyTypePrints[0]; } if (options.includeOccupants) { - lotOccupancy.lotOccupancyOccupants = getLotOccupancyOccupants(lotOccupancy.lotOccupancyId, database); + lotOccupancy.lotOccupancyOccupants = await getLotOccupancyOccupants(lotOccupancy.lotOccupancyId, database); } } } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return { count, diff --git a/helpers/lotOccupancyDB/getLotOccupancies.ts b/helpers/lotOccupancyDB/getLotOccupancies.ts index 4c38473d..9bcc5c49 100644 --- a/helpers/lotOccupancyDB/getLotOccupancies.ts +++ b/helpers/lotOccupancyDB/getLotOccupancies.ts @@ -1,8 +1,7 @@ /* eslint-disable @typescript-eslint/indent */ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { dateIntegerToString, @@ -128,19 +127,12 @@ function buildWhereClause(filters: GetLotOccupanciesFilters): { } } -export function getLotOccupancies( +export async function getLotOccupancies( filters: GetLotOccupanciesFilters, options: GetLotOccupanciesOptions, - connectedDatabase?: sqlite.Database -): { - count: number - lotOccupancies: recordTypes.LotOccupancy[] -} { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise<{ count: number; lotOccupancies: recordTypes.LotOccupancy[] }> { + const database = connectedDatabase ?? (await acquireConnection()) database.function('userFn_dateIntegerToString', dateIntegerToString) @@ -188,7 +180,7 @@ export function getLotOccupancies( } for (const lotOccupancy of lotOccupancies) { - const occupancyType = getOccupancyTypeById(lotOccupancy.occupancyTypeId!) + const occupancyType = await getOccupancyTypeById(lotOccupancy.occupancyTypeId!) if (occupancyType) { lotOccupancy.printEJS = ( @@ -199,7 +191,7 @@ export function getLotOccupancies( } if (options.includeOccupants) { - lotOccupancy.lotOccupancyOccupants = getLotOccupancyOccupants( + lotOccupancy.lotOccupancyOccupants = await getLotOccupancyOccupants( lotOccupancy.lotOccupancyId!, database ) @@ -208,7 +200,7 @@ export function getLotOccupancies( } if (connectedDatabase === undefined) { - database.close() + database.release() } return { diff --git a/helpers/lotOccupancyDB/getLotOccupancy.d.ts b/helpers/lotOccupancyDB/getLotOccupancy.d.ts index df59f0d7..866c7cfb 100644 --- a/helpers/lotOccupancyDB/getLotOccupancy.d.ts +++ b/helpers/lotOccupancyDB/getLotOccupancy.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotOccupancy(lotOccupancyId: number | string, connectedDatabase?: sqlite.Database): recordTypes.LotOccupancy | undefined; +export declare function getLotOccupancy(lotOccupancyId: number | string, connectedDatabase?: PoolConnection): Promise; export default getLotOccupancy; diff --git a/helpers/lotOccupancyDB/getLotOccupancy.js b/helpers/lotOccupancyDB/getLotOccupancy.js index c09b0bf0..dd610f30 100644 --- a/helpers/lotOccupancyDB/getLotOccupancy.js +++ b/helpers/lotOccupancyDB/getLotOccupancy.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateIntegerToString } from '@cityssm/expressjs-server-js/dateTimeFns.js'; import { getLotOccupancyOccupants } from './getLotOccupancyOccupants.js'; import { getLotOccupancyComments } from './getLotOccupancyComments.js'; @@ -7,11 +6,8 @@ import { getLotOccupancyFields } from './getLotOccupancyFields.js'; import { getLotOccupancyFees } from './getLotOccupancyFees.js'; import { getLotOccupancyTransactions } from './getLotOccupancyTransactions.js'; import { getWorkOrders } from './getWorkOrders.js'; -export function getLotOccupancy(lotOccupancyId, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +export async function getLotOccupancy(lotOccupancyId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); database.function('userFn_dateIntegerToString', dateIntegerToString); const lotOccupancy = database .prepare(`select o.lotOccupancyId, @@ -29,20 +25,21 @@ export function getLotOccupancy(lotOccupancyId, connectedDatabase) { and o.lotOccupancyId = ?`) .get(lotOccupancyId); if (lotOccupancy) { - lotOccupancy.lotOccupancyFields = getLotOccupancyFields(lotOccupancyId, database); - lotOccupancy.lotOccupancyOccupants = getLotOccupancyOccupants(lotOccupancyId, database); - lotOccupancy.lotOccupancyComments = getLotOccupancyComments(lotOccupancyId, database); - lotOccupancy.lotOccupancyFees = getLotOccupancyFees(lotOccupancyId, database); - lotOccupancy.lotOccupancyTransactions = getLotOccupancyTransactions(lotOccupancyId, database); - lotOccupancy.workOrders = getWorkOrders({ + lotOccupancy.lotOccupancyFields = await getLotOccupancyFields(lotOccupancyId, database); + lotOccupancy.lotOccupancyOccupants = await getLotOccupancyOccupants(lotOccupancyId, database); + lotOccupancy.lotOccupancyComments = await getLotOccupancyComments(lotOccupancyId, database); + lotOccupancy.lotOccupancyFees = await getLotOccupancyFees(lotOccupancyId, database); + lotOccupancy.lotOccupancyTransactions = await getLotOccupancyTransactions(lotOccupancyId, database); + const workOrdersResults = await getWorkOrders({ lotOccupancyId }, { limit: -1, offset: 0 - }, database).workOrders; + }, database); + lotOccupancy.workOrders = workOrdersResults.workOrders; } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return lotOccupancy; } diff --git a/helpers/lotOccupancyDB/getLotOccupancy.ts b/helpers/lotOccupancyDB/getLotOccupancy.ts index de5da3d0..7756b6c3 100644 --- a/helpers/lotOccupancyDB/getLotOccupancy.ts +++ b/helpers/lotOccupancyDB/getLotOccupancy.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { dateIntegerToString } from '@cityssm/expressjs-server-js/dateTimeFns.js' @@ -13,15 +12,11 @@ import { getWorkOrders } from './getWorkOrders.js' import type * as recordTypes from '../../types/recordTypes' -export function getLotOccupancy( +export async function getLotOccupancy( lotOccupancyId: number | string, - connectedDatabase?: sqlite.Database -): recordTypes.LotOccupancy | undefined { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) database.function('userFn_dateIntegerToString', dateIntegerToString) @@ -44,28 +39,28 @@ export function getLotOccupancy( .get(lotOccupancyId) if (lotOccupancy) { - lotOccupancy.lotOccupancyFields = getLotOccupancyFields( + lotOccupancy.lotOccupancyFields = await getLotOccupancyFields( lotOccupancyId, database ) - lotOccupancy.lotOccupancyOccupants = getLotOccupancyOccupants( + lotOccupancy.lotOccupancyOccupants = await getLotOccupancyOccupants( lotOccupancyId, database ) - lotOccupancy.lotOccupancyComments = getLotOccupancyComments( + lotOccupancy.lotOccupancyComments = await getLotOccupancyComments( lotOccupancyId, database ) - lotOccupancy.lotOccupancyFees = getLotOccupancyFees( + lotOccupancy.lotOccupancyFees = await getLotOccupancyFees( lotOccupancyId, database ) - lotOccupancy.lotOccupancyTransactions = getLotOccupancyTransactions( + lotOccupancy.lotOccupancyTransactions = await getLotOccupancyTransactions( lotOccupancyId, database ) - lotOccupancy.workOrders = getWorkOrders( + const workOrdersResults = await getWorkOrders( { lotOccupancyId }, @@ -74,11 +69,13 @@ export function getLotOccupancy( offset: 0 }, database - ).workOrders + ) + + lotOccupancy.workOrders = workOrdersResults.workOrders } if (connectedDatabase === undefined) { - database.close() + database.release() } return lotOccupancy diff --git a/helpers/lotOccupancyDB/getLotOccupancyComments.d.ts b/helpers/lotOccupancyDB/getLotOccupancyComments.d.ts index bb8be353..0b5a02f0 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyComments.d.ts +++ b/helpers/lotOccupancyDB/getLotOccupancyComments.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotOccupancyComments(lotOccupancyId: number | string, connectedDatabase?: sqlite.Database): recordTypes.LotOccupancyComment[]; +export declare function getLotOccupancyComments(lotOccupancyId: number | string, connectedDatabase?: PoolConnection): Promise; export default getLotOccupancyComments; diff --git a/helpers/lotOccupancyDB/getLotOccupancyComments.js b/helpers/lotOccupancyDB/getLotOccupancyComments.js index 77f26808..5a71061a 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyComments.js +++ b/helpers/lotOccupancyDB/getLotOccupancyComments.js @@ -1,11 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateIntegerToString, timeIntegerToString } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function getLotOccupancyComments(lotOccupancyId, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +export async function getLotOccupancyComments(lotOccupancyId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); database.function('userFn_dateIntegerToString', dateIntegerToString); database.function('userFn_timeIntegerToString', timeIntegerToString); const lotComments = database @@ -20,7 +16,7 @@ export function getLotOccupancyComments(lotOccupancyId, connectedDatabase) { order by lotOccupancyCommentDate desc, lotOccupancyCommentTime desc, lotOccupancyCommentId desc`) .all(lotOccupancyId); if (connectedDatabase === null) { - database.close(); + database.release(); } return lotComments; } diff --git a/helpers/lotOccupancyDB/getLotOccupancyComments.ts b/helpers/lotOccupancyDB/getLotOccupancyComments.ts index 5c461695..8b1ee2b9 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyComments.ts +++ b/helpers/lotOccupancyDB/getLotOccupancyComments.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { dateIntegerToString, @@ -9,15 +8,11 @@ import { import type * as recordTypes from '../../types/recordTypes' -export function getLotOccupancyComments( +export async function getLotOccupancyComments( lotOccupancyId: number | string, - connectedDatabase?: sqlite.Database -): recordTypes.LotOccupancyComment[] { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) database.function('userFn_dateIntegerToString', dateIntegerToString) database.function('userFn_timeIntegerToString', timeIntegerToString) @@ -37,7 +32,7 @@ export function getLotOccupancyComments( .all(lotOccupancyId) if (connectedDatabase === null) { - database.close() + database.release() } return lotComments diff --git a/helpers/lotOccupancyDB/getLotOccupancyFees.d.ts b/helpers/lotOccupancyDB/getLotOccupancyFees.d.ts index 65d68961..f91255b4 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyFees.d.ts +++ b/helpers/lotOccupancyDB/getLotOccupancyFees.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotOccupancyFees(lotOccupancyId: number | string, connectedDatabase?: sqlite.Database): recordTypes.LotOccupancyFee[]; +export declare function getLotOccupancyFees(lotOccupancyId: number | string, connectedDatabase?: PoolConnection): Promise; export default getLotOccupancyFees; diff --git a/helpers/lotOccupancyDB/getLotOccupancyFees.js b/helpers/lotOccupancyDB/getLotOccupancyFees.js index 701e671a..9a750bd0 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyFees.js +++ b/helpers/lotOccupancyDB/getLotOccupancyFees.js @@ -1,10 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function getLotOccupancyFees(lotOccupancyId, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +import { acquireConnection } from './pool.js'; +export async function getLotOccupancyFees(lotOccupancyId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const lotOccupancyFees = database .prepare(`select o.lotOccupancyId, o.feeId, c.feeCategory, f.feeName, @@ -17,7 +13,7 @@ export function getLotOccupancyFees(lotOccupancyId, connectedDatabase) { order by o.recordCreate_timeMillis`) .all(lotOccupancyId); if (connectedDatabase === undefined) { - database.close(); + database.release(); } return lotOccupancyFees; } diff --git a/helpers/lotOccupancyDB/getLotOccupancyFees.ts b/helpers/lotOccupancyDB/getLotOccupancyFees.ts index 450642ee..8af4e731 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyFees.ts +++ b/helpers/lotOccupancyDB/getLotOccupancyFees.ts @@ -1,18 +1,13 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' -export function getLotOccupancyFees( +export async function getLotOccupancyFees( lotOccupancyId: number | string, - connectedDatabase?: sqlite.Database -): recordTypes.LotOccupancyFee[] { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const lotOccupancyFees: recordTypes.LotOccupancyFee[] = database .prepare( @@ -29,7 +24,7 @@ export function getLotOccupancyFees( .all(lotOccupancyId) if (connectedDatabase === undefined) { - database.close() + database.release() } return lotOccupancyFees diff --git a/helpers/lotOccupancyDB/getLotOccupancyFields.d.ts b/helpers/lotOccupancyDB/getLotOccupancyFields.d.ts index c851c93e..54c77f0f 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyFields.d.ts +++ b/helpers/lotOccupancyDB/getLotOccupancyFields.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotOccupancyFields(lotOccupancyId: number | string, connectedDatabase?: sqlite.Database): recordTypes.LotOccupancyField[]; +export declare function getLotOccupancyFields(lotOccupancyId: number | string, connectedDatabase?: PoolConnection): Promise; export default getLotOccupancyFields; diff --git a/helpers/lotOccupancyDB/getLotOccupancyFields.js b/helpers/lotOccupancyDB/getLotOccupancyFields.js index 3b0fc073..6527a114 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyFields.js +++ b/helpers/lotOccupancyDB/getLotOccupancyFields.js @@ -1,10 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function getLotOccupancyFields(lotOccupancyId, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +import { acquireConnection } from './pool.js'; +export async function getLotOccupancyFields(lotOccupancyId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const lotOccupancyFields = database .prepare(`select o.lotOccupancyId, o.occupancyTypeFieldId, o.lotOccupancyFieldValue, f.occupancyTypeField, f.occupancyTypeFieldValues, @@ -31,7 +27,7 @@ export function getLotOccupancyFields(lotOccupancyId, connectedDatabase) { order by occupancyTypeOrderNumber, f.orderNumber, f.occupancyTypeField`) .all(lotOccupancyId, lotOccupancyId, lotOccupancyId, lotOccupancyId); if (connectedDatabase === undefined) { - database.close(); + database.release(); } return lotOccupancyFields; } diff --git a/helpers/lotOccupancyDB/getLotOccupancyFields.ts b/helpers/lotOccupancyDB/getLotOccupancyFields.ts index 2793d338..11f810db 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyFields.ts +++ b/helpers/lotOccupancyDB/getLotOccupancyFields.ts @@ -1,18 +1,13 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' -export function getLotOccupancyFields( +export async function getLotOccupancyFields( lotOccupancyId: number | string, - connectedDatabase?: sqlite.Database -): recordTypes.LotOccupancyField[] { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const lotOccupancyFields: recordTypes.LotOccupancyField[] = database .prepare( @@ -43,7 +38,7 @@ export function getLotOccupancyFields( .all(lotOccupancyId, lotOccupancyId, lotOccupancyId, lotOccupancyId) if (connectedDatabase === undefined) { - database.close() + database.release() } return lotOccupancyFields diff --git a/helpers/lotOccupancyDB/getLotOccupancyOccupants.d.ts b/helpers/lotOccupancyDB/getLotOccupancyOccupants.d.ts index 400f67f7..2c256ef5 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyOccupants.d.ts +++ b/helpers/lotOccupancyDB/getLotOccupancyOccupants.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotOccupancyOccupants(lotOccupancyId: number | string, connectedDatabase?: sqlite.Database): recordTypes.LotOccupancyOccupant[]; +export declare function getLotOccupancyOccupants(lotOccupancyId: number | string, connectedDatabase?: PoolConnection): Promise; export default getLotOccupancyOccupants; diff --git a/helpers/lotOccupancyDB/getLotOccupancyOccupants.js b/helpers/lotOccupancyDB/getLotOccupancyOccupants.js index 42140a3f..b188f84f 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyOccupants.js +++ b/helpers/lotOccupancyDB/getLotOccupancyOccupants.js @@ -1,10 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function getLotOccupancyOccupants(lotOccupancyId, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +import { acquireConnection } from './pool.js'; +export async function getLotOccupancyOccupants(lotOccupancyId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const lotOccupancyOccupants = database .prepare(`select o.lotOccupancyId, o.lotOccupantIndex, o.occupantName, @@ -21,7 +17,7 @@ export function getLotOccupancyOccupants(lotOccupancyId, connectedDatabase) { order by t.orderNumber, t.lotOccupantType, o.occupantName, o.lotOccupantIndex`) .all(lotOccupancyId); if (connectedDatabase === undefined) { - database.close(); + database.release(); } return lotOccupancyOccupants; } diff --git a/helpers/lotOccupancyDB/getLotOccupancyOccupants.ts b/helpers/lotOccupancyDB/getLotOccupancyOccupants.ts index 2c2c1002..44bb3b03 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyOccupants.ts +++ b/helpers/lotOccupancyDB/getLotOccupancyOccupants.ts @@ -1,18 +1,13 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' -export function getLotOccupancyOccupants( +export async function getLotOccupancyOccupants( lotOccupancyId: number | string, - connectedDatabase?: sqlite.Database -): recordTypes.LotOccupancyOccupant[] { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const lotOccupancyOccupants: recordTypes.LotOccupancyOccupant[] = database .prepare( @@ -33,7 +28,7 @@ export function getLotOccupancyOccupants( .all(lotOccupancyId) if (connectedDatabase === undefined) { - database.close() + database.release() } return lotOccupancyOccupants diff --git a/helpers/lotOccupancyDB/getLotOccupancyTransactions.d.ts b/helpers/lotOccupancyDB/getLotOccupancyTransactions.d.ts index e17952ce..b1a4f43a 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyTransactions.d.ts +++ b/helpers/lotOccupancyDB/getLotOccupancyTransactions.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotOccupancyTransactions(lotOccupancyId: number | string, connectedDatabase?: sqlite.Database): recordTypes.LotOccupancyTransaction[]; +export declare function getLotOccupancyTransactions(lotOccupancyId: number | string, connectedDatabase?: PoolConnection): Promise; export default getLotOccupancyTransactions; diff --git a/helpers/lotOccupancyDB/getLotOccupancyTransactions.js b/helpers/lotOccupancyDB/getLotOccupancyTransactions.js index 24c1a5dd..79b23d5c 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyTransactions.js +++ b/helpers/lotOccupancyDB/getLotOccupancyTransactions.js @@ -1,11 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateIntegerToString, timeIntegerToString } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function getLotOccupancyTransactions(lotOccupancyId, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +export async function getLotOccupancyTransactions(lotOccupancyId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); database.function('userFn_dateIntegerToString', dateIntegerToString); database.function('userFn_timeIntegerToString', timeIntegerToString); const lotOccupancyTransactions = database @@ -19,7 +15,7 @@ export function getLotOccupancyTransactions(lotOccupancyId, connectedDatabase) { order by transactionDate, transactionTime, transactionIndex`) .all(lotOccupancyId); if (connectedDatabase === undefined) { - database.close(); + database.release(); } return lotOccupancyTransactions; } diff --git a/helpers/lotOccupancyDB/getLotOccupancyTransactions.ts b/helpers/lotOccupancyDB/getLotOccupancyTransactions.ts index 36efadd8..3536232a 100644 --- a/helpers/lotOccupancyDB/getLotOccupancyTransactions.ts +++ b/helpers/lotOccupancyDB/getLotOccupancyTransactions.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { dateIntegerToString, @@ -9,15 +8,11 @@ import { import type * as recordTypes from '../../types/recordTypes' -export function getLotOccupancyTransactions( +export async function getLotOccupancyTransactions( lotOccupancyId: number | string, - connectedDatabase?: sqlite.Database -): recordTypes.LotOccupancyTransaction[] { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) database.function('userFn_dateIntegerToString', dateIntegerToString) database.function('userFn_timeIntegerToString', timeIntegerToString) @@ -37,7 +32,7 @@ export function getLotOccupancyTransactions( .all(lotOccupancyId) if (connectedDatabase === undefined) { - database.close() + database.release() } return lotOccupancyTransactions diff --git a/helpers/lotOccupancyDB/getLotOccupantTypes.d.ts b/helpers/lotOccupancyDB/getLotOccupantTypes.d.ts index 20fcd570..89794dc6 100644 --- a/helpers/lotOccupancyDB/getLotOccupantTypes.d.ts +++ b/helpers/lotOccupancyDB/getLotOccupantTypes.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotOccupantTypes(): recordTypes.LotOccupantType[]; +export declare function getLotOccupantTypes(): Promise; export default getLotOccupantTypes; diff --git a/helpers/lotOccupancyDB/getLotOccupantTypes.js b/helpers/lotOccupancyDB/getLotOccupantTypes.js index d405d938..fc19aca1 100644 --- a/helpers/lotOccupancyDB/getLotOccupantTypes.js +++ b/helpers/lotOccupancyDB/getLotOccupantTypes.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; -export function getLotOccupantTypes() { - const database = sqlite(databasePath); +export async function getLotOccupantTypes() { + const database = await acquireConnection(); const lotOccupantTypes = database .prepare(`select lotOccupantTypeId, lotOccupantType, fontAwesomeIconClass, orderNumber from LotOccupantTypes @@ -17,7 +16,7 @@ export function getLotOccupantTypes() { } expectedOrderNumber += 1; } - database.close(); + database.release(); return lotOccupantTypes; } export default getLotOccupantTypes; diff --git a/helpers/lotOccupancyDB/getLotOccupantTypes.ts b/helpers/lotOccupancyDB/getLotOccupantTypes.ts index 1b9d200d..37afaad8 100644 --- a/helpers/lotOccupancyDB/getLotOccupantTypes.ts +++ b/helpers/lotOccupancyDB/getLotOccupantTypes.ts @@ -1,13 +1,15 @@ -import sqlite from 'better-sqlite3' +/* eslint-disable @typescript-eslint/indent */ -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' import type * as recordTypes from '../../types/recordTypes' -export function getLotOccupantTypes(): recordTypes.LotOccupantType[] { - const database = sqlite(databasePath) +export async function getLotOccupantTypes(): Promise< + recordTypes.LotOccupantType[] +> { + const database = await acquireConnection() const lotOccupantTypes: recordTypes.LotOccupantType[] = database .prepare( @@ -35,7 +37,7 @@ export function getLotOccupantTypes(): recordTypes.LotOccupantType[] { expectedOrderNumber += 1 } - database.close() + database.release() return lotOccupantTypes } diff --git a/helpers/lotOccupancyDB/getLotStatusSummary.d.ts b/helpers/lotOccupancyDB/getLotStatusSummary.d.ts index f1c69902..28ecc9ad 100644 --- a/helpers/lotOccupancyDB/getLotStatusSummary.d.ts +++ b/helpers/lotOccupancyDB/getLotStatusSummary.d.ts @@ -5,5 +5,5 @@ interface GetFilters { interface LotStatusSummary extends recordTypes.LotStatus { lotCount: number; } -export declare function getLotStatusSummary(filters?: GetFilters): LotStatusSummary[]; +export declare function getLotStatusSummary(filters?: GetFilters): Promise; export default getLotStatusSummary; diff --git a/helpers/lotOccupancyDB/getLotStatusSummary.js b/helpers/lotOccupancyDB/getLotStatusSummary.js index 143ccdfa..53c12a52 100644 --- a/helpers/lotOccupancyDB/getLotStatusSummary.js +++ b/helpers/lotOccupancyDB/getLotStatusSummary.js @@ -1,9 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function getLotStatusSummary(filters) { - const database = sqlite(databasePath, { - readonly: true - }); +import { acquireConnection } from './pool.js'; +export async function getLotStatusSummary(filters) { + const database = await acquireConnection(); let sqlWhereClause = ' where l.recordDelete_timeMillis is null'; const sqlParameters = []; if (filters?.mapId) { @@ -18,7 +15,7 @@ export function getLotStatusSummary(filters) { ' group by s.lotStatusId, s.lotStatus, s.orderNumber' + ' order by s.orderNumber') .all(sqlParameters); - database.close(); + database.release(); return lotStatuses; } export default getLotStatusSummary; diff --git a/helpers/lotOccupancyDB/getLotStatusSummary.ts b/helpers/lotOccupancyDB/getLotStatusSummary.ts index fb94e1f1..b22ad8ad 100644 --- a/helpers/lotOccupancyDB/getLotStatusSummary.ts +++ b/helpers/lotOccupancyDB/getLotStatusSummary.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' @@ -12,10 +10,10 @@ interface LotStatusSummary extends recordTypes.LotStatus { lotCount: number } -export function getLotStatusSummary(filters?: GetFilters): LotStatusSummary[] { - const database = sqlite(databasePath, { - readonly: true - }) +export async function getLotStatusSummary( + filters?: GetFilters +): Promise { + const database = await acquireConnection() let sqlWhereClause = ' where l.recordDelete_timeMillis is null' const sqlParameters: unknown[] = [] @@ -36,7 +34,7 @@ export function getLotStatusSummary(filters?: GetFilters): LotStatusSummary[] { ) .all(sqlParameters) - database.close() + database.release() return lotStatuses } diff --git a/helpers/lotOccupancyDB/getLotStatuses.d.ts b/helpers/lotOccupancyDB/getLotStatuses.d.ts index 10d7d209..4bd0086d 100644 --- a/helpers/lotOccupancyDB/getLotStatuses.d.ts +++ b/helpers/lotOccupancyDB/getLotStatuses.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotStatuses(): recordTypes.LotStatus[]; +export declare function getLotStatuses(): Promise; export default getLotStatuses; diff --git a/helpers/lotOccupancyDB/getLotStatuses.js b/helpers/lotOccupancyDB/getLotStatuses.js index 72d3ed2f..68dc9bd2 100644 --- a/helpers/lotOccupancyDB/getLotStatuses.js +++ b/helpers/lotOccupancyDB/getLotStatuses.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; -export function getLotStatuses() { - const database = sqlite(databasePath); +export async function getLotStatuses() { + const database = await acquireConnection(); const lotStatuses = database .prepare(`select lotStatusId, lotStatus, orderNumber from LotStatuses @@ -17,7 +16,7 @@ export function getLotStatuses() { } expectedOrderNumber += 1; } - database.close(); + database.release(); return lotStatuses; } export default getLotStatuses; diff --git a/helpers/lotOccupancyDB/getLotStatuses.ts b/helpers/lotOccupancyDB/getLotStatuses.ts index 2167102b..eacd9350 100644 --- a/helpers/lotOccupancyDB/getLotStatuses.ts +++ b/helpers/lotOccupancyDB/getLotStatuses.ts @@ -1,13 +1,11 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' import type * as recordTypes from '../../types/recordTypes' -export function getLotStatuses(): recordTypes.LotStatus[] { - const database = sqlite(databasePath) +export async function getLotStatuses(): Promise { + const database = await acquireConnection() const lotStatuses: recordTypes.LotStatus[] = database .prepare( @@ -34,7 +32,7 @@ export function getLotStatuses(): recordTypes.LotStatus[] { expectedOrderNumber += 1 } - database.close() + database.release() return lotStatuses } diff --git a/helpers/lotOccupancyDB/getLotTypeFields.d.ts b/helpers/lotOccupancyDB/getLotTypeFields.d.ts index 8a8e67c4..a211bbba 100644 --- a/helpers/lotOccupancyDB/getLotTypeFields.d.ts +++ b/helpers/lotOccupancyDB/getLotTypeFields.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotTypeFields(lotTypeId: number, connectedDatabase?: sqlite.Database): recordTypes.LotTypeField[]; +export declare function getLotTypeFields(lotTypeId: number, connectedDatabase?: PoolConnection): Promise; export default getLotTypeFields; diff --git a/helpers/lotOccupancyDB/getLotTypeFields.js b/helpers/lotOccupancyDB/getLotTypeFields.js index 8325cb0a..fbcd7fd3 100644 --- a/helpers/lotOccupancyDB/getLotTypeFields.js +++ b/helpers/lotOccupancyDB/getLotTypeFields.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; -export function getLotTypeFields(lotTypeId, connectedDatabase) { - const database = connectedDatabase ?? sqlite(databasePath); +export async function getLotTypeFields(lotTypeId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const lotTypeFields = database .prepare(`select lotTypeFieldId, lotTypeField, lotTypeFieldValues, @@ -21,7 +20,7 @@ export function getLotTypeFields(lotTypeId, connectedDatabase) { expectedOrderNumber += 1; } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return lotTypeFields; } diff --git a/helpers/lotOccupancyDB/getLotTypeFields.ts b/helpers/lotOccupancyDB/getLotTypeFields.ts index e8de294d..b9155ef2 100644 --- a/helpers/lotOccupancyDB/getLotTypeFields.ts +++ b/helpers/lotOccupancyDB/getLotTypeFields.ts @@ -1,15 +1,14 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' -export function getLotTypeFields( +export async function getLotTypeFields( lotTypeId: number, - connectedDatabase?: sqlite.Database -): recordTypes.LotTypeField[] { - const database = connectedDatabase ?? sqlite(databasePath) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const lotTypeFields: recordTypes.LotTypeField[] = database .prepare( @@ -41,7 +40,7 @@ export function getLotTypeFields( } if (connectedDatabase === undefined) { - database.close() + database.release() } return lotTypeFields diff --git a/helpers/lotOccupancyDB/getLotTypeSummary.d.ts b/helpers/lotOccupancyDB/getLotTypeSummary.d.ts index 1bbe4aac..bce06551 100644 --- a/helpers/lotOccupancyDB/getLotTypeSummary.d.ts +++ b/helpers/lotOccupancyDB/getLotTypeSummary.d.ts @@ -5,5 +5,5 @@ interface GetFilters { interface LotTypeSummary extends recordTypes.LotType { lotCount: number; } -export declare function getLotTypeSummary(filters?: GetFilters): LotTypeSummary[]; +export declare function getLotTypeSummary(filters?: GetFilters): Promise; export default getLotTypeSummary; diff --git a/helpers/lotOccupancyDB/getLotTypeSummary.js b/helpers/lotOccupancyDB/getLotTypeSummary.js index 8617fab6..98bba10b 100644 --- a/helpers/lotOccupancyDB/getLotTypeSummary.js +++ b/helpers/lotOccupancyDB/getLotTypeSummary.js @@ -1,9 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function getLotTypeSummary(filters) { - const database = sqlite(databasePath, { - readonly: true - }); +import { acquireConnection } from './pool.js'; +export async function getLotTypeSummary(filters) { + const database = await acquireConnection(); let sqlWhereClause = ' where l.recordDelete_timeMillis is null'; const sqlParameters = []; if (filters?.mapId) { @@ -18,7 +15,7 @@ export function getLotTypeSummary(filters) { ' group by t.lotTypeId, t.lotType, t.orderNumber' + ' order by t.orderNumber') .all(sqlParameters); - database.close(); + database.release(); return lotTypes; } export default getLotTypeSummary; diff --git a/helpers/lotOccupancyDB/getLotTypeSummary.ts b/helpers/lotOccupancyDB/getLotTypeSummary.ts index a4f59cf2..cbda8080 100644 --- a/helpers/lotOccupancyDB/getLotTypeSummary.ts +++ b/helpers/lotOccupancyDB/getLotTypeSummary.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' @@ -12,10 +10,10 @@ interface LotTypeSummary extends recordTypes.LotType { lotCount: number } -export function getLotTypeSummary(filters?: GetFilters): LotTypeSummary[] { - const database = sqlite(databasePath, { - readonly: true - }) +export async function getLotTypeSummary( + filters?: GetFilters +): Promise { + const database = await acquireConnection() let sqlWhereClause = ' where l.recordDelete_timeMillis is null' const sqlParameters: unknown[] = [] @@ -36,7 +34,7 @@ export function getLotTypeSummary(filters?: GetFilters): LotTypeSummary[] { ) .all(sqlParameters) - database.close() + database.release() return lotTypes } diff --git a/helpers/lotOccupancyDB/getLotTypes.d.ts b/helpers/lotOccupancyDB/getLotTypes.d.ts index a319fd7c..6c343514 100644 --- a/helpers/lotOccupancyDB/getLotTypes.d.ts +++ b/helpers/lotOccupancyDB/getLotTypes.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function getLotTypes(): recordTypes.LotType[]; +export declare function getLotTypes(): Promise; export default getLotTypes; diff --git a/helpers/lotOccupancyDB/getLotTypes.js b/helpers/lotOccupancyDB/getLotTypes.js index 129267e2..f1bad56f 100644 --- a/helpers/lotOccupancyDB/getLotTypes.js +++ b/helpers/lotOccupancyDB/getLotTypes.js @@ -1,9 +1,8 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { getLotTypeFields } from './getLotTypeFields.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; -export function getLotTypes() { - const database = sqlite(databasePath); +export async function getLotTypes() { + const database = await acquireConnection(); const lotTypes = database .prepare(`select lotTypeId, lotType, orderNumber from LotTypes @@ -17,9 +16,9 @@ export function getLotTypes() { updateRecordOrderNumber('LotTypes', lotType.lotTypeId, expectedTypeOrderNumber, database); lotType.orderNumber = expectedTypeOrderNumber; } - lotType.lotTypeFields = getLotTypeFields(lotType.lotTypeId, database); + lotType.lotTypeFields = await getLotTypeFields(lotType.lotTypeId, database); } - database.close(); + database.release(); return lotTypes; } export default getLotTypes; diff --git a/helpers/lotOccupancyDB/getLotTypes.ts b/helpers/lotOccupancyDB/getLotTypes.ts index 6b275e64..ac1e1767 100644 --- a/helpers/lotOccupancyDB/getLotTypes.ts +++ b/helpers/lotOccupancyDB/getLotTypes.ts @@ -1,14 +1,12 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { getLotTypeFields } from './getLotTypeFields.js' import type * as recordTypes from '../../types/recordTypes' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' -export function getLotTypes(): recordTypes.LotType[] { - const database = sqlite(databasePath) +export async function getLotTypes(): Promise { + const database = await acquireConnection() const lotTypes: recordTypes.LotType[] = database .prepare( @@ -35,13 +33,10 @@ export function getLotTypes(): recordTypes.LotType[] { lotType.orderNumber = expectedTypeOrderNumber } - lotType.lotTypeFields = getLotTypeFields( - lotType.lotTypeId, - database - ) + lotType.lotTypeFields = await getLotTypeFields(lotType.lotTypeId, database) } - database.close() + database.release() return lotTypes } diff --git a/helpers/lotOccupancyDB/getLots.d.ts b/helpers/lotOccupancyDB/getLots.d.ts index 400301d6..92f083ec 100644 --- a/helpers/lotOccupancyDB/getLots.d.ts +++ b/helpers/lotOccupancyDB/getLots.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; interface GetLotsFilters { lotNameSearchType?: '' | 'startsWith' | 'endsWith'; @@ -13,8 +13,8 @@ interface GetLotsOptions { limit: -1 | number; offset: number; } -export declare function getLots(filters: GetLotsFilters, options: GetLotsOptions, connectedDatabase?: sqlite.Database): { +export declare function getLots(filters: GetLotsFilters, options: GetLotsOptions, connectedDatabase?: PoolConnection): Promise<{ count: number; lots: recordTypes.Lot[]; -}; +}>; export default getLots; diff --git a/helpers/lotOccupancyDB/getLots.js b/helpers/lotOccupancyDB/getLots.js index f1540206..9fd2513a 100644 --- a/helpers/lotOccupancyDB/getLots.js +++ b/helpers/lotOccupancyDB/getLots.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; import * as configFunctions from '../functions.config.js'; import { getLotNameWhereClause } from '../functions.sqlFilters.js'; @@ -40,11 +39,8 @@ function buildWhereClause(filters) { sqlParameters }; } -export function getLots(filters, options, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +export async function getLots(filters, options, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const { sqlWhereClause, sqlParameters } = buildWhereClause(filters); const currentDate = dateToInteger(new Date()); let count = 0; @@ -86,14 +82,14 @@ export function getLots(filters, options, connectedDatabase) { ') o on l.lotId = o.lotId') + sqlWhereClause + ' order by userFn_lotNameSortName(l.lotName), l.lotId' + - (options ? ` limit ${options.limit} offset ${options.offset}` : '')) + (options.limit === -1 ? '' : ` limit ${options.limit} offset ${options.offset}`)) .all(sqlParameters); if (options.limit === -1) { count = lots.length; } } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return { count, diff --git a/helpers/lotOccupancyDB/getLots.ts b/helpers/lotOccupancyDB/getLots.ts index c23448b0..87ee29d9 100644 --- a/helpers/lotOccupancyDB/getLots.ts +++ b/helpers/lotOccupancyDB/getLots.ts @@ -1,8 +1,7 @@ /* eslint-disable @typescript-eslint/indent */ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { dateToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js' @@ -77,19 +76,12 @@ function buildWhereClause(filters: GetLotsFilters): { } } -export function getLots( +export async function getLots( filters: GetLotsFilters, options: GetLotsOptions, - connectedDatabase?: sqlite.Database -): { - count: number - lots: recordTypes.Lot[] -} { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise<{ count: number; lots: recordTypes.Lot[] }> { + const database = connectedDatabase ?? (await acquireConnection()) const { sqlWhereClause, sqlParameters } = buildWhereClause(filters) @@ -145,7 +137,7 @@ export function getLots( ') o on l.lotId = o.lotId') + sqlWhereClause + ' order by userFn_lotNameSortName(l.lotName), l.lotId' + - (options ? ` limit ${options.limit} offset ${options.offset}` : '') + (options.limit === -1 ? '' : ` limit ${options.limit} offset ${options.offset}`) ) .all(sqlParameters) @@ -155,7 +147,7 @@ export function getLots( } if (connectedDatabase === undefined) { - database.close() + database.release() } return { diff --git a/helpers/lotOccupancyDB/getMap.d.ts b/helpers/lotOccupancyDB/getMap.d.ts index 27d44545..981ce7a3 100644 --- a/helpers/lotOccupancyDB/getMap.d.ts +++ b/helpers/lotOccupancyDB/getMap.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function getMap(mapId: number | string): recordTypes.Map; +export declare function getMap(mapId: number | string): Promise; export default getMap; diff --git a/helpers/lotOccupancyDB/getMap.js b/helpers/lotOccupancyDB/getMap.js index d6d63565..966d2c57 100644 --- a/helpers/lotOccupancyDB/getMap.js +++ b/helpers/lotOccupancyDB/getMap.js @@ -1,9 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function getMap(mapId) { - const database = sqlite(databasePath, { - readonly: true - }); +import { acquireConnection } from './pool.js'; +export async function getMap(mapId) { + const database = await acquireConnection(); const map = database .prepare(`select m.mapId, m.mapName, m.mapDescription, m.mapLatitude, m.mapLongitude, m.mapSVG, @@ -24,7 +21,7 @@ export function getMap(mapId) { m.recordUpdate_userName, m.recordUpdate_timeMillis, m.recordDelete_userName, m.recordDelete_timeMillis`) .get(mapId); - database.close(); + database.release(); return map; } export default getMap; diff --git a/helpers/lotOccupancyDB/getMap.ts b/helpers/lotOccupancyDB/getMap.ts index ece0cfcf..093ec277 100644 --- a/helpers/lotOccupancyDB/getMap.ts +++ b/helpers/lotOccupancyDB/getMap.ts @@ -1,13 +1,9 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' -export function getMap(mapId: number | string): recordTypes.Map { - const database = sqlite(databasePath, { - readonly: true - }) +export async function getMap(mapId: number | string): Promise { + const database = await acquireConnection() const map: recordTypes.Map = database .prepare( @@ -32,7 +28,7 @@ export function getMap(mapId: number | string): recordTypes.Map { ) .get(mapId) - database.close() + database.release() return map } diff --git a/helpers/lotOccupancyDB/getMaps.d.ts b/helpers/lotOccupancyDB/getMaps.d.ts index 552eebea..7d20d624 100644 --- a/helpers/lotOccupancyDB/getMaps.d.ts +++ b/helpers/lotOccupancyDB/getMaps.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function getMaps(): recordTypes.Map[]; +export declare function getMaps(): Promise; export default getMaps; diff --git a/helpers/lotOccupancyDB/getMaps.js b/helpers/lotOccupancyDB/getMaps.js index 4fa2b5d9..c8bc313e 100644 --- a/helpers/lotOccupancyDB/getMaps.js +++ b/helpers/lotOccupancyDB/getMaps.js @@ -1,9 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function getMaps() { - const database = sqlite(databasePath, { - readonly: true - }); +import { acquireConnection } from './pool.js'; +export async function getMaps() { + const database = await acquireConnection(); const maps = database .prepare(`select m.mapId, m.mapName, m.mapDescription, m.mapLatitude, m.mapLongitude, m.mapSVG, @@ -18,7 +15,7 @@ export function getMaps() { ) l on m.mapId = l.mapId where m.recordDelete_timeMillis is null order by m.mapName, m.mapId`) .all(); - database.close(); + database.release(); return maps; } export default getMaps; diff --git a/helpers/lotOccupancyDB/getMaps.ts b/helpers/lotOccupancyDB/getMaps.ts index a1a4f6cf..6e4853d8 100644 --- a/helpers/lotOccupancyDB/getMaps.ts +++ b/helpers/lotOccupancyDB/getMaps.ts @@ -1,13 +1,9 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' -export function getMaps(): recordTypes.Map[] { - const database = sqlite(databasePath, { - readonly: true - }) +export async function getMaps(): Promise { + const database = await acquireConnection() const maps: recordTypes.Map[] = database .prepare( @@ -26,7 +22,7 @@ export function getMaps(): recordTypes.Map[] { ) .all() - database.close() + database.release() return maps } diff --git a/helpers/lotOccupancyDB/getNextLotId.d.ts b/helpers/lotOccupancyDB/getNextLotId.d.ts index 6e4bb3ac..8e62a3ea 100644 --- a/helpers/lotOccupancyDB/getNextLotId.d.ts +++ b/helpers/lotOccupancyDB/getNextLotId.d.ts @@ -1,2 +1,2 @@ -export declare function getNextLotId(lotId: number | string): number | undefined; +export declare function getNextLotId(lotId: number | string): Promise; export default getNextLotId; diff --git a/helpers/lotOccupancyDB/getNextLotId.js b/helpers/lotOccupancyDB/getNextLotId.js index 9727dc47..8abfb78d 100644 --- a/helpers/lotOccupancyDB/getNextLotId.js +++ b/helpers/lotOccupancyDB/getNextLotId.js @@ -1,10 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import * as configFunctions from '../functions.config.js'; -export function getNextLotId(lotId) { - const database = sqlite(databasePath, { - readonly: true - }); +export async function getNextLotId(lotId) { + const database = await acquireConnection(); database.function('userFn_lotNameSortName', configFunctions.getProperty('settings.lot.lotNameSortNameFunction')); const result = database .prepare(`select lotId @@ -14,7 +11,7 @@ export function getNextLotId(lotId) { order by userFn_lotNameSortName(lotName) limit 1`) .get(lotId); - database.close(); + database.release(); if (result) { return result.lotId; } diff --git a/helpers/lotOccupancyDB/getNextLotId.ts b/helpers/lotOccupancyDB/getNextLotId.ts index 622343ec..a79d90a7 100644 --- a/helpers/lotOccupancyDB/getNextLotId.ts +++ b/helpers/lotOccupancyDB/getNextLotId.ts @@ -1,13 +1,11 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import * as configFunctions from '../functions.config.js' -export function getNextLotId(lotId: number | string): number | undefined { - const database = sqlite(databasePath, { - readonly: true - }) +export async function getNextLotId( + lotId: number | string +): Promise { + const database = await acquireConnection() database.function( 'userFn_lotNameSortName', @@ -27,7 +25,7 @@ export function getNextLotId(lotId: number | string): number | undefined { ) .get(lotId) - database.close() + database.release() if (result) { return result.lotId diff --git a/helpers/lotOccupancyDB/getNextWorkOrderNumber.d.ts b/helpers/lotOccupancyDB/getNextWorkOrderNumber.d.ts index 6d56294f..ecd0bf09 100644 --- a/helpers/lotOccupancyDB/getNextWorkOrderNumber.d.ts +++ b/helpers/lotOccupancyDB/getNextWorkOrderNumber.d.ts @@ -1,3 +1,3 @@ -import sqlite from 'better-sqlite3'; -export declare function getNextWorkOrderNumber(connectedDatabase?: sqlite.Database): string; +import type { PoolConnection } from 'better-sqlite-pool'; +export declare function getNextWorkOrderNumber(connectedDatabase?: PoolConnection): Promise; export default getNextWorkOrderNumber; diff --git a/helpers/lotOccupancyDB/getNextWorkOrderNumber.js b/helpers/lotOccupancyDB/getNextWorkOrderNumber.js index 4a96cc05..2a8560ad 100644 --- a/helpers/lotOccupancyDB/getNextWorkOrderNumber.js +++ b/helpers/lotOccupancyDB/getNextWorkOrderNumber.js @@ -1,11 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import * as configFunctions from '../functions.config.js'; -export function getNextWorkOrderNumber(connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +export async function getNextWorkOrderNumber(connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const paddingLength = configFunctions.getProperty('settings.workOrders.workOrderNumberLength'); const currentYearString = new Date().getFullYear().toString(); const regex = new RegExp('^' + currentYearString + '-\\d+$'); @@ -18,7 +14,7 @@ export function getNextWorkOrderNumber(connectedDatabase) { " order by cast(substr(workOrderNumber, instr(workOrderNumber, '-') + 1) as integer) desc") .get(); if (connectedDatabase === undefined) { - database.close(); + database.release(); } let workOrderNumberIndex = 0; if (workOrderNumberRecord) { diff --git a/helpers/lotOccupancyDB/getNextWorkOrderNumber.ts b/helpers/lotOccupancyDB/getNextWorkOrderNumber.ts index 28fb80d7..9835bebb 100644 --- a/helpers/lotOccupancyDB/getNextWorkOrderNumber.ts +++ b/helpers/lotOccupancyDB/getNextWorkOrderNumber.ts @@ -1,17 +1,12 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import * as configFunctions from '../functions.config.js' -export function getNextWorkOrderNumber( - connectedDatabase?: sqlite.Database -): string { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) +export async function getNextWorkOrderNumber( + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const paddingLength = configFunctions.getProperty( 'settings.workOrders.workOrderNumberLength' @@ -36,7 +31,7 @@ export function getNextWorkOrderNumber( .get() if (connectedDatabase === undefined) { - database.close() + database.release() } let workOrderNumberIndex = 0 diff --git a/helpers/lotOccupancyDB/getOccupancyTypeFields.d.ts b/helpers/lotOccupancyDB/getOccupancyTypeFields.d.ts index 9f23a7c5..eaa8cac9 100644 --- a/helpers/lotOccupancyDB/getOccupancyTypeFields.d.ts +++ b/helpers/lotOccupancyDB/getOccupancyTypeFields.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function getOccupancyTypeFields(occupancyTypeId?: number, connectedDatabase?: sqlite.Database): recordTypes.OccupancyTypeField[]; +export declare function getOccupancyTypeFields(occupancyTypeId?: number, connectedDatabase?: PoolConnection): Promise; export default getOccupancyTypeFields; diff --git a/helpers/lotOccupancyDB/getOccupancyTypeFields.js b/helpers/lotOccupancyDB/getOccupancyTypeFields.js index 99563711..3af23919 100644 --- a/helpers/lotOccupancyDB/getOccupancyTypeFields.js +++ b/helpers/lotOccupancyDB/getOccupancyTypeFields.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; -export function getOccupancyTypeFields(occupancyTypeId, connectedDatabase) { - const database = connectedDatabase ?? sqlite(databasePath); +export async function getOccupancyTypeFields(occupancyTypeId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); const sqlParameters = []; if (occupancyTypeId) { sqlParameters.push(occupancyTypeId); @@ -28,7 +27,7 @@ export function getOccupancyTypeFields(occupancyTypeId, connectedDatabase) { expectedOrderNumber += 1; } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return occupancyTypeFields; } diff --git a/helpers/lotOccupancyDB/getOccupancyTypeFields.ts b/helpers/lotOccupancyDB/getOccupancyTypeFields.ts index 5a88bc57..5180af01 100644 --- a/helpers/lotOccupancyDB/getOccupancyTypeFields.ts +++ b/helpers/lotOccupancyDB/getOccupancyTypeFields.ts @@ -1,15 +1,14 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import type * as recordTypes from '../../types/recordTypes' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' -export function getOccupancyTypeFields( +export async function getOccupancyTypeFields( occupancyTypeId?: number, - connectedDatabase?: sqlite.Database -): recordTypes.OccupancyTypeField[] { - const database = connectedDatabase ?? sqlite(databasePath) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) const sqlParameters: unknown[] = [] @@ -50,7 +49,7 @@ export function getOccupancyTypeFields( } if (connectedDatabase === undefined) { - database.close() + database.release() } return occupancyTypeFields diff --git a/helpers/lotOccupancyDB/getOccupancyTypePrints.d.ts b/helpers/lotOccupancyDB/getOccupancyTypePrints.d.ts index 673838fc..b32df2f9 100644 --- a/helpers/lotOccupancyDB/getOccupancyTypePrints.d.ts +++ b/helpers/lotOccupancyDB/getOccupancyTypePrints.d.ts @@ -1,3 +1,3 @@ -import sqlite from 'better-sqlite3'; -export declare function getOccupancyTypePrints(occupancyTypeId: number, connectedDatabase?: sqlite.Database): string[]; +import type { PoolConnection } from 'better-sqlite-pool'; +export declare function getOccupancyTypePrints(occupancyTypeId: number, connectedDatabase?: PoolConnection): Promise; export default getOccupancyTypePrints; diff --git a/helpers/lotOccupancyDB/getOccupancyTypePrints.js b/helpers/lotOccupancyDB/getOccupancyTypePrints.js index 5a5ab190..8743683b 100644 --- a/helpers/lotOccupancyDB/getOccupancyTypePrints.js +++ b/helpers/lotOccupancyDB/getOccupancyTypePrints.js @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3'; +import { acquireConnection } from './pool.js'; import * as configFunctions from '../functions.config.js'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; const availablePrints = configFunctions.getProperty('settings.lotOccupancy.prints'); const userFunction_configContainsPrintEJS = (printEJS) => { if (printEJS === '*' || availablePrints.includes(printEJS)) { @@ -8,8 +7,8 @@ const userFunction_configContainsPrintEJS = (printEJS) => { } return 0; }; -export function getOccupancyTypePrints(occupancyTypeId, connectedDatabase) { - const database = connectedDatabase ?? sqlite(databasePath); +export async function getOccupancyTypePrints(occupancyTypeId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); database.function('userFn_configContainsPrintEJS', userFunction_configContainsPrintEJS); const results = database .prepare(`select printEJS, orderNumber @@ -34,7 +33,7 @@ export function getOccupancyTypePrints(occupancyTypeId, connectedDatabase) { prints.push(result.printEJS); } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return prints; } diff --git a/helpers/lotOccupancyDB/getOccupancyTypePrints.ts b/helpers/lotOccupancyDB/getOccupancyTypePrints.ts index 5bde8dc8..fab4271e 100644 --- a/helpers/lotOccupancyDB/getOccupancyTypePrints.ts +++ b/helpers/lotOccupancyDB/getOccupancyTypePrints.ts @@ -1,7 +1,7 @@ -import sqlite from 'better-sqlite3' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import * as configFunctions from '../functions.config.js' -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' const availablePrints = configFunctions.getProperty( 'settings.lotOccupancy.prints' @@ -16,11 +16,11 @@ const userFunction_configContainsPrintEJS = (printEJS: string): number => { return 0 } -export function getOccupancyTypePrints( +export async function getOccupancyTypePrints( occupancyTypeId: number, - connectedDatabase?: sqlite.Database -): string[] { - const database = connectedDatabase ?? sqlite(databasePath) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) database.function( 'userFn_configContainsPrintEJS', @@ -60,7 +60,7 @@ export function getOccupancyTypePrints( } if (connectedDatabase === undefined) { - database.close() + database.release() } return prints diff --git a/helpers/lotOccupancyDB/getOccupancyTypes.d.ts b/helpers/lotOccupancyDB/getOccupancyTypes.d.ts index 380e98ac..b67eb358 100644 --- a/helpers/lotOccupancyDB/getOccupancyTypes.d.ts +++ b/helpers/lotOccupancyDB/getOccupancyTypes.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function getOccupancyTypes(): recordTypes.OccupancyType[]; +export declare function getOccupancyTypes(): Promise; export default getOccupancyTypes; diff --git a/helpers/lotOccupancyDB/getOccupancyTypes.js b/helpers/lotOccupancyDB/getOccupancyTypes.js index 2386577c..e34a62c7 100644 --- a/helpers/lotOccupancyDB/getOccupancyTypes.js +++ b/helpers/lotOccupancyDB/getOccupancyTypes.js @@ -1,10 +1,9 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { getOccupancyTypeFields } from './getOccupancyTypeFields.js'; import { getOccupancyTypePrints } from './getOccupancyTypePrints.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; -export function getOccupancyTypes() { - const database = sqlite(databasePath); +export async function getOccupancyTypes() { + const database = await acquireConnection(); const occupancyTypes = database .prepare(`select occupancyTypeId, occupancyType, orderNumber from OccupancyTypes @@ -18,10 +17,10 @@ export function getOccupancyTypes() { updateRecordOrderNumber('OccupancyTypes', occupancyType.occupancyTypeId, expectedTypeOrderNumber, database); occupancyType.orderNumber = expectedTypeOrderNumber; } - occupancyType.occupancyTypeFields = getOccupancyTypeFields(occupancyType.occupancyTypeId, database); - occupancyType.occupancyTypePrints = getOccupancyTypePrints(occupancyType.occupancyTypeId, database); + occupancyType.occupancyTypeFields = await getOccupancyTypeFields(occupancyType.occupancyTypeId, database); + occupancyType.occupancyTypePrints = await getOccupancyTypePrints(occupancyType.occupancyTypeId, database); } - database.close(); + database.release(); return occupancyTypes; } export default getOccupancyTypes; diff --git a/helpers/lotOccupancyDB/getOccupancyTypes.ts b/helpers/lotOccupancyDB/getOccupancyTypes.ts index 288c066a..20241886 100644 --- a/helpers/lotOccupancyDB/getOccupancyTypes.ts +++ b/helpers/lotOccupancyDB/getOccupancyTypes.ts @@ -1,6 +1,6 @@ -import sqlite from 'better-sqlite3' +/* eslint-disable @typescript-eslint/indent */ -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { getOccupancyTypeFields } from './getOccupancyTypeFields.js' import { getOccupancyTypePrints } from './getOccupancyTypePrints.js' @@ -8,8 +8,10 @@ import { getOccupancyTypePrints } from './getOccupancyTypePrints.js' import type * as recordTypes from '../../types/recordTypes' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' -export function getOccupancyTypes(): recordTypes.OccupancyType[] { - const database = sqlite(databasePath) +export async function getOccupancyTypes(): Promise< + recordTypes.OccupancyType[] +> { + const database = await acquireConnection() const occupancyTypes: recordTypes.OccupancyType[] = database .prepare( @@ -36,18 +38,18 @@ export function getOccupancyTypes(): recordTypes.OccupancyType[] { occupancyType.orderNumber = expectedTypeOrderNumber } - occupancyType.occupancyTypeFields = getOccupancyTypeFields( + occupancyType.occupancyTypeFields = await getOccupancyTypeFields( occupancyType.occupancyTypeId, database ) - occupancyType.occupancyTypePrints = getOccupancyTypePrints( + occupancyType.occupancyTypePrints = await getOccupancyTypePrints( occupancyType.occupancyTypeId, database ) } - database.close() + database.release() return occupancyTypes } diff --git a/helpers/lotOccupancyDB/getPastLotOccupancyOccupants.d.ts b/helpers/lotOccupancyDB/getPastLotOccupancyOccupants.d.ts index 3d3f2a99..2ab8b0ce 100644 --- a/helpers/lotOccupancyDB/getPastLotOccupancyOccupants.d.ts +++ b/helpers/lotOccupancyDB/getPastLotOccupancyOccupants.d.ts @@ -5,5 +5,5 @@ interface GetPastLotOccupancyOccupantsFilters { interface GetPastLotOccupancyOccupantsOptions { limit: number; } -export declare function getPastLotOccupancyOccupants(filters: GetPastLotOccupancyOccupantsFilters, options: GetPastLotOccupancyOccupantsOptions): recordTypes.LotOccupancyOccupant[]; +export declare function getPastLotOccupancyOccupants(filters: GetPastLotOccupancyOccupantsFilters, options: GetPastLotOccupancyOccupantsOptions): Promise; export default getPastLotOccupancyOccupants; diff --git a/helpers/lotOccupancyDB/getPastLotOccupancyOccupants.js b/helpers/lotOccupancyDB/getPastLotOccupancyOccupants.js index 30eb897d..458909bc 100644 --- a/helpers/lotOccupancyDB/getPastLotOccupancyOccupants.js +++ b/helpers/lotOccupancyDB/getPastLotOccupancyOccupants.js @@ -1,9 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function getPastLotOccupancyOccupants(filters, options) { - const database = sqlite(databasePath, { - readonly: true - }); +import { acquireConnection } from './pool.js'; +export async function getPastLotOccupancyOccupants(filters, options) { + const database = await acquireConnection(); let sqlWhereClause = ' where o.recordDelete_timeMillis is null and l.recordDelete_timeMillis is null'; const sqlParameters = []; if (filters.searchFilter) { @@ -17,24 +14,24 @@ export function getPastLotOccupancyOccupants(filters, options) { sqlParameters.push(searchFilterPiece, searchFilterPiece, searchFilterPiece, searchFilterPiece); } } - const sql = 'select' + - ' o.occupantName, o.occupantAddress1, o.occupantAddress2,' + - ' o.occupantCity, o.occupantProvince, o.occupantPostalCode,' + - ' o.occupantPhoneNumber, o.occupantEmailAddress,' + - ' count(*) as lotOccupancyIdCount,' + - ' max(o.recordUpdate_timeMillis) as recordUpdate_timeMillisMax' + - ' from LotOccupancyOccupants o' + - ' left join LotOccupancies l on o.lotOccupancyId = l.lotOccupancyId' + - sqlWhereClause + - ' group by occupantName, occupantAddress1, occupantAddress2, occupantCity, occupantProvince, occupantPostalCode,' + - ' occupantPhoneNumber, occupantEmailAddress' + - ' order by lotOccupancyIdCount desc, recordUpdate_timeMillisMax desc' + - ' limit ' + - options.limit; + const sql = `select o.occupantName, + o.occupantAddress1, o.occupantAddress2, + o.occupantCity, o.occupantProvince, o.occupantPostalCode, + o.occupantPhoneNumber, o.occupantEmailAddress, + count(*) as lotOccupancyIdCount, + max(o.recordUpdate_timeMillis) as recordUpdate_timeMillisMax + from LotOccupancyOccupants o + left join LotOccupancies l on o.lotOccupancyId = l.lotOccupancyId + ${sqlWhereClause} + group by occupantName, occupantAddress1, occupantAddress2, + occupantCity, occupantProvince, occupantPostalCode, + occupantPhoneNumber, occupantEmailAddress + order by lotOccupancyIdCount desc, recordUpdate_timeMillisMax desc + limit ${options.limit}`; const lotOccupancyOccupants = database .prepare(sql) .all(sqlParameters); - database.close(); + database.release(); return lotOccupancyOccupants; } export default getPastLotOccupancyOccupants; diff --git a/helpers/lotOccupancyDB/getPastLotOccupancyOccupants.ts b/helpers/lotOccupancyDB/getPastLotOccupancyOccupants.ts index 5ec18eee..64910e5f 100644 --- a/helpers/lotOccupancyDB/getPastLotOccupancyOccupants.ts +++ b/helpers/lotOccupancyDB/getPastLotOccupancyOccupants.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' @@ -12,13 +10,11 @@ interface GetPastLotOccupancyOccupantsOptions { limit: number } -export function getPastLotOccupancyOccupants( +export async function getPastLotOccupancyOccupants( filters: GetPastLotOccupancyOccupantsFilters, options: GetPastLotOccupancyOccupantsOptions -): recordTypes.LotOccupancyOccupant[] { - const database = sqlite(databasePath, { - readonly: true - }) +): Promise { + const database = await acquireConnection() let sqlWhereClause = ' where o.recordDelete_timeMillis is null and l.recordDelete_timeMillis is null' @@ -44,27 +40,26 @@ export function getPastLotOccupancyOccupants( } } - const sql = - 'select' + - ' o.occupantName, o.occupantAddress1, o.occupantAddress2,' + - ' o.occupantCity, o.occupantProvince, o.occupantPostalCode,' + - ' o.occupantPhoneNumber, o.occupantEmailAddress,' + - ' count(*) as lotOccupancyIdCount,' + - ' max(o.recordUpdate_timeMillis) as recordUpdate_timeMillisMax' + - ' from LotOccupancyOccupants o' + - ' left join LotOccupancies l on o.lotOccupancyId = l.lotOccupancyId' + - sqlWhereClause + - ' group by occupantName, occupantAddress1, occupantAddress2, occupantCity, occupantProvince, occupantPostalCode,' + - ' occupantPhoneNumber, occupantEmailAddress' + - ' order by lotOccupancyIdCount desc, recordUpdate_timeMillisMax desc' + - ' limit ' + - options.limit + const sql = `select o.occupantName, + o.occupantAddress1, o.occupantAddress2, + o.occupantCity, o.occupantProvince, o.occupantPostalCode, + o.occupantPhoneNumber, o.occupantEmailAddress, + count(*) as lotOccupancyIdCount, + max(o.recordUpdate_timeMillis) as recordUpdate_timeMillisMax + from LotOccupancyOccupants o + left join LotOccupancies l on o.lotOccupancyId = l.lotOccupancyId + ${sqlWhereClause} + group by occupantName, occupantAddress1, occupantAddress2, + occupantCity, occupantProvince, occupantPostalCode, + occupantPhoneNumber, occupantEmailAddress + order by lotOccupancyIdCount desc, recordUpdate_timeMillisMax desc + limit ${options.limit}` const lotOccupancyOccupants: recordTypes.LotOccupancyOccupant[] = database .prepare(sql) .all(sqlParameters) - database.close() + database.release() return lotOccupancyOccupants } diff --git a/helpers/lotOccupancyDB/getPreviousLotId.d.ts b/helpers/lotOccupancyDB/getPreviousLotId.d.ts index 4b423d0f..af0b89ac 100644 --- a/helpers/lotOccupancyDB/getPreviousLotId.d.ts +++ b/helpers/lotOccupancyDB/getPreviousLotId.d.ts @@ -1,2 +1,2 @@ -export declare function getPreviousLotId(lotId: number | string): number | undefined; +export declare function getPreviousLotId(lotId: number | string): Promise; export default getPreviousLotId; diff --git a/helpers/lotOccupancyDB/getPreviousLotId.js b/helpers/lotOccupancyDB/getPreviousLotId.js index 1111060c..3749b278 100644 --- a/helpers/lotOccupancyDB/getPreviousLotId.js +++ b/helpers/lotOccupancyDB/getPreviousLotId.js @@ -1,10 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import * as configFunctions from '../functions.config.js'; -export function getPreviousLotId(lotId) { - const database = sqlite(databasePath, { - readonly: true - }); +export async function getPreviousLotId(lotId) { + const database = await acquireConnection(); database.function('userFn_lotNameSortName', configFunctions.getProperty('settings.lot.lotNameSortNameFunction')); const result = database .prepare(`select lotId from Lots @@ -13,7 +10,7 @@ export function getPreviousLotId(lotId) { order by userFn_lotNameSortName(lotName) desc limit 1`) .get(lotId); - database.close(); + database.release(); if (result) { return result.lotId; } diff --git a/helpers/lotOccupancyDB/getPreviousLotId.ts b/helpers/lotOccupancyDB/getPreviousLotId.ts index 59c2e1c4..7a331bec 100644 --- a/helpers/lotOccupancyDB/getPreviousLotId.ts +++ b/helpers/lotOccupancyDB/getPreviousLotId.ts @@ -1,13 +1,11 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import * as configFunctions from '../functions.config.js' -export function getPreviousLotId(lotId: number | string): number | undefined { - const database = sqlite(databasePath, { - readonly: true - }) +export async function getPreviousLotId( + lotId: number | string +): Promise { + const database = await acquireConnection() database.function( 'userFn_lotNameSortName', @@ -26,7 +24,7 @@ export function getPreviousLotId(lotId: number | string): number | undefined { ) .get(lotId) - database.close() + database.release() if (result) { return result.lotId diff --git a/helpers/lotOccupancyDB/getReportData.d.ts b/helpers/lotOccupancyDB/getReportData.d.ts index 905b9038..117bb1c4 100644 --- a/helpers/lotOccupancyDB/getReportData.d.ts +++ b/helpers/lotOccupancyDB/getReportData.d.ts @@ -1,3 +1,3 @@ export declare type ReportParameters = Record; -export declare function getReportData(reportName: string, reportParameters?: ReportParameters): unknown[] | undefined; +export declare function getReportData(reportName: string, reportParameters?: ReportParameters): Promise; export default getReportData; diff --git a/helpers/lotOccupancyDB/getReportData.js b/helpers/lotOccupancyDB/getReportData.js index 5afa376f..6523e9b1 100644 --- a/helpers/lotOccupancyDB/getReportData.js +++ b/helpers/lotOccupancyDB/getReportData.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import * as configFunctions from '../functions.config.js'; import * as dateTimeFunctions from '@cityssm/expressjs-server-js/dateTimeFns.js'; import camelCase from 'camelcase'; @@ -22,7 +21,7 @@ const lotOccupancyIdAlias = occupancyCamelCase + 'Id'; const occupancyTypeAlias = occupancyCamelCase + 'Type'; const occupancyStartDateAlias = occupancyCamelCase + 'StartDate'; const occupancyEndDateAlias = occupancyCamelCase + 'EndDate'; -export function getReportData(reportName, reportParameters = {}) { +export async function getReportData(reportName, reportParameters = {}) { let sql; const sqlParameters = []; switch (reportName) { @@ -159,21 +158,21 @@ export function getReportData(reportName, reportParameters = {}) { } case 'workOrders-open': { sql = `select w.workOrderId, w.workOrderNumber, - t.workOrderType, w.workOrderDescription, - w.workOrderOpenDate, - m.workOrderMilestoneCount, m.workOrderMilestoneCompletionCount - from WorkOrders w - left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId - left join ( - select m.workOrderId, - count(m.workOrderMilestoneId) as workOrderMilestoneCount, - sum(case when m.workOrderMilestoneCompletionDate is null then 0 else 1 end) as workOrderMilestoneCompletionCount - from WorkOrderMilestones m - where m.recordDelete_timeMillis is null - group by m.workOrderId - ) m on w.workOrderId = m.workOrderId - where w.recordDelete_timeMillis is null - and w.workOrderCloseDate is null`; + t.workOrderType, w.workOrderDescription, + w.workOrderOpenDate, + m.workOrderMilestoneCount, m.workOrderMilestoneCompletionCount + from WorkOrders w + left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId + left join ( + select m.workOrderId, + count(m.workOrderMilestoneId) as workOrderMilestoneCount, + sum(case when m.workOrderMilestoneCompletionDate is null then 0 else 1 end) as workOrderMilestoneCompletionCount + from WorkOrderMilestones m + where m.recordDelete_timeMillis is null + group by m.workOrderId + ) m on w.workOrderId = m.workOrderId + where w.recordDelete_timeMillis is null + and w.workOrderCloseDate is null`; break; } case 'workOrderComments-all': { @@ -232,13 +231,11 @@ export function getReportData(reportName, reportParameters = {}) { return undefined; } } - const database = sqlite(databasePath, { - readonly: true - }); + const database = await acquireConnection(); database.function('userFn_dateIntegerToString', dateTimeFunctions.dateIntegerToString); database.function('userFn_timeIntegerToString', dateTimeFunctions.timeIntegerToString); const rows = database.prepare(sql).all(sqlParameters); - database.close(); + database.release(); return rows; } export default getReportData; diff --git a/helpers/lotOccupancyDB/getReportData.ts b/helpers/lotOccupancyDB/getReportData.ts index efbc5449..9663e15c 100644 --- a/helpers/lotOccupancyDB/getReportData.ts +++ b/helpers/lotOccupancyDB/getReportData.ts @@ -1,8 +1,6 @@ /* eslint-disable no-case-declarations */ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import * as configFunctions from '../functions.config.js' import * as dateTimeFunctions from '@cityssm/expressjs-server-js/dateTimeFns.js' @@ -35,10 +33,10 @@ const occupancyTypeAlias = occupancyCamelCase + 'Type' const occupancyStartDateAlias = occupancyCamelCase + 'StartDate' const occupancyEndDateAlias = occupancyCamelCase + 'EndDate' -export function getReportData( +export async function getReportData( reportName: string, reportParameters: ReportParameters = {} -): unknown[] | undefined { +): Promise { let sql: string const sqlParameters: unknown[] = [] @@ -210,21 +208,21 @@ export function getReportData( case 'workOrders-open': { sql = `select w.workOrderId, w.workOrderNumber, - t.workOrderType, w.workOrderDescription, - w.workOrderOpenDate, - m.workOrderMilestoneCount, m.workOrderMilestoneCompletionCount - from WorkOrders w - left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId - left join ( - select m.workOrderId, - count(m.workOrderMilestoneId) as workOrderMilestoneCount, - sum(case when m.workOrderMilestoneCompletionDate is null then 0 else 1 end) as workOrderMilestoneCompletionCount - from WorkOrderMilestones m - where m.recordDelete_timeMillis is null - group by m.workOrderId - ) m on w.workOrderId = m.workOrderId - where w.recordDelete_timeMillis is null - and w.workOrderCloseDate is null` + t.workOrderType, w.workOrderDescription, + w.workOrderOpenDate, + m.workOrderMilestoneCount, m.workOrderMilestoneCompletionCount + from WorkOrders w + left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId + left join ( + select m.workOrderId, + count(m.workOrderMilestoneId) as workOrderMilestoneCount, + sum(case when m.workOrderMilestoneCompletionDate is null then 0 else 1 end) as workOrderMilestoneCompletionCount + from WorkOrderMilestones m + where m.recordDelete_timeMillis is null + group by m.workOrderId + ) m on w.workOrderId = m.workOrderId + where w.recordDelete_timeMillis is null + and w.workOrderCloseDate is null` break } @@ -298,9 +296,7 @@ export function getReportData( } } - const database = sqlite(databasePath, { - readonly: true - }) + const database = await acquireConnection() database.function( 'userFn_dateIntegerToString', @@ -313,7 +309,7 @@ export function getReportData( const rows = database.prepare(sql).all(sqlParameters) - database.close() + database.release() return rows } diff --git a/helpers/lotOccupancyDB/getWorkOrder.d.ts b/helpers/lotOccupancyDB/getWorkOrder.d.ts index 0d66b8e8..1df39a3b 100644 --- a/helpers/lotOccupancyDB/getWorkOrder.d.ts +++ b/helpers/lotOccupancyDB/getWorkOrder.d.ts @@ -1,10 +1,10 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; interface WorkOrderOptions { includeLotsAndLotOccupancies: boolean; includeComments: boolean; includeMilestones: boolean; } -export declare function getWorkOrderByWorkOrderNumber(workOrderNumber: string): recordTypes.WorkOrder; -export declare function getWorkOrder(workOrderId: number | string, options: WorkOrderOptions, connectedDatabase?: sqlite.Database): recordTypes.WorkOrder; +export declare function getWorkOrderByWorkOrderNumber(workOrderNumber: string): Promise; +export declare function getWorkOrder(workOrderId: number | string, options: WorkOrderOptions, connectedDatabase?: PoolConnection): Promise; export default getWorkOrder; diff --git a/helpers/lotOccupancyDB/getWorkOrder.js b/helpers/lotOccupancyDB/getWorkOrder.js index 411139cd..5085b6cd 100644 --- a/helpers/lotOccupancyDB/getWorkOrder.js +++ b/helpers/lotOccupancyDB/getWorkOrder.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateIntegerToString } from '@cityssm/expressjs-server-js/dateTimeFns.js'; import { getLots } from './getLots.js'; import { getLotOccupancies } from './getLotOccupancies.js'; @@ -14,36 +13,36 @@ const baseSQL = `select w.workOrderId, from WorkOrders w left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId where w.recordDelete_timeMillis is null`; -function _getWorkOrder(sql, workOrderIdOrWorkOrderNumber, options, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +async function _getWorkOrder(sql, workOrderIdOrWorkOrderNumber, options, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); database.function('userFn_dateIntegerToString', dateIntegerToString); const workOrder = database .prepare(sql) .get(workOrderIdOrWorkOrderNumber); if (workOrder) { if (options.includeLotsAndLotOccupancies) { - workOrder.workOrderLots = getLots({ + const workOrderLotsResults = await getLots({ workOrderId: workOrder.workOrderId }, { limit: -1, offset: 0 - }, database).lots; - workOrder.workOrderLotOccupancies = getLotOccupancies({ + }, database); + workOrder.workOrderLots = workOrderLotsResults.lots; + const workOrderLotOccupanciesResults = await getLotOccupancies({ workOrderId: workOrder.workOrderId }, { limit: -1, offset: 0, includeOccupants: true - }, database).lotOccupancies; + }, database); + workOrder.workOrderLotOccupancies = + workOrderLotOccupanciesResults.lotOccupancies; } if (options.includeComments) { - workOrder.workOrderComments = getWorkOrderComments(workOrder.workOrderId, database); + workOrder.workOrderComments = await getWorkOrderComments(workOrder.workOrderId, database); } if (options.includeMilestones) { - workOrder.workOrderMilestones = getWorkOrderMilestones({ + workOrder.workOrderMilestones = await getWorkOrderMilestones({ workOrderId: workOrder.workOrderId }, { includeWorkOrders: false, @@ -52,18 +51,18 @@ function _getWorkOrder(sql, workOrderIdOrWorkOrderNumber, options, connectedData } } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return workOrder; } -export function getWorkOrderByWorkOrderNumber(workOrderNumber) { - return _getWorkOrder(baseSQL + ' and w.workOrderNumber = ?', workOrderNumber, { +export async function getWorkOrderByWorkOrderNumber(workOrderNumber) { + return await _getWorkOrder(baseSQL + ' and w.workOrderNumber = ?', workOrderNumber, { includeLotsAndLotOccupancies: true, includeComments: true, includeMilestones: true }); } -export function getWorkOrder(workOrderId, options, connectedDatabase) { - return _getWorkOrder(baseSQL + ' and w.workOrderId = ?', workOrderId, options, connectedDatabase); +export async function getWorkOrder(workOrderId, options, connectedDatabase) { + return await _getWorkOrder(baseSQL + ' and w.workOrderId = ?', workOrderId, options, connectedDatabase); } export default getWorkOrder; diff --git a/helpers/lotOccupancyDB/getWorkOrder.ts b/helpers/lotOccupancyDB/getWorkOrder.ts index 661b3018..16126e25 100644 --- a/helpers/lotOccupancyDB/getWorkOrder.ts +++ b/helpers/lotOccupancyDB/getWorkOrder.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { dateIntegerToString } from '@cityssm/expressjs-server-js/dateTimeFns.js' @@ -30,17 +29,13 @@ const baseSQL = `select w.workOrderId, left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId where w.recordDelete_timeMillis is null` -function _getWorkOrder( +async function _getWorkOrder( sql: string, workOrderIdOrWorkOrderNumber: number | string, options: WorkOrderOptions, - connectedDatabase?: sqlite.Database -): recordTypes.WorkOrder { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) database.function('userFn_dateIntegerToString', dateIntegerToString) @@ -50,7 +45,7 @@ function _getWorkOrder( if (workOrder) { if (options.includeLotsAndLotOccupancies) { - workOrder.workOrderLots = getLots( + const workOrderLotsResults = await getLots( { workOrderId: workOrder.workOrderId }, @@ -59,9 +54,11 @@ function _getWorkOrder( offset: 0 }, database - ).lots + ) - workOrder.workOrderLotOccupancies = getLotOccupancies( + workOrder.workOrderLots = workOrderLotsResults.lots + + const workOrderLotOccupanciesResults = await getLotOccupancies( { workOrderId: workOrder.workOrderId }, @@ -71,18 +68,21 @@ function _getWorkOrder( includeOccupants: true }, database - ).lotOccupancies + ) + + workOrder.workOrderLotOccupancies = + workOrderLotOccupanciesResults.lotOccupancies } if (options.includeComments) { - workOrder.workOrderComments = getWorkOrderComments( + workOrder.workOrderComments = await getWorkOrderComments( workOrder.workOrderId as number, database ) } if (options.includeMilestones) { - workOrder.workOrderMilestones = getWorkOrderMilestones( + workOrder.workOrderMilestones = await getWorkOrderMilestones( { workOrderId: workOrder.workOrderId }, @@ -96,16 +96,16 @@ function _getWorkOrder( } if (connectedDatabase === undefined) { - database.close() + database.release() } return workOrder } -export function getWorkOrderByWorkOrderNumber( +export async function getWorkOrderByWorkOrderNumber( workOrderNumber: string -): recordTypes.WorkOrder { - return _getWorkOrder( +): Promise { + return await _getWorkOrder( baseSQL + ' and w.workOrderNumber = ?', workOrderNumber, { @@ -116,12 +116,12 @@ export function getWorkOrderByWorkOrderNumber( ) } -export function getWorkOrder( +export async function getWorkOrder( workOrderId: number | string, options: WorkOrderOptions, - connectedDatabase?: sqlite.Database -): recordTypes.WorkOrder { - return _getWorkOrder( + connectedDatabase?: PoolConnection +): Promise { + return await _getWorkOrder( baseSQL + ' and w.workOrderId = ?', workOrderId, options, diff --git a/helpers/lotOccupancyDB/getWorkOrderComments.d.ts b/helpers/lotOccupancyDB/getWorkOrderComments.d.ts index 3b7b5e1a..b84115fd 100644 --- a/helpers/lotOccupancyDB/getWorkOrderComments.d.ts +++ b/helpers/lotOccupancyDB/getWorkOrderComments.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; -export declare function getWorkOrderComments(workOrderId: number | string, connectedDatabase?: sqlite.Database): recordTypes.WorkOrderComment[]; +export declare function getWorkOrderComments(workOrderId: number | string, connectedDatabase?: PoolConnection): Promise; export default getWorkOrderComments; diff --git a/helpers/lotOccupancyDB/getWorkOrderComments.js b/helpers/lotOccupancyDB/getWorkOrderComments.js index 7ebb0163..f489357c 100644 --- a/helpers/lotOccupancyDB/getWorkOrderComments.js +++ b/helpers/lotOccupancyDB/getWorkOrderComments.js @@ -1,11 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateIntegerToString, timeIntegerToString } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function getWorkOrderComments(workOrderId, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +export async function getWorkOrderComments(workOrderId, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); database.function('userFn_dateIntegerToString', dateIntegerToString); database.function('userFn_timeIntegerToString', timeIntegerToString); const workOrderComments = database @@ -20,7 +16,7 @@ export function getWorkOrderComments(workOrderId, connectedDatabase) { order by workOrderCommentDate desc, workOrderCommentTime desc, workOrderCommentId desc`) .all(workOrderId); if (connectedDatabase === undefined) { - database.close(); + database.release(); } return workOrderComments; } diff --git a/helpers/lotOccupancyDB/getWorkOrderComments.ts b/helpers/lotOccupancyDB/getWorkOrderComments.ts index 774da9c3..12197e83 100644 --- a/helpers/lotOccupancyDB/getWorkOrderComments.ts +++ b/helpers/lotOccupancyDB/getWorkOrderComments.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { dateIntegerToString, @@ -9,15 +8,11 @@ import { import type * as recordTypes from '../../types/recordTypes' -export function getWorkOrderComments( +export async function getWorkOrderComments( workOrderId: number | string, - connectedDatabase?: sqlite.Database -): recordTypes.WorkOrderComment[] { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) database.function('userFn_dateIntegerToString', dateIntegerToString) database.function('userFn_timeIntegerToString', timeIntegerToString) @@ -37,7 +32,7 @@ export function getWorkOrderComments( .all(workOrderId) if (connectedDatabase === undefined) { - database.close() + database.release() } return workOrderComments diff --git a/helpers/lotOccupancyDB/getWorkOrderMilestoneTypes.d.ts b/helpers/lotOccupancyDB/getWorkOrderMilestoneTypes.d.ts index 454acd15..3f12f1cb 100644 --- a/helpers/lotOccupancyDB/getWorkOrderMilestoneTypes.d.ts +++ b/helpers/lotOccupancyDB/getWorkOrderMilestoneTypes.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function getWorkOrderMilestoneTypes(): recordTypes.WorkOrderMilestoneType[]; +export declare function getWorkOrderMilestoneTypes(): Promise; export default getWorkOrderMilestoneTypes; diff --git a/helpers/lotOccupancyDB/getWorkOrderMilestoneTypes.js b/helpers/lotOccupancyDB/getWorkOrderMilestoneTypes.js index 4319fe1c..c3db49a8 100644 --- a/helpers/lotOccupancyDB/getWorkOrderMilestoneTypes.js +++ b/helpers/lotOccupancyDB/getWorkOrderMilestoneTypes.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; -export function getWorkOrderMilestoneTypes() { - const database = sqlite(databasePath); +export async function getWorkOrderMilestoneTypes() { + const database = await acquireConnection(); const workOrderMilestoneTypes = database .prepare(`select workOrderMilestoneTypeId, workOrderMilestoneType, orderNumber from WorkOrderMilestoneTypes @@ -17,7 +16,7 @@ export function getWorkOrderMilestoneTypes() { } expectedOrderNumber += 1; } - database.close(); + database.release(); return workOrderMilestoneTypes; } export default getWorkOrderMilestoneTypes; diff --git a/helpers/lotOccupancyDB/getWorkOrderMilestoneTypes.ts b/helpers/lotOccupancyDB/getWorkOrderMilestoneTypes.ts index ef22898e..9ce51ffb 100644 --- a/helpers/lotOccupancyDB/getWorkOrderMilestoneTypes.ts +++ b/helpers/lotOccupancyDB/getWorkOrderMilestoneTypes.ts @@ -1,13 +1,11 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' import type * as recordTypes from '../../types/recordTypes' -export function getWorkOrderMilestoneTypes(): recordTypes.WorkOrderMilestoneType[] { - const database = sqlite(databasePath) +export async function getWorkOrderMilestoneTypes(): Promise { + const database = await acquireConnection() const workOrderMilestoneTypes: recordTypes.WorkOrderMilestoneType[] = database .prepare( @@ -35,7 +33,7 @@ export function getWorkOrderMilestoneTypes(): recordTypes.WorkOrderMilestoneType expectedOrderNumber += 1 } - database.close() + database.release() return workOrderMilestoneTypes } diff --git a/helpers/lotOccupancyDB/getWorkOrderMilestones.d.ts b/helpers/lotOccupancyDB/getWorkOrderMilestones.d.ts index d0392487..4161b7a2 100644 --- a/helpers/lotOccupancyDB/getWorkOrderMilestones.d.ts +++ b/helpers/lotOccupancyDB/getWorkOrderMilestones.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; export interface WorkOrderMilestoneFilters { workOrderId?: number | string; @@ -11,5 +11,5 @@ interface WorkOrderMilestoneOptions { includeWorkOrders?: boolean; orderBy: 'completion' | 'date'; } -export declare function getWorkOrderMilestones(filters: WorkOrderMilestoneFilters, options: WorkOrderMilestoneOptions, connectedDatabase?: sqlite.Database): recordTypes.WorkOrderMilestone[]; +export declare function getWorkOrderMilestones(filters: WorkOrderMilestoneFilters, options: WorkOrderMilestoneOptions, connectedDatabase?: PoolConnection): Promise; export default getWorkOrderMilestones; diff --git a/helpers/lotOccupancyDB/getWorkOrderMilestones.js b/helpers/lotOccupancyDB/getWorkOrderMilestones.js index 9ca5a45c..47347fe7 100644 --- a/helpers/lotOccupancyDB/getWorkOrderMilestones.js +++ b/helpers/lotOccupancyDB/getWorkOrderMilestones.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateIntegerToString, dateStringToInteger, dateToInteger, timeIntegerToString } from '@cityssm/expressjs-server-js/dateTimeFns.js'; import * as configFunctions from '../functions.config.js'; import { getLots } from './getLots.js'; @@ -56,11 +55,8 @@ function buildWhereClause(filters) { sqlParameters }; } -export function getWorkOrderMilestones(filters, options, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +export async function getWorkOrderMilestones(filters, options, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); database.function('userFn_dateIntegerToString', dateIntegerToString); database.function('userFn_timeIntegerToString', timeIntegerToString); const { sqlWhereClause, sqlParameters } = buildWhereClause(filters); @@ -107,23 +103,25 @@ export function getWorkOrderMilestones(filters, options, connectedDatabase) { .all(sqlParameters); if (options.includeWorkOrders) { for (const workOrderMilestone of workOrderMilestones) { - workOrderMilestone.workOrderLots = getLots({ + const workOrderLotsResults = await getLots({ workOrderId: workOrderMilestone.workOrderId }, { limit: -1, offset: 0 - }, database).lots; - workOrderMilestone.workOrderLotOccupancies = getLotOccupancies({ + }, database); + workOrderMilestone.workOrderLots = workOrderLotsResults.lots; + const lotOccupancies = await getLotOccupancies({ workOrderId: workOrderMilestone.workOrderId }, { limit: -1, offset: 0, includeOccupants: true - }, database).lotOccupancies; + }, database); + workOrderMilestone.workOrderLotOccupancies = lotOccupancies.lotOccupancies; } } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return workOrderMilestones; } diff --git a/helpers/lotOccupancyDB/getWorkOrderMilestones.ts b/helpers/lotOccupancyDB/getWorkOrderMilestones.ts index e305c9d2..f5922be5 100644 --- a/helpers/lotOccupancyDB/getWorkOrderMilestones.ts +++ b/helpers/lotOccupancyDB/getWorkOrderMilestones.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { dateIntegerToString, @@ -115,16 +114,12 @@ function buildWhereClause(filters: WorkOrderMilestoneFilters): { } } -export function getWorkOrderMilestones( +export async function getWorkOrderMilestones( filters: WorkOrderMilestoneFilters, options: WorkOrderMilestoneOptions, - connectedDatabase?: sqlite.Database -): recordTypes.WorkOrderMilestone[] { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise { + const database = connectedDatabase ?? (await acquireConnection()) database.function('userFn_dateIntegerToString', dateIntegerToString) database.function('userFn_timeIntegerToString', timeIntegerToString) @@ -183,7 +178,7 @@ export function getWorkOrderMilestones( if (options.includeWorkOrders) { for (const workOrderMilestone of workOrderMilestones) { - workOrderMilestone.workOrderLots = getLots( + const workOrderLotsResults = await getLots( { workOrderId: workOrderMilestone.workOrderId }, @@ -192,9 +187,11 @@ export function getWorkOrderMilestones( offset: 0 }, database - ).lots + ) - workOrderMilestone.workOrderLotOccupancies = getLotOccupancies( + workOrderMilestone.workOrderLots = workOrderLotsResults.lots + + const lotOccupancies = await getLotOccupancies( { workOrderId: workOrderMilestone.workOrderId }, @@ -204,12 +201,14 @@ export function getWorkOrderMilestones( includeOccupants: true }, database - ).lotOccupancies + ) + + workOrderMilestone.workOrderLotOccupancies = lotOccupancies.lotOccupancies } } if (connectedDatabase === undefined) { - database.close() + database.release() } return workOrderMilestones diff --git a/helpers/lotOccupancyDB/getWorkOrderTypes.d.ts b/helpers/lotOccupancyDB/getWorkOrderTypes.d.ts index 517f36f8..7a961a0f 100644 --- a/helpers/lotOccupancyDB/getWorkOrderTypes.d.ts +++ b/helpers/lotOccupancyDB/getWorkOrderTypes.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function getWorkOrderTypes(): recordTypes.WorkOrderType[]; +export declare function getWorkOrderTypes(): Promise; export default getWorkOrderTypes; diff --git a/helpers/lotOccupancyDB/getWorkOrderTypes.js b/helpers/lotOccupancyDB/getWorkOrderTypes.js index 0ef46171..2dda96e7 100644 --- a/helpers/lotOccupancyDB/getWorkOrderTypes.js +++ b/helpers/lotOccupancyDB/getWorkOrderTypes.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; -export function getWorkOrderTypes() { - const database = sqlite(databasePath); +export async function getWorkOrderTypes() { + const database = await acquireConnection(); const workOrderTypes = database .prepare(`select workOrderTypeId, workOrderType, orderNumber from WorkOrderTypes @@ -17,7 +16,7 @@ export function getWorkOrderTypes() { } expectedOrderNumber += 1; } - database.close(); + database.release(); return workOrderTypes; } export default getWorkOrderTypes; diff --git a/helpers/lotOccupancyDB/getWorkOrderTypes.ts b/helpers/lotOccupancyDB/getWorkOrderTypes.ts index 7802c5cc..6f2ffc21 100644 --- a/helpers/lotOccupancyDB/getWorkOrderTypes.ts +++ b/helpers/lotOccupancyDB/getWorkOrderTypes.ts @@ -1,13 +1,15 @@ -import sqlite from 'better-sqlite3' +/* eslint-disable @typescript-eslint/indent */ -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' import type * as recordTypes from '../../types/recordTypes' -export function getWorkOrderTypes(): recordTypes.WorkOrderType[] { - const database = sqlite(databasePath) +export async function getWorkOrderTypes(): Promise< + recordTypes.WorkOrderType[] +> { + const database = await acquireConnection() const workOrderTypes: recordTypes.WorkOrderType[] = database .prepare( @@ -35,7 +37,7 @@ export function getWorkOrderTypes(): recordTypes.WorkOrderType[] { expectedOrderNumber += 1 } - database.close() + database.release() return workOrderTypes } diff --git a/helpers/lotOccupancyDB/getWorkOrders.d.ts b/helpers/lotOccupancyDB/getWorkOrders.d.ts index 9ca7a5a6..5ec13075 100644 --- a/helpers/lotOccupancyDB/getWorkOrders.d.ts +++ b/helpers/lotOccupancyDB/getWorkOrders.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; import type * as recordTypes from '../../types/recordTypes'; interface GetWorkOrdersFilters { workOrderTypeId?: number | string; @@ -15,8 +15,8 @@ interface GetWorkOrdersOptions { includeComments?: boolean; includeMilestones?: boolean; } -export declare function getWorkOrders(filters: GetWorkOrdersFilters, options?: GetWorkOrdersOptions, connectedDatabase?: sqlite.Database): { +export declare function getWorkOrders(filters: GetWorkOrdersFilters, options?: GetWorkOrdersOptions, connectedDatabase?: PoolConnection): Promise<{ count: number; workOrders: recordTypes.WorkOrder[]; -}; +}>; export default getWorkOrders; diff --git a/helpers/lotOccupancyDB/getWorkOrders.js b/helpers/lotOccupancyDB/getWorkOrders.js index 9e0eeaa8..543cce80 100644 --- a/helpers/lotOccupancyDB/getWorkOrders.js +++ b/helpers/lotOccupancyDB/getWorkOrders.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateIntegerToString, dateStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; import { getWorkOrderComments } from './getWorkOrderComments.js'; import { getLots } from './getLots.js'; @@ -56,11 +55,8 @@ function buildWhereClause(filters) { sqlParameters }; } -export function getWorkOrders(filters, options, connectedDatabase) { - const database = connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }); +export async function getWorkOrders(filters, options, connectedDatabase) { + const database = connectedDatabase ?? (await acquireConnection()); database.function('userFn_dateIntegerToString', dateIntegerToString); const { sqlWhereClause, sqlParameters } = buildWhereClause(filters); const count = database @@ -86,9 +82,7 @@ export function getWorkOrders(filters, options, connectedDatabase) { ' group by workOrderId) m on w.workOrderId = m.workOrderId') + sqlWhereClause + ' order by w.workOrderOpenDate desc, w.workOrderNumber desc' + - (options - ? ` limit ${options.limit} offset ${options.offset}` - : '')) + (options ? ` limit ${options.limit} offset ${options.offset}` : '')) .all(sqlParameters); } if (options && @@ -97,25 +91,27 @@ export function getWorkOrders(filters, options, connectedDatabase) { options.includeMilestones)) { for (const workOrder of workOrders) { if (options.includeComments) { - workOrder.workOrderComments = getWorkOrderComments(workOrder.workOrderId, database); + workOrder.workOrderComments = await getWorkOrderComments(workOrder.workOrderId, database); } if (options.includeLotsAndLotOccupancies) { - workOrder.workOrderLots = getLots({ + const workOrderLotsResults = await getLots({ workOrderId: workOrder.workOrderId }, { limit: -1, offset: 0 - }, database).lots; - workOrder.workOrderLotOccupancies = getLotOccupancies({ + }, database); + workOrder.workOrderLots = workOrderLotsResults.lots; + const lotOccupancies = await getLotOccupancies({ workOrderId: workOrder.workOrderId }, { limit: -1, offset: 0, includeOccupants: true - }, database).lotOccupancies; + }, database); + workOrder.workOrderLotOccupancies = lotOccupancies.lotOccupancies; } if (options.includeMilestones) { - workOrder.workOrderMilestones = getWorkOrderMilestones({ + workOrder.workOrderMilestones = await getWorkOrderMilestones({ workOrderId: workOrder.workOrderId }, { orderBy: 'date' @@ -124,7 +120,7 @@ export function getWorkOrders(filters, options, connectedDatabase) { } } if (connectedDatabase === undefined) { - database.close(); + database.release(); } return { count, diff --git a/helpers/lotOccupancyDB/getWorkOrders.ts b/helpers/lotOccupancyDB/getWorkOrders.ts index c71357d4..0db774f2 100644 --- a/helpers/lotOccupancyDB/getWorkOrders.ts +++ b/helpers/lotOccupancyDB/getWorkOrders.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/indent */ -import sqlite from 'better-sqlite3' -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { dateIntegerToString, @@ -99,19 +99,12 @@ function buildWhereClause(filters: GetWorkOrdersFilters): { } } -export function getWorkOrders( +export async function getWorkOrders( filters: GetWorkOrdersFilters, options?: GetWorkOrdersOptions, - connectedDatabase?: sqlite.Database -): { - count: number - workOrders: recordTypes.WorkOrder[] -} { - const database = - connectedDatabase ?? - sqlite(databasePath, { - readonly: true - }) + connectedDatabase?: PoolConnection +): Promise<{ count: number; workOrders: recordTypes.WorkOrder[] }> { + const database = connectedDatabase ?? (await acquireConnection()) database.function('userFn_dateIntegerToString', dateIntegerToString) @@ -145,9 +138,7 @@ export function getWorkOrders( ' group by workOrderId) m on w.workOrderId = m.workOrderId') + sqlWhereClause + ' order by w.workOrderOpenDate desc, w.workOrderNumber desc' + - (options - ? ` limit ${options.limit} offset ${options.offset}` - : '') + (options ? ` limit ${options.limit} offset ${options.offset}` : '') ) .all(sqlParameters) } @@ -160,14 +151,14 @@ export function getWorkOrders( ) { for (const workOrder of workOrders) { if (options.includeComments) { - workOrder.workOrderComments = getWorkOrderComments( + workOrder.workOrderComments = await getWorkOrderComments( workOrder.workOrderId as number, database ) } if (options.includeLotsAndLotOccupancies) { - workOrder.workOrderLots = getLots( + const workOrderLotsResults = await getLots( { workOrderId: workOrder.workOrderId }, @@ -176,9 +167,11 @@ export function getWorkOrders( offset: 0 }, database - ).lots + ) - workOrder.workOrderLotOccupancies = getLotOccupancies( + workOrder.workOrderLots = workOrderLotsResults.lots + + const lotOccupancies = await getLotOccupancies( { workOrderId: workOrder.workOrderId }, @@ -188,11 +181,13 @@ export function getWorkOrders( includeOccupants: true }, database - ).lotOccupancies + ) + + workOrder.workOrderLotOccupancies = lotOccupancies.lotOccupancies } if (options.includeMilestones) { - workOrder.workOrderMilestones = getWorkOrderMilestones( + workOrder.workOrderMilestones = await getWorkOrderMilestones( { workOrderId: workOrder.workOrderId }, @@ -206,7 +201,7 @@ export function getWorkOrders( } if (connectedDatabase === undefined) { - database.close() + database.release() } return { diff --git a/helpers/lotOccupancyDB/moveFee.d.ts b/helpers/lotOccupancyDB/moveFee.d.ts index 1b6b7bee..775b6e1f 100644 --- a/helpers/lotOccupancyDB/moveFee.d.ts +++ b/helpers/lotOccupancyDB/moveFee.d.ts @@ -1,5 +1,5 @@ -export declare function moveFeeDown(feeId: number | string): boolean; -export declare function moveFeeDownToBottom(feeId: number | string): boolean; -export declare function moveFeeUp(feeId: number): boolean; -export declare function moveFeeUpToTop(feeId: number | string): boolean; +export declare function moveFeeDown(feeId: number | string): Promise; +export declare function moveFeeDownToBottom(feeId: number | string): Promise; +export declare function moveFeeUp(feeId: number): Promise; +export declare function moveFeeUpToTop(feeId: number | string): Promise; export default moveFeeUp; diff --git a/helpers/lotOccupancyDB/moveFee.js b/helpers/lotOccupancyDB/moveFee.js index 777e89d3..1f49b8c4 100644 --- a/helpers/lotOccupancyDB/moveFee.js +++ b/helpers/lotOccupancyDB/moveFee.js @@ -1,10 +1,9 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { getFee } from './getFee.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; -export function moveFeeDown(feeId) { - const database = sqlite(databasePath); - const currentFee = getFee(feeId, database); +export async function moveFeeDown(feeId) { + const database = await acquireConnection(); + const currentFee = await getFee(feeId, database); database .prepare(`update Fees set orderNumber = orderNumber - 1 @@ -13,51 +12,51 @@ export function moveFeeDown(feeId) { and orderNumber = ? + 1`) .run(currentFee.feeCategoryId, currentFee.orderNumber); const success = updateRecordOrderNumber('Fees', feeId, currentFee.orderNumber + 1, database); - database.close(); + database.release(); return success; } -export function moveFeeDownToBottom(feeId) { - const database = sqlite(databasePath); - const currentFee = getFee(feeId, database); +export async function moveFeeDownToBottom(feeId) { + const database = await acquireConnection(); + const currentFee = await getFee(feeId, database); const maxOrderNumber = database .prepare(`select max(orderNumber) as maxOrderNumber - from Fees - where recordDelete_timeMillis is null - and feeCategoryId = ?`) + from Fees + where recordDelete_timeMillis is null + and feeCategoryId = ?`) .get(currentFee.feeCategoryId).maxOrderNumber; if (currentFee.orderNumber !== maxOrderNumber) { updateRecordOrderNumber('Fees', feeId, maxOrderNumber + 1, database); database .prepare(`update Fees - set orderNumber = orderNumber - 1 - where recordDelete_timeMillis is null - and feeCategoryId = ? and orderNumber > ?`) + set orderNumber = orderNumber - 1 + where recordDelete_timeMillis is null + and feeCategoryId = ? and orderNumber > ?`) .run(currentFee.feeCategoryId, currentFee.orderNumber); } - database.close(); + database.release(); return true; } -export function moveFeeUp(feeId) { - const database = sqlite(databasePath); - const currentFee = getFee(feeId, database); +export async function moveFeeUp(feeId) { + const database = await acquireConnection(); + const currentFee = await getFee(feeId, database); if (currentFee.orderNumber <= 0) { - database.close(); + database.release(); return true; } database .prepare(`update Fees - set orderNumber = orderNumber + 1 - where recordDelete_timeMillis is null - and feeCategoryId = ? - and orderNumber = ? - 1`) + set orderNumber = orderNumber + 1 + where recordDelete_timeMillis is null + and feeCategoryId = ? + and orderNumber = ? - 1`) .run(currentFee.feeCategoryId, currentFee.orderNumber); const success = updateRecordOrderNumber('Fees', feeId, currentFee.orderNumber - 1, database); - database.close(); + database.release(); return success; } -export function moveFeeUpToTop(feeId) { - const database = sqlite(databasePath); - const currentFee = getFee(feeId, database); +export async function moveFeeUpToTop(feeId) { + const database = await acquireConnection(); + const currentFee = await getFee(feeId, database); if (currentFee.orderNumber > 0) { updateRecordOrderNumber('Fees', feeId, -1, database); database @@ -68,7 +67,7 @@ export function moveFeeUpToTop(feeId) { and orderNumber < ?`) .run(currentFee.feeCategoryId, currentFee.orderNumber); } - database.close(); + database.release(); return true; } export default moveFeeUp; diff --git a/helpers/lotOccupancyDB/moveFee.ts b/helpers/lotOccupancyDB/moveFee.ts index 9fd7989c..94072b58 100644 --- a/helpers/lotOccupancyDB/moveFee.ts +++ b/helpers/lotOccupancyDB/moveFee.ts @@ -1,14 +1,12 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { getFee } from './getFee.js' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' -export function moveFeeDown(feeId: number | string): boolean { - const database = sqlite(databasePath) +export async function moveFeeDown(feeId: number | string): Promise { + const database = await acquireConnection() - const currentFee = getFee(feeId, database) + const currentFee = await getFee(feeId, database) database .prepare( @@ -27,22 +25,24 @@ export function moveFeeDown(feeId: number | string): boolean { database ) - database.close() + database.release() return success } -export function moveFeeDownToBottom(feeId: number | string): boolean { - const database = sqlite(databasePath) +export async function moveFeeDownToBottom( + feeId: number | string +): Promise { + const database = await acquireConnection() - const currentFee = getFee(feeId, database) + const currentFee = await getFee(feeId, database) const maxOrderNumber: number = database .prepare( `select max(orderNumber) as maxOrderNumber - from Fees - where recordDelete_timeMillis is null - and feeCategoryId = ?` + from Fees + where recordDelete_timeMillis is null + and feeCategoryId = ?` ) .get(currentFee.feeCategoryId).maxOrderNumber @@ -52,35 +52,35 @@ export function moveFeeDownToBottom(feeId: number | string): boolean { database .prepare( `update Fees - set orderNumber = orderNumber - 1 - where recordDelete_timeMillis is null - and feeCategoryId = ? and orderNumber > ?` + set orderNumber = orderNumber - 1 + where recordDelete_timeMillis is null + and feeCategoryId = ? and orderNumber > ?` ) .run(currentFee.feeCategoryId, currentFee.orderNumber) } - database.close() + database.release() return true } -export function moveFeeUp(feeId: number): boolean { - const database = sqlite(databasePath) +export async function moveFeeUp(feeId: number): Promise { + const database = await acquireConnection() - const currentFee = getFee(feeId, database) + const currentFee = await getFee(feeId, database) if (currentFee.orderNumber! <= 0) { - database.close() + database.release() return true } database .prepare( `update Fees - set orderNumber = orderNumber + 1 - where recordDelete_timeMillis is null - and feeCategoryId = ? - and orderNumber = ? - 1` + set orderNumber = orderNumber + 1 + where recordDelete_timeMillis is null + and feeCategoryId = ? + and orderNumber = ? - 1` ) .run(currentFee.feeCategoryId, currentFee.orderNumber) @@ -91,15 +91,15 @@ export function moveFeeUp(feeId: number): boolean { database ) - database.close() + database.release() return success } -export function moveFeeUpToTop(feeId: number | string): boolean { - const database = sqlite(databasePath) +export async function moveFeeUpToTop(feeId: number | string): Promise { + const database = await acquireConnection() - const currentFee = getFee(feeId, database) + const currentFee = await getFee(feeId, database) if (currentFee.orderNumber! > 0) { updateRecordOrderNumber('Fees', feeId, -1, database) @@ -115,7 +115,7 @@ export function moveFeeUpToTop(feeId: number | string): boolean { .run(currentFee.feeCategoryId, currentFee.orderNumber) } - database.close() + database.release() return true } diff --git a/helpers/lotOccupancyDB/moveLotTypeField.d.ts b/helpers/lotOccupancyDB/moveLotTypeField.d.ts index 3e83ac14..42c06734 100644 --- a/helpers/lotOccupancyDB/moveLotTypeField.d.ts +++ b/helpers/lotOccupancyDB/moveLotTypeField.d.ts @@ -1,4 +1,4 @@ -export declare function moveLotTypeFieldDown(lotTypeFieldId: number | string): boolean; -export declare function moveLotTypeFieldDownToBottom(lotTypeFieldId: number | string): boolean; -export declare function moveLotTypeFieldUp(lotTypeFieldId: number | string): boolean; -export declare function moveLotTypeFieldUpToTop(lotTypeFieldId: number | string): boolean; +export declare function moveLotTypeFieldDown(lotTypeFieldId: number | string): Promise; +export declare function moveLotTypeFieldDownToBottom(lotTypeFieldId: number | string): Promise; +export declare function moveLotTypeFieldUp(lotTypeFieldId: number | string): Promise; +export declare function moveLotTypeFieldUpToTop(lotTypeFieldId: number | string): Promise; diff --git a/helpers/lotOccupancyDB/moveLotTypeField.js b/helpers/lotOccupancyDB/moveLotTypeField.js index 086c73c9..17d5a42e 100644 --- a/helpers/lotOccupancyDB/moveLotTypeField.js +++ b/helpers/lotOccupancyDB/moveLotTypeField.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; function getCurrentField(lotTypeFieldId, connectedDatabase) { @@ -8,8 +7,8 @@ function getCurrentField(lotTypeFieldId, connectedDatabase) { .get(lotTypeFieldId); return currentField; } -export function moveLotTypeFieldDown(lotTypeFieldId) { - const database = sqlite(databasePath); +export async function moveLotTypeFieldDown(lotTypeFieldId) { + const database = await acquireConnection(); const currentField = getCurrentField(lotTypeFieldId, database); database .prepare(`update LotTypeFields @@ -18,12 +17,12 @@ export function moveLotTypeFieldDown(lotTypeFieldId) { and lotTypeId = ? and orderNumber = ? + 1`) .run(currentField.lotTypeId, currentField.orderNumber); const success = updateRecordOrderNumber('LotTypeFields', lotTypeFieldId, currentField.orderNumber + 1, database); - database.close(); + database.release(); clearCacheByTableName('LotTypeFields'); return success; } -export function moveLotTypeFieldDownToBottom(lotTypeFieldId) { - const database = sqlite(databasePath); +export async function moveLotTypeFieldDownToBottom(lotTypeFieldId) { + const database = await acquireConnection(); const currentField = getCurrentField(lotTypeFieldId, database); const maxOrderNumber = database .prepare(`select max(orderNumber) as maxOrderNumber @@ -41,15 +40,15 @@ export function moveLotTypeFieldDownToBottom(lotTypeFieldId) { and orderNumber > ?`) .run(currentField.lotTypeId, currentField.orderNumber); } - database.close(); + database.release(); clearCacheByTableName('LotTypeFields'); return true; } -export function moveLotTypeFieldUp(lotTypeFieldId) { - const database = sqlite(databasePath); +export async function moveLotTypeFieldUp(lotTypeFieldId) { + const database = await acquireConnection(); const currentField = getCurrentField(lotTypeFieldId, database); if (currentField.orderNumber <= 0) { - database.close(); + database.release(); return true; } database @@ -60,12 +59,12 @@ export function moveLotTypeFieldUp(lotTypeFieldId) { and orderNumber = ? - 1`) .run(currentField.lotTypeId, currentField.orderNumber); const success = updateRecordOrderNumber('LotTypeFields', lotTypeFieldId, currentField.orderNumber - 1, database); - database.close(); + database.release(); clearCacheByTableName('LotTypeFields'); return success; } -export function moveLotTypeFieldUpToTop(lotTypeFieldId) { - const database = sqlite(databasePath); +export async function moveLotTypeFieldUpToTop(lotTypeFieldId) { + const database = await acquireConnection(); const currentField = getCurrentField(lotTypeFieldId, database); if (currentField.orderNumber > 0) { updateRecordOrderNumber('LotTypeFields', lotTypeFieldId, -1, database); @@ -77,7 +76,7 @@ export function moveLotTypeFieldUpToTop(lotTypeFieldId) { and orderNumber < ?`) .run(currentField.lotTypeId, currentField.orderNumber); } - database.close(); + database.release(); clearCacheByTableName('LotTypeFields'); return true; } diff --git a/helpers/lotOccupancyDB/moveLotTypeField.ts b/helpers/lotOccupancyDB/moveLotTypeField.ts index aa4fdc45..5ae62df9 100644 --- a/helpers/lotOccupancyDB/moveLotTypeField.ts +++ b/helpers/lotOccupancyDB/moveLotTypeField.ts @@ -1,13 +1,12 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { clearCacheByTableName } from '../functions.cache.js' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' function getCurrentField( lotTypeFieldId: number | string, - connectedDatabase: sqlite.Database + connectedDatabase: PoolConnection ): { lotTypeId?: number; orderNumber: number } { const currentField: { lotTypeId?: number; orderNumber: number } = connectedDatabase @@ -19,8 +18,8 @@ function getCurrentField( return currentField } -export function moveLotTypeFieldDown(lotTypeFieldId: number | string): boolean { - const database = sqlite(databasePath) +export async function moveLotTypeFieldDown(lotTypeFieldId: number | string): Promise { + const database = await acquireConnection() const currentField = getCurrentField(lotTypeFieldId, database) @@ -40,17 +39,17 @@ export function moveLotTypeFieldDown(lotTypeFieldId: number | string): boolean { database ) - database.close() + database.release() clearCacheByTableName('LotTypeFields') return success } -export function moveLotTypeFieldDownToBottom( +export async function moveLotTypeFieldDownToBottom( lotTypeFieldId: number | string -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentField = getCurrentField(lotTypeFieldId, database) @@ -82,20 +81,20 @@ export function moveLotTypeFieldDownToBottom( .run(currentField.lotTypeId, currentField.orderNumber) } - database.close() + database.release() clearCacheByTableName('LotTypeFields') return true } -export function moveLotTypeFieldUp(lotTypeFieldId: number | string): boolean { - const database = sqlite(databasePath) +export async function moveLotTypeFieldUp(lotTypeFieldId: number | string): Promise { + const database = await acquireConnection() const currentField = getCurrentField(lotTypeFieldId, database) if (currentField.orderNumber <= 0) { - database.close() + database.release() return true } @@ -116,17 +115,17 @@ export function moveLotTypeFieldUp(lotTypeFieldId: number | string): boolean { database ) - database.close() + database.release() clearCacheByTableName('LotTypeFields') return success } -export function moveLotTypeFieldUpToTop( +export async function moveLotTypeFieldUpToTop( lotTypeFieldId: number | string -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentField = getCurrentField(lotTypeFieldId, database) @@ -144,7 +143,7 @@ export function moveLotTypeFieldUpToTop( .run(currentField.lotTypeId, currentField.orderNumber) } - database.close() + database.release() clearCacheByTableName('LotTypeFields') diff --git a/helpers/lotOccupancyDB/moveOccupancyTypeField.d.ts b/helpers/lotOccupancyDB/moveOccupancyTypeField.d.ts index 2b874482..eaddccbe 100644 --- a/helpers/lotOccupancyDB/moveOccupancyTypeField.d.ts +++ b/helpers/lotOccupancyDB/moveOccupancyTypeField.d.ts @@ -1,4 +1,4 @@ -export declare function moveOccupancyTypeFieldDown(occupancyTypeFieldId: number): boolean; -export declare function moveOccupancyTypeFieldDownToBottom(occupancyTypeFieldId: number): boolean; -export declare function moveOccupancyTypeFieldUp(occupancyTypeFieldId: number): boolean; -export declare function moveOccupancyTypeFieldUpToTop(occupancyTypeFieldId: number): boolean; +export declare function moveOccupancyTypeFieldDown(occupancyTypeFieldId: number): Promise; +export declare function moveOccupancyTypeFieldDownToBottom(occupancyTypeFieldId: number): Promise; +export declare function moveOccupancyTypeFieldUp(occupancyTypeFieldId: number): Promise; +export declare function moveOccupancyTypeFieldUpToTop(occupancyTypeFieldId: number): Promise; diff --git a/helpers/lotOccupancyDB/moveOccupancyTypeField.js b/helpers/lotOccupancyDB/moveOccupancyTypeField.js index dca26b22..77ba3645 100644 --- a/helpers/lotOccupancyDB/moveOccupancyTypeField.js +++ b/helpers/lotOccupancyDB/moveOccupancyTypeField.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; function getCurrentField(occupancyTypeFieldId, connectedDatabase) { @@ -10,8 +9,8 @@ function getCurrentField(occupancyTypeFieldId, connectedDatabase) { .get(occupancyTypeFieldId); return currentField; } -export function moveOccupancyTypeFieldDown(occupancyTypeFieldId) { - const database = sqlite(databasePath); +export async function moveOccupancyTypeFieldDown(occupancyTypeFieldId) { + const database = await acquireConnection(); const currentField = getCurrentField(occupancyTypeFieldId, database); database .prepare('update OccupancyTypeFields' + @@ -23,12 +22,12 @@ export function moveOccupancyTypeFieldDown(occupancyTypeFieldId) { ' and orderNumber = ? + 1') .run(currentField.orderNumber); const success = updateRecordOrderNumber('OccupancyTypeFields', occupancyTypeFieldId, currentField.orderNumber + 1, database); - database.close(); + database.release(); clearCacheByTableName('OccupancyTypeFields'); return success; } -export function moveOccupancyTypeFieldDownToBottom(occupancyTypeFieldId) { - const database = sqlite(databasePath); +export async function moveOccupancyTypeFieldDownToBottom(occupancyTypeFieldId) { + const database = await acquireConnection(); const currentField = getCurrentField(occupancyTypeFieldId, database); const occupancyTypeParameters = []; if (currentField.occupancyTypeId) { @@ -55,15 +54,15 @@ export function moveOccupancyTypeFieldDownToBottom(occupancyTypeFieldId) { ' and orderNumber > ?') .run(occupancyTypeParameters); } - database.close(); + database.release(); clearCacheByTableName('OccupancyTypeFields'); return true; } -export function moveOccupancyTypeFieldUp(occupancyTypeFieldId) { - const database = sqlite(databasePath); +export async function moveOccupancyTypeFieldUp(occupancyTypeFieldId) { + const database = await acquireConnection(); const currentField = getCurrentField(occupancyTypeFieldId, database); if (currentField.orderNumber <= 0) { - database.close(); + database.release(); return true; } database @@ -76,12 +75,12 @@ export function moveOccupancyTypeFieldUp(occupancyTypeFieldId) { ' and orderNumber = ? - 1') .run(currentField.orderNumber); const success = updateRecordOrderNumber('OccupancyTypeFields', occupancyTypeFieldId, currentField.orderNumber - 1, database); - database.close(); + database.release(); clearCacheByTableName('OccupancyTypeFields'); return success; } -export function moveOccupancyTypeFieldUpToTop(occupancyTypeFieldId) { - const database = sqlite(databasePath); +export async function moveOccupancyTypeFieldUpToTop(occupancyTypeFieldId) { + const database = await acquireConnection(); const currentField = getCurrentField(occupancyTypeFieldId, database); if (currentField.orderNumber > 0) { updateRecordOrderNumber('OccupancyTypeFields', occupancyTypeFieldId, -1, database); @@ -100,7 +99,7 @@ export function moveOccupancyTypeFieldUpToTop(occupancyTypeFieldId) { ' and orderNumber < ?') .run(occupancyTypeParameters); } - database.close(); + database.release(); clearCacheByTableName('OccupancyTypeFields'); return true; } diff --git a/helpers/lotOccupancyDB/moveOccupancyTypeField.ts b/helpers/lotOccupancyDB/moveOccupancyTypeField.ts index 232b2ee3..fc969548 100644 --- a/helpers/lotOccupancyDB/moveOccupancyTypeField.ts +++ b/helpers/lotOccupancyDB/moveOccupancyTypeField.ts @@ -1,13 +1,14 @@ import sqlite from 'better-sqlite3' -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' +import type { PoolConnection } from 'better-sqlite-pool' import { clearCacheByTableName } from '../functions.cache.js' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' function getCurrentField( occupancyTypeFieldId: number, - connectedDatabase: sqlite.Database + connectedDatabase: PoolConnection ): { occupancyTypeId?: number; orderNumber: number } { const currentField: { occupancyTypeId?: number; orderNumber: number } = connectedDatabase @@ -21,10 +22,10 @@ function getCurrentField( return currentField } -export function moveOccupancyTypeFieldDown( +export async function moveOccupancyTypeFieldDown( occupancyTypeFieldId: number -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentField = getCurrentField(occupancyTypeFieldId, database) @@ -47,17 +48,17 @@ export function moveOccupancyTypeFieldDown( database ) - database.close() + database.release() clearCacheByTableName('OccupancyTypeFields') return success } -export function moveOccupancyTypeFieldDownToBottom( +export async function moveOccupancyTypeFieldDownToBottom( occupancyTypeFieldId: number -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentField = getCurrentField(occupancyTypeFieldId, database) @@ -101,22 +102,22 @@ export function moveOccupancyTypeFieldDownToBottom( .run(occupancyTypeParameters) } - database.close() + database.release() clearCacheByTableName('OccupancyTypeFields') return true } -export function moveOccupancyTypeFieldUp( +export async function moveOccupancyTypeFieldUp( occupancyTypeFieldId: number -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentField = getCurrentField(occupancyTypeFieldId, database) if (currentField.orderNumber <= 0) { - database.close() + database.release() return true } @@ -139,17 +140,17 @@ export function moveOccupancyTypeFieldUp( database ) - database.close() + database.release() clearCacheByTableName('OccupancyTypeFields') return success } -export function moveOccupancyTypeFieldUpToTop( +export async function moveOccupancyTypeFieldUpToTop( occupancyTypeFieldId: number -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentField = getCurrentField(occupancyTypeFieldId, database) @@ -182,7 +183,7 @@ export function moveOccupancyTypeFieldUpToTop( .run(occupancyTypeParameters) } - database.close() + database.release() clearCacheByTableName('OccupancyTypeFields') diff --git a/helpers/lotOccupancyDB/moveOccupancyTypePrintDown.d.ts b/helpers/lotOccupancyDB/moveOccupancyTypePrintDown.d.ts index 6472adb9..64d29428 100644 --- a/helpers/lotOccupancyDB/moveOccupancyTypePrintDown.d.ts +++ b/helpers/lotOccupancyDB/moveOccupancyTypePrintDown.d.ts @@ -1,3 +1,3 @@ -export declare function moveOccupancyTypePrintDown(occupancyTypeId: number | string, printEJS: string): boolean; -export declare function moveOccupancyTypePrintDownToBottom(occupancyTypeId: number | string, printEJS: string): boolean; +export declare function moveOccupancyTypePrintDown(occupancyTypeId: number | string, printEJS: string): Promise; +export declare function moveOccupancyTypePrintDownToBottom(occupancyTypeId: number | string, printEJS: string): Promise; export default moveOccupancyTypePrintDown; diff --git a/helpers/lotOccupancyDB/moveOccupancyTypePrintDown.js b/helpers/lotOccupancyDB/moveOccupancyTypePrintDown.js index 6c604cc4..969b78ec 100644 --- a/helpers/lotOccupancyDB/moveOccupancyTypePrintDown.js +++ b/helpers/lotOccupancyDB/moveOccupancyTypePrintDown.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export function moveOccupancyTypePrintDown(occupancyTypeId, printEJS) { - const database = sqlite(databasePath); +export async function moveOccupancyTypePrintDown(occupancyTypeId, printEJS) { + const database = await acquireConnection(); const currentOrderNumber = database .prepare('select orderNumber from OccupancyTypePrints where occupancyTypeId = ? and printEJS = ?') .get(occupancyTypeId, printEJS).orderNumber; @@ -16,12 +15,12 @@ export function moveOccupancyTypePrintDown(occupancyTypeId, printEJS) { const result = database .prepare('update OccupancyTypePrints set orderNumber = ? + 1 where occupancyTypeId = ? and printEJS = ?') .run(currentOrderNumber, occupancyTypeId, printEJS); - database.close(); + database.release(); clearCacheByTableName('OccupancyTypePrints'); return result.changes > 0; } -export function moveOccupancyTypePrintDownToBottom(occupancyTypeId, printEJS) { - const database = sqlite(databasePath); +export async function moveOccupancyTypePrintDownToBottom(occupancyTypeId, printEJS) { + const database = await acquireConnection(); const currentOrderNumber = database .prepare('select orderNumber from OccupancyTypePrints where occupancyTypeId = ? and printEJS = ?') .get(occupancyTypeId, printEJS).orderNumber; @@ -46,7 +45,7 @@ export function moveOccupancyTypePrintDownToBottom(occupancyTypeId, printEJS) { and orderNumber > ?`) .run(occupancyTypeId, currentOrderNumber); } - database.close(); + database.release(); clearCacheByTableName('OccupancyTypePrints'); return true; } diff --git a/helpers/lotOccupancyDB/moveOccupancyTypePrintDown.ts b/helpers/lotOccupancyDB/moveOccupancyTypePrintDown.ts index ec0591ea..1fb62b4c 100644 --- a/helpers/lotOccupancyDB/moveOccupancyTypePrintDown.ts +++ b/helpers/lotOccupancyDB/moveOccupancyTypePrintDown.ts @@ -1,14 +1,12 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { clearCacheByTableName } from '../functions.cache.js' -export function moveOccupancyTypePrintDown( +export async function moveOccupancyTypePrintDown( occupancyTypeId: number | string, printEJS: string -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentOrderNumber = database .prepare( @@ -32,18 +30,18 @@ export function moveOccupancyTypePrintDown( ) .run(currentOrderNumber, occupancyTypeId, printEJS) - database.close() + database.release() clearCacheByTableName('OccupancyTypePrints') return result.changes > 0 } -export function moveOccupancyTypePrintDownToBottom( +export async function moveOccupancyTypePrintDownToBottom( occupancyTypeId: number | string, printEJS: string -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentOrderNumber = database .prepare( @@ -81,7 +79,7 @@ export function moveOccupancyTypePrintDownToBottom( .run(occupancyTypeId, currentOrderNumber) } - database.close() + database.release() clearCacheByTableName('OccupancyTypePrints') diff --git a/helpers/lotOccupancyDB/moveOccupancyTypePrintUp.d.ts b/helpers/lotOccupancyDB/moveOccupancyTypePrintUp.d.ts index 26022459..49787bfc 100644 --- a/helpers/lotOccupancyDB/moveOccupancyTypePrintUp.d.ts +++ b/helpers/lotOccupancyDB/moveOccupancyTypePrintUp.d.ts @@ -1,3 +1,3 @@ -export declare function moveOccupancyTypePrintUp(occupancyTypeId: number | string, printEJS: string): boolean; -export declare function moveOccupancyTypePrintUpToTop(occupancyTypeId: number | string, printEJS: string): boolean; +export declare function moveOccupancyTypePrintUp(occupancyTypeId: number | string, printEJS: string): Promise; +export declare function moveOccupancyTypePrintUpToTop(occupancyTypeId: number | string, printEJS: string): Promise; export default moveOccupancyTypePrintUp; diff --git a/helpers/lotOccupancyDB/moveOccupancyTypePrintUp.js b/helpers/lotOccupancyDB/moveOccupancyTypePrintUp.js index 0d789027..edd8b0a4 100644 --- a/helpers/lotOccupancyDB/moveOccupancyTypePrintUp.js +++ b/helpers/lotOccupancyDB/moveOccupancyTypePrintUp.js @@ -1,13 +1,12 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export function moveOccupancyTypePrintUp(occupancyTypeId, printEJS) { - const database = sqlite(databasePath); +export async function moveOccupancyTypePrintUp(occupancyTypeId, printEJS) { + const database = await acquireConnection(); const currentOrderNumber = database .prepare('select orderNumber from OccupancyTypePrints where occupancyTypeId = ? and printEJS = ?') .get(occupancyTypeId, printEJS).orderNumber; if (currentOrderNumber <= 0) { - database.close(); + database.release(); return true; } database @@ -20,12 +19,12 @@ export function moveOccupancyTypePrintUp(occupancyTypeId, printEJS) { const result = database .prepare('update OccupancyTypePrints set orderNumber = ? - 1 where occupancyTypeId = ? and printEJS = ?') .run(currentOrderNumber, occupancyTypeId, printEJS); - database.close(); + database.release(); clearCacheByTableName('OccupancyTypePrints'); return result.changes > 0; } -export function moveOccupancyTypePrintUpToTop(occupancyTypeId, printEJS) { - const database = sqlite(databasePath); +export async function moveOccupancyTypePrintUpToTop(occupancyTypeId, printEJS) { + const database = await acquireConnection(); const currentOrderNumber = database .prepare('select orderNumber from OccupancyTypePrints where occupancyTypeId = ? and printEJS = ?') .get(occupancyTypeId, printEJS).orderNumber; @@ -44,7 +43,7 @@ export function moveOccupancyTypePrintUpToTop(occupancyTypeId, printEJS) { and orderNumber < ?`) .run(occupancyTypeId, currentOrderNumber); } - database.close(); + database.release(); clearCacheByTableName('OccupancyTypePrints'); return true; } diff --git a/helpers/lotOccupancyDB/moveOccupancyTypePrintUp.ts b/helpers/lotOccupancyDB/moveOccupancyTypePrintUp.ts index f2adbf75..e0395532 100644 --- a/helpers/lotOccupancyDB/moveOccupancyTypePrintUp.ts +++ b/helpers/lotOccupancyDB/moveOccupancyTypePrintUp.ts @@ -1,14 +1,12 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { clearCacheByTableName } from '../functions.cache.js' -export function moveOccupancyTypePrintUp( +export async function moveOccupancyTypePrintUp( occupancyTypeId: number | string, printEJS: string -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentOrderNumber = database .prepare( @@ -17,7 +15,7 @@ export function moveOccupancyTypePrintUp( .get(occupancyTypeId, printEJS).orderNumber if (currentOrderNumber <= 0) { - database.close() + database.release() return true } @@ -37,18 +35,18 @@ export function moveOccupancyTypePrintUp( ) .run(currentOrderNumber, occupancyTypeId, printEJS) - database.close() + database.release() clearCacheByTableName('OccupancyTypePrints') return result.changes > 0 } -export function moveOccupancyTypePrintUpToTop( +export async function moveOccupancyTypePrintUpToTop( occupancyTypeId: number | string, printEJS: string -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentOrderNumber = database .prepare( @@ -77,7 +75,7 @@ export function moveOccupancyTypePrintUpToTop( .run(occupancyTypeId, currentOrderNumber) } - database.close() + database.release() clearCacheByTableName('OccupancyTypePrints') diff --git a/helpers/lotOccupancyDB/moveRecord.d.ts b/helpers/lotOccupancyDB/moveRecord.d.ts index 91862056..069eaa29 100644 --- a/helpers/lotOccupancyDB/moveRecord.d.ts +++ b/helpers/lotOccupancyDB/moveRecord.d.ts @@ -1,6 +1,6 @@ declare type RecordTable = 'FeeCategories' | 'LotOccupantTypes' | 'LotStatuses' | 'LotTypes' | 'OccupancyTypes' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes'; -export declare function moveRecordDown(recordTable: RecordTable, recordId: number): boolean; -export declare function moveRecordDownToBottom(recordTable: RecordTable, recordId: number): boolean; -export declare function moveRecordUp(recordTable: RecordTable, recordId: number): boolean; -export declare function moveRecordUpToTop(recordTable: RecordTable, recordId: number): boolean; +export declare function moveRecordDown(recordTable: RecordTable, recordId: number): Promise; +export declare function moveRecordDownToBottom(recordTable: RecordTable, recordId: number): Promise; +export declare function moveRecordUp(recordTable: RecordTable, recordId: number): Promise; +export declare function moveRecordUpToTop(recordTable: RecordTable, recordId: number): Promise; export {}; diff --git a/helpers/lotOccupancyDB/moveRecord.js b/helpers/lotOccupancyDB/moveRecord.js index e3a810b5..ed28bd44 100644 --- a/helpers/lotOccupancyDB/moveRecord.js +++ b/helpers/lotOccupancyDB/moveRecord.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; import { updateRecordOrderNumber } from './updateRecordOrderNumber.js'; const recordIdColumns = new Map(); @@ -18,8 +17,8 @@ function getCurrentOrderNumber(recordTable, recordId, database) { .get(recordId).orderNumber; return currentOrderNumber; } -export function moveRecordDown(recordTable, recordId) { - const database = sqlite(databasePath); +export async function moveRecordDown(recordTable, recordId) { + const database = await acquireConnection(); const currentOrderNumber = getCurrentOrderNumber(recordTable, recordId, database); database .prepare(`update ${recordTable} @@ -28,12 +27,12 @@ export function moveRecordDown(recordTable, recordId) { and orderNumber = ? + 1`) .run(currentOrderNumber); const success = updateRecordOrderNumber(recordTable, recordId, currentOrderNumber + 1, database); - database.close(); + database.release(); clearCacheByTableName(recordTable); return success; } -export function moveRecordDownToBottom(recordTable, recordId) { - const database = sqlite(databasePath); +export async function moveRecordDownToBottom(recordTable, recordId) { + const database = await acquireConnection(); const currentOrderNumber = getCurrentOrderNumber(recordTable, recordId, database); const maxOrderNumber = database .prepare(`select max(orderNumber) as maxOrderNumber @@ -49,15 +48,15 @@ export function moveRecordDownToBottom(recordTable, recordId) { and orderNumber > ?`) .run(currentOrderNumber); } - database.close(); + database.release(); clearCacheByTableName(recordTable); return true; } -export function moveRecordUp(recordTable, recordId) { - const database = sqlite(databasePath); +export async function moveRecordUp(recordTable, recordId) { + const database = await acquireConnection(); const currentOrderNumber = getCurrentOrderNumber(recordTable, recordId, database); if (currentOrderNumber <= 0) { - database.close(); + database.release(); return true; } database @@ -67,12 +66,12 @@ export function moveRecordUp(recordTable, recordId) { and orderNumber = ? - 1`) .run(currentOrderNumber); const success = updateRecordOrderNumber(recordTable, recordId, currentOrderNumber - 1, database); - database.close(); + database.release(); clearCacheByTableName(recordTable); return success; } -export function moveRecordUpToTop(recordTable, recordId) { - const database = sqlite(databasePath); +export async function moveRecordUpToTop(recordTable, recordId) { + const database = await acquireConnection(); const currentOrderNumber = getCurrentOrderNumber(recordTable, recordId, database); if (currentOrderNumber > 0) { updateRecordOrderNumber(recordTable, recordId, -1, database); @@ -83,7 +82,7 @@ export function moveRecordUpToTop(recordTable, recordId) { and orderNumber < ?`) .run(currentOrderNumber); } - database.close(); + database.release(); clearCacheByTableName(recordTable); return true; } diff --git a/helpers/lotOccupancyDB/moveRecord.ts b/helpers/lotOccupancyDB/moveRecord.ts index 6cbb1904..60083b8a 100644 --- a/helpers/lotOccupancyDB/moveRecord.ts +++ b/helpers/lotOccupancyDB/moveRecord.ts @@ -1,6 +1,6 @@ import sqlite from 'better-sqlite3' -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { clearCacheByTableName } from '../functions.cache.js' import { updateRecordOrderNumber } from './updateRecordOrderNumber.js' @@ -38,11 +38,11 @@ function getCurrentOrderNumber( return currentOrderNumber } -export function moveRecordDown( +export async function moveRecordDown( recordTable: RecordTable, recordId: number -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentOrderNumber = getCurrentOrderNumber( recordTable, @@ -66,18 +66,18 @@ export function moveRecordDown( database ) - database.close() + database.release() clearCacheByTableName(recordTable) return success } -export function moveRecordDownToBottom( +export async function moveRecordDownToBottom( recordTable: RecordTable, recordId: number -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentOrderNumber = getCurrentOrderNumber( recordTable, @@ -106,18 +106,18 @@ export function moveRecordDownToBottom( .run(currentOrderNumber) } - database.close() + database.release() clearCacheByTableName(recordTable) return true } -export function moveRecordUp( +export async function moveRecordUp( recordTable: RecordTable, recordId: number -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentOrderNumber = getCurrentOrderNumber( recordTable, @@ -126,7 +126,7 @@ export function moveRecordUp( ) if (currentOrderNumber <= 0) { - database.close() + database.release() return true } @@ -146,18 +146,18 @@ export function moveRecordUp( database ) - database.close() + database.release() clearCacheByTableName(recordTable) return success } -export function moveRecordUpToTop( +export async function moveRecordUpToTop( recordTable: RecordTable, recordId: number -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const currentOrderNumber = getCurrentOrderNumber( recordTable, @@ -178,7 +178,7 @@ export function moveRecordUpToTop( .run(currentOrderNumber) } - database.close() + database.release() clearCacheByTableName(recordTable) diff --git a/helpers/lotOccupancyDB/pool.d.ts b/helpers/lotOccupancyDB/pool.d.ts new file mode 100644 index 00000000..2b34df5d --- /dev/null +++ b/helpers/lotOccupancyDB/pool.d.ts @@ -0,0 +1,2 @@ +import { PoolConnection } from 'better-sqlite-pool'; +export declare function acquireConnection(): Promise; diff --git a/helpers/lotOccupancyDB/pool.js b/helpers/lotOccupancyDB/pool.js new file mode 100644 index 00000000..8e8eb1f6 --- /dev/null +++ b/helpers/lotOccupancyDB/pool.js @@ -0,0 +1,6 @@ +import { Pool } from 'better-sqlite-pool'; +import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +const pool = new Pool(databasePath); +export async function acquireConnection() { + return await pool.acquire(); +} diff --git a/helpers/lotOccupancyDB/pool.ts b/helpers/lotOccupancyDB/pool.ts new file mode 100644 index 00000000..78e92ab7 --- /dev/null +++ b/helpers/lotOccupancyDB/pool.ts @@ -0,0 +1,9 @@ +import { Pool, PoolConnection } from 'better-sqlite-pool' + +import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' + +const pool = new Pool(databasePath) + +export async function acquireConnection(): Promise { + return await pool.acquire() +} diff --git a/helpers/lotOccupancyDB/reopenWorkOrder.d.ts b/helpers/lotOccupancyDB/reopenWorkOrder.d.ts index 4c3d2305..ae0ba5e3 100644 --- a/helpers/lotOccupancyDB/reopenWorkOrder.d.ts +++ b/helpers/lotOccupancyDB/reopenWorkOrder.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function reopenWorkOrder(workOrderId: number | string, requestSession: recordTypes.PartialSession): boolean; +export declare function reopenWorkOrder(workOrderId: number | string, requestSession: recordTypes.PartialSession): Promise; export default reopenWorkOrder; diff --git a/helpers/lotOccupancyDB/reopenWorkOrder.js b/helpers/lotOccupancyDB/reopenWorkOrder.js index 4a5ddc38..41836c35 100644 --- a/helpers/lotOccupancyDB/reopenWorkOrder.js +++ b/helpers/lotOccupancyDB/reopenWorkOrder.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function reopenWorkOrder(workOrderId, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function reopenWorkOrder(workOrderId, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update WorkOrders @@ -11,7 +10,7 @@ export function reopenWorkOrder(workOrderId, requestSession) { where workOrderId = ? and workOrderCloseDate is not null`) .run(requestSession.user.userName, rightNowMillis, workOrderId); - database.close(); + database.release(); return result.changes > 0; } export default reopenWorkOrder; diff --git a/helpers/lotOccupancyDB/reopenWorkOrder.ts b/helpers/lotOccupancyDB/reopenWorkOrder.ts index db766b14..21453603 100644 --- a/helpers/lotOccupancyDB/reopenWorkOrder.ts +++ b/helpers/lotOccupancyDB/reopenWorkOrder.ts @@ -1,14 +1,12 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' -export function reopenWorkOrder( +export async function reopenWorkOrder( workOrderId: number | string, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -23,7 +21,7 @@ export function reopenWorkOrder( ) .run(requestSession.user!.userName, rightNowMillis, workOrderId) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/reopenWorkOrderMilestone.d.ts b/helpers/lotOccupancyDB/reopenWorkOrderMilestone.d.ts index 635b723e..6ff3dd29 100644 --- a/helpers/lotOccupancyDB/reopenWorkOrderMilestone.d.ts +++ b/helpers/lotOccupancyDB/reopenWorkOrderMilestone.d.ts @@ -1,3 +1,3 @@ import type * as recordTypes from '../../types/recordTypes'; -export declare function reopenWorkOrderMilestone(workOrderMilestoneId: number | string, requestSession: recordTypes.PartialSession): boolean; +export declare function reopenWorkOrderMilestone(workOrderMilestoneId: number | string, requestSession: recordTypes.PartialSession): Promise; export default reopenWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/reopenWorkOrderMilestone.js b/helpers/lotOccupancyDB/reopenWorkOrderMilestone.js index f337bf24..e197d10c 100644 --- a/helpers/lotOccupancyDB/reopenWorkOrderMilestone.js +++ b/helpers/lotOccupancyDB/reopenWorkOrderMilestone.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function reopenWorkOrderMilestone(workOrderMilestoneId, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function reopenWorkOrderMilestone(workOrderMilestoneId, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update WorkOrderMilestones @@ -12,7 +11,7 @@ export function reopenWorkOrderMilestone(workOrderMilestoneId, requestSession) { where workOrderMilestoneId = ? and workOrderMilestoneCompletionDate is not null`) .run(requestSession.user.userName, rightNowMillis, workOrderMilestoneId); - database.close(); + database.release(); return result.changes > 0; } export default reopenWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/reopenWorkOrderMilestone.ts b/helpers/lotOccupancyDB/reopenWorkOrderMilestone.ts index 5debb6d6..08e203f7 100644 --- a/helpers/lotOccupancyDB/reopenWorkOrderMilestone.ts +++ b/helpers/lotOccupancyDB/reopenWorkOrderMilestone.ts @@ -1,14 +1,12 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' -export function reopenWorkOrderMilestone( +export async function reopenWorkOrderMilestone( workOrderMilestoneId: number | string, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -24,7 +22,7 @@ export function reopenWorkOrderMilestone( ) .run(requestSession.user!.userName, rightNowMillis, workOrderMilestoneId) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/updateFee.d.ts b/helpers/lotOccupancyDB/updateFee.d.ts index d541db81..4f3cc663 100644 --- a/helpers/lotOccupancyDB/updateFee.d.ts +++ b/helpers/lotOccupancyDB/updateFee.d.ts @@ -14,5 +14,5 @@ interface UpdateFeeForm { quantityUnit?: string; isRequired: '' | '1'; } -export declare function updateFee(feeForm: UpdateFeeForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateFee(feeForm: UpdateFeeForm, requestSession: recordTypes.PartialSession): Promise; export default updateFee; diff --git a/helpers/lotOccupancyDB/updateFee.js b/helpers/lotOccupancyDB/updateFee.js index 9226287b..fa9e0fff 100644 --- a/helpers/lotOccupancyDB/updateFee.js +++ b/helpers/lotOccupancyDB/updateFee.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function updateFee(feeForm, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function updateFee(feeForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update Fees @@ -22,7 +21,7 @@ export function updateFee(feeForm, requestSession) { where recordDelete_timeMillis is null and feeId = ?`) .run(feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, feeForm.occupancyTypeId === '' ? undefined : feeForm.occupancyTypeId, feeForm.lotTypeId === '' ? undefined : feeForm.lotTypeId, feeForm.feeAmount ?? undefined, feeForm.feeFunction ?? undefined, feeForm.taxAmount ?? undefined, feeForm.taxPercentage ?? undefined, feeForm.includeQuantity === '' ? 0 : 1, feeForm.quantityUnit, feeForm.isRequired === '' ? 0 : 1, requestSession.user.userName, rightNowMillis, feeForm.feeId); - database.close(); + database.release(); return result.changes > 0; } export default updateFee; diff --git a/helpers/lotOccupancyDB/updateFee.ts b/helpers/lotOccupancyDB/updateFee.ts index c7e27f4c..56037b1e 100644 --- a/helpers/lotOccupancyDB/updateFee.ts +++ b/helpers/lotOccupancyDB/updateFee.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' @@ -20,11 +18,11 @@ interface UpdateFeeForm { isRequired: '' | '1' } -export function updateFee( +export async function updateFee( feeForm: UpdateFeeForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -66,7 +64,7 @@ export function updateFee( feeForm.feeId ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/updateFeeCategory.d.ts b/helpers/lotOccupancyDB/updateFeeCategory.d.ts index 85cc4932..b4f6bd4a 100644 --- a/helpers/lotOccupancyDB/updateFeeCategory.d.ts +++ b/helpers/lotOccupancyDB/updateFeeCategory.d.ts @@ -3,5 +3,5 @@ interface UpdateFeeCategoryForm { feeCategoryId: number | string; feeCategory: string; } -export declare function updateFeeCategory(feeCategoryForm: UpdateFeeCategoryForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateFeeCategory(feeCategoryForm: UpdateFeeCategoryForm, requestSession: recordTypes.PartialSession): Promise; export default updateFeeCategory; diff --git a/helpers/lotOccupancyDB/updateFeeCategory.js b/helpers/lotOccupancyDB/updateFeeCategory.js index 8566a6f7..77ae09c0 100644 --- a/helpers/lotOccupancyDB/updateFeeCategory.js +++ b/helpers/lotOccupancyDB/updateFeeCategory.js @@ -1,6 +1,6 @@ import { updateRecord } from './updateRecord.js'; -export function updateFeeCategory(feeCategoryForm, requestSession) { - const success = updateRecord('FeeCategories', feeCategoryForm.feeCategoryId, feeCategoryForm.feeCategory, requestSession); +export async function updateFeeCategory(feeCategoryForm, requestSession) { + const success = await updateRecord('FeeCategories', feeCategoryForm.feeCategoryId, feeCategoryForm.feeCategory, requestSession); return success; } export default updateFeeCategory; diff --git a/helpers/lotOccupancyDB/updateFeeCategory.ts b/helpers/lotOccupancyDB/updateFeeCategory.ts index 33495af6..314c9799 100644 --- a/helpers/lotOccupancyDB/updateFeeCategory.ts +++ b/helpers/lotOccupancyDB/updateFeeCategory.ts @@ -7,11 +7,11 @@ interface UpdateFeeCategoryForm { feeCategory: string } -export function updateFeeCategory( +export async function updateFeeCategory( feeCategoryForm: UpdateFeeCategoryForm, requestSession: recordTypes.PartialSession -): boolean { - const success = updateRecord( +): Promise { + const success = await updateRecord( 'FeeCategories', feeCategoryForm.feeCategoryId, feeCategoryForm.feeCategory, diff --git a/helpers/lotOccupancyDB/updateLot.d.ts b/helpers/lotOccupancyDB/updateLot.d.ts index 4ad6a94f..bff7b074 100644 --- a/helpers/lotOccupancyDB/updateLot.d.ts +++ b/helpers/lotOccupancyDB/updateLot.d.ts @@ -11,6 +11,6 @@ interface UpdateLotForm { lotTypeFieldIds?: string; [lotFieldValue_lotTypeFieldId: string]: unknown; } -export declare function updateLot(lotForm: UpdateLotForm, requestSession: recordTypes.PartialSession): boolean; -export declare function updateLotStatus(lotId: number | string, lotStatusId: number | string, requestSession: recordTypes.PartialSession): boolean; +export declare function updateLot(lotForm: UpdateLotForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateLotStatus(lotId: number | string, lotStatusId: number | string, requestSession: recordTypes.PartialSession): Promise; export default updateLot; diff --git a/helpers/lotOccupancyDB/updateLot.js b/helpers/lotOccupancyDB/updateLot.js index 4272ef30..66110d8c 100644 --- a/helpers/lotOccupancyDB/updateLot.js +++ b/helpers/lotOccupancyDB/updateLot.js @@ -1,55 +1,51 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { addOrUpdateLotField } from './addOrUpdateLotField.js'; import { deleteLotField } from './deleteLotField.js'; -export function updateLot(lotForm, requestSession) { - const database = sqlite(databasePath); +export async function updateLot(lotForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update Lots - set lotName = ?, - lotTypeId = ?, - lotStatusId = ?, - mapId = ?, - mapKey = ?, - lotLatitude = ?, - lotLongitude = ?, - recordUpdate_userName = ?, - recordUpdate_timeMillis = ? - where lotId = ? - and recordDelete_timeMillis is null`) + set lotName = ?, + lotTypeId = ?, + lotStatusId = ?, + mapId = ?, + mapKey = ?, + lotLatitude = ?, + lotLongitude = ?, + recordUpdate_userName = ?, + recordUpdate_timeMillis = ? + where lotId = ? + and recordDelete_timeMillis is null`) .run(lotForm.lotName, lotForm.lotTypeId, lotForm.lotStatusId === '' ? undefined : lotForm.lotStatusId, lotForm.mapId === '' ? undefined : lotForm.mapId, lotForm.mapKey, lotForm.lotLatitude === '' ? undefined : lotForm.lotLatitude, lotForm.lotLongitude === '' ? undefined : lotForm.lotLongitude, requestSession.user.userName, rightNowMillis, lotForm.lotId); if (result.changes > 0) { const lotTypeFieldIds = (lotForm.lotTypeFieldIds ?? '').split(','); for (const lotTypeFieldId of lotTypeFieldIds) { const lotFieldValue = lotForm['lotFieldValue_' + lotTypeFieldId]; - if (lotFieldValue && lotFieldValue !== '') { - addOrUpdateLotField({ + await (lotFieldValue && lotFieldValue !== '' + ? addOrUpdateLotField({ lotId: lotForm.lotId, lotTypeFieldId, lotFieldValue - }, requestSession, database); - } - else { - deleteLotField(lotForm.lotId, lotTypeFieldId, requestSession, database); - } + }, requestSession, database) + : deleteLotField(lotForm.lotId, lotTypeFieldId, requestSession, database)); } } - database.close(); + database.release(); return result.changes > 0; } -export function updateLotStatus(lotId, lotStatusId, requestSession) { - const database = sqlite(databasePath); +export async function updateLotStatus(lotId, lotStatusId, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update Lots - set lotStatusId = ?, - recordUpdate_userName = ?, - recordUpdate_timeMillis = ? - where lotId = ? - and recordDelete_timeMillis is null`) + set lotStatusId = ?, + recordUpdate_userName = ?, + recordUpdate_timeMillis = ? + where lotId = ? + and recordDelete_timeMillis is null`) .run(lotStatusId === '' ? undefined : lotStatusId, requestSession.user.userName, rightNowMillis, lotId); - database.close(); + database.release(); return result.changes > 0; } export default updateLot; diff --git a/helpers/lotOccupancyDB/updateLot.ts b/helpers/lotOccupancyDB/updateLot.ts index 5460f540..acc6070e 100644 --- a/helpers/lotOccupancyDB/updateLot.ts +++ b/helpers/lotOccupancyDB/updateLot.ts @@ -1,6 +1,5 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +/* eslint-disable @typescript-eslint/indent */ +import { acquireConnection } from './pool.js' import { addOrUpdateLotField } from './addOrUpdateLotField.js' import { deleteLotField } from './deleteLotField.js' @@ -23,28 +22,28 @@ interface UpdateLotForm { [lotFieldValue_lotTypeFieldId: string]: unknown } -export function updateLot( +export async function updateLot( lotForm: UpdateLotForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() const result = database .prepare( `update Lots - set lotName = ?, - lotTypeId = ?, - lotStatusId = ?, - mapId = ?, - mapKey = ?, - lotLatitude = ?, - lotLongitude = ?, - recordUpdate_userName = ?, - recordUpdate_timeMillis = ? - where lotId = ? - and recordDelete_timeMillis is null` + set lotName = ?, + lotTypeId = ?, + lotStatusId = ?, + mapId = ?, + mapKey = ?, + lotLatitude = ?, + lotLongitude = ?, + recordUpdate_userName = ?, + recordUpdate_timeMillis = ? + where lotId = ? + and recordDelete_timeMillis is null` ) .run( lotForm.lotName, @@ -65,44 +64,47 @@ export function updateLot( for (const lotTypeFieldId of lotTypeFieldIds) { const lotFieldValue = lotForm['lotFieldValue_' + lotTypeFieldId] as string - if (lotFieldValue && lotFieldValue !== '') { - addOrUpdateLotField( - { - lotId: lotForm.lotId, + await (lotFieldValue && lotFieldValue !== '' + ? addOrUpdateLotField( + { + lotId: lotForm.lotId, + lotTypeFieldId, + lotFieldValue + }, + requestSession, + database + ) + : deleteLotField( + lotForm.lotId, lotTypeFieldId, - lotFieldValue - }, - requestSession, - database - ) - } else { - deleteLotField(lotForm.lotId, lotTypeFieldId, requestSession, database) - } + requestSession, + database + )) } } - database.close() + database.release() return result.changes > 0 } -export function updateLotStatus( +export async function updateLotStatus( lotId: number | string, lotStatusId: number | string, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() const result = database .prepare( `update Lots - set lotStatusId = ?, - recordUpdate_userName = ?, - recordUpdate_timeMillis = ? - where lotId = ? - and recordDelete_timeMillis is null` + set lotStatusId = ?, + recordUpdate_userName = ?, + recordUpdate_timeMillis = ? + where lotId = ? + and recordDelete_timeMillis is null` ) .run( lotStatusId === '' ? undefined : lotStatusId, @@ -111,7 +113,7 @@ export function updateLotStatus( lotId ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/updateLotComment.d.ts b/helpers/lotOccupancyDB/updateLotComment.d.ts index 2510961b..42804280 100644 --- a/helpers/lotOccupancyDB/updateLotComment.d.ts +++ b/helpers/lotOccupancyDB/updateLotComment.d.ts @@ -5,5 +5,5 @@ interface UpdateLotCommentForm { lotCommentTimeString: string; lotComment: string; } -export declare function updateLotComment(commentForm: UpdateLotCommentForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateLotComment(commentForm: UpdateLotCommentForm, requestSession: recordTypes.PartialSession): Promise; export default updateLotComment; diff --git a/helpers/lotOccupancyDB/updateLotComment.js b/helpers/lotOccupancyDB/updateLotComment.js index 0f810bba..e9cb592c 100644 --- a/helpers/lotOccupancyDB/updateLotComment.js +++ b/helpers/lotOccupancyDB/updateLotComment.js @@ -1,9 +1,8 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateStringToInteger, timeStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function updateLotComment(commentForm, requestSession) { +export async function updateLotComment(commentForm, requestSession) { const rightNowMillis = Date.now(); - const database = sqlite(databasePath); + const database = await acquireConnection(); const result = database .prepare(`update LotComments set lotCommentDate = ?, @@ -14,7 +13,7 @@ export function updateLotComment(commentForm, requestSession) { where recordDelete_timeMillis is null and lotCommentId = ?`) .run(dateStringToInteger(commentForm.lotCommentDateString), timeStringToInteger(commentForm.lotCommentTimeString), commentForm.lotComment, requestSession.user.userName, rightNowMillis, commentForm.lotCommentId); - database.close(); + database.release(); return result.changes > 0; } export default updateLotComment; diff --git a/helpers/lotOccupancyDB/updateLotComment.ts b/helpers/lotOccupancyDB/updateLotComment.ts index f3cff1bb..80c5e68e 100644 --- a/helpers/lotOccupancyDB/updateLotComment.ts +++ b/helpers/lotOccupancyDB/updateLotComment.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { dateStringToInteger, @@ -16,13 +14,13 @@ interface UpdateLotCommentForm { lotComment: string } -export function updateLotComment( +export async function updateLotComment( commentForm: UpdateLotCommentForm, requestSession: recordTypes.PartialSession -): boolean { +): Promise { const rightNowMillis = Date.now() - const database = sqlite(databasePath) + const database = await acquireConnection() const result = database .prepare( @@ -44,7 +42,7 @@ export function updateLotComment( commentForm.lotCommentId ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/updateLotOccupancy.d.ts b/helpers/lotOccupancyDB/updateLotOccupancy.d.ts index 66b4c52f..4684c26a 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancy.d.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancy.d.ts @@ -8,5 +8,5 @@ interface UpdateLotOccupancyForm { occupancyTypeFieldIds?: string; [lotOccupancyFieldValue_occupancyTypeFieldId: string]: unknown; } -export declare function updateLotOccupancy(lotOccupancyForm: UpdateLotOccupancyForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateLotOccupancy(lotOccupancyForm: UpdateLotOccupancyForm, requestSession: recordTypes.PartialSession): Promise; export default updateLotOccupancy; diff --git a/helpers/lotOccupancyDB/updateLotOccupancy.js b/helpers/lotOccupancyDB/updateLotOccupancy.js index 182e722d..b3091ba2 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancy.js +++ b/helpers/lotOccupancyDB/updateLotOccupancy.js @@ -1,10 +1,9 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; import { addOrUpdateLotOccupancyField } from './addOrUpdateLotOccupancyField.js'; import { deleteLotOccupancyField } from './deleteLotOccupancyField.js'; -export function updateLotOccupancy(lotOccupancyForm, requestSession) { - const database = sqlite(databasePath); +export async function updateLotOccupancy(lotOccupancyForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update LotOccupancies @@ -23,19 +22,16 @@ export function updateLotOccupancy(lotOccupancyForm, requestSession) { const occupancyTypeFieldIds = (lotOccupancyForm.occupancyTypeFieldIds ?? '').split(','); for (const occupancyTypeFieldId of occupancyTypeFieldIds) { const lotOccupancyFieldValue = lotOccupancyForm['lotOccupancyFieldValue_' + occupancyTypeFieldId]; - if (lotOccupancyFieldValue && lotOccupancyFieldValue !== '') { - addOrUpdateLotOccupancyField({ + await (lotOccupancyFieldValue && lotOccupancyFieldValue !== '' + ? addOrUpdateLotOccupancyField({ lotOccupancyId: lotOccupancyForm.lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue - }, requestSession, database); - } - else { - deleteLotOccupancyField(lotOccupancyForm.lotOccupancyId, occupancyTypeFieldId, requestSession, database); - } + }, requestSession, database) + : deleteLotOccupancyField(lotOccupancyForm.lotOccupancyId, occupancyTypeFieldId, requestSession, database)); } } - database.close(); + database.release(); return result.changes > 0; } export default updateLotOccupancy; diff --git a/helpers/lotOccupancyDB/updateLotOccupancy.ts b/helpers/lotOccupancyDB/updateLotOccupancy.ts index 2d042c0d..8b78f1c2 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancy.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancy.ts @@ -1,6 +1,6 @@ -import sqlite from 'better-sqlite3' +/* eslint-disable @typescript-eslint/indent */ -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { dateStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js' @@ -22,11 +22,11 @@ interface UpdateLotOccupancyForm { [lotOccupancyFieldValue_occupancyTypeFieldId: string]: unknown } -export function updateLotOccupancy( +export async function updateLotOccupancy( lotOccupancyForm: UpdateLotOccupancyForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -64,28 +64,26 @@ export function updateLotOccupancy( 'lotOccupancyFieldValue_' + occupancyTypeFieldId ] as string - if (lotOccupancyFieldValue && lotOccupancyFieldValue !== '') { - addOrUpdateLotOccupancyField( - { - lotOccupancyId: lotOccupancyForm.lotOccupancyId, + await (lotOccupancyFieldValue && lotOccupancyFieldValue !== '' + ? addOrUpdateLotOccupancyField( + { + lotOccupancyId: lotOccupancyForm.lotOccupancyId, + occupancyTypeFieldId, + lotOccupancyFieldValue + }, + requestSession, + database + ) + : deleteLotOccupancyField( + lotOccupancyForm.lotOccupancyId, occupancyTypeFieldId, - lotOccupancyFieldValue - }, - requestSession, - database - ) - } else { - deleteLotOccupancyField( - lotOccupancyForm.lotOccupancyId, - occupancyTypeFieldId, - requestSession, - database - ) - } + requestSession, + database + )) } } - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/updateLotOccupancyComment.d.ts b/helpers/lotOccupancyDB/updateLotOccupancyComment.d.ts index c9be73d5..998e0551 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyComment.d.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancyComment.d.ts @@ -5,5 +5,5 @@ interface UpdateLotOccupancyCommentForm { lotOccupancyCommentTimeString: string; lotOccupancyComment: string; } -export declare function updateLotOccupancyComment(commentForm: UpdateLotOccupancyCommentForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateLotOccupancyComment(commentForm: UpdateLotOccupancyCommentForm, requestSession: recordTypes.PartialSession): Promise; export default updateLotOccupancyComment; diff --git a/helpers/lotOccupancyDB/updateLotOccupancyComment.js b/helpers/lotOccupancyDB/updateLotOccupancyComment.js index 47b6766c..ed3b2152 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyComment.js +++ b/helpers/lotOccupancyDB/updateLotOccupancyComment.js @@ -1,20 +1,19 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateStringToInteger, timeStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function updateLotOccupancyComment(commentForm, requestSession) { +export async function updateLotOccupancyComment(commentForm, requestSession) { const rightNowMillis = Date.now(); - const database = sqlite(databasePath); + const database = await acquireConnection(); const result = database .prepare(`update LotOccupancyComments - set lotOccupancyCommentDate = ?, - lotOccupancyCommentTime = ?, - lotOccupancyComment = ?, - recordUpdate_userName = ?, - recordUpdate_timeMillis = ? - where recordDelete_timeMillis is null - and lotOccupancyCommentId = ?`) + set lotOccupancyCommentDate = ?, + lotOccupancyCommentTime = ?, + lotOccupancyComment = ?, + recordUpdate_userName = ?, + recordUpdate_timeMillis = ? + where recordDelete_timeMillis is null + and lotOccupancyCommentId = ?`) .run(dateStringToInteger(commentForm.lotOccupancyCommentDateString), timeStringToInteger(commentForm.lotOccupancyCommentTimeString), commentForm.lotOccupancyComment, requestSession.user.userName, rightNowMillis, commentForm.lotOccupancyCommentId); - database.close(); + database.release(); return result.changes > 0; } export default updateLotOccupancyComment; diff --git a/helpers/lotOccupancyDB/updateLotOccupancyComment.ts b/helpers/lotOccupancyDB/updateLotOccupancyComment.ts index b3bcd5cd..edfeec5e 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyComment.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancyComment.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { dateStringToInteger, @@ -16,24 +14,24 @@ interface UpdateLotOccupancyCommentForm { lotOccupancyComment: string } -export function updateLotOccupancyComment( +export async function updateLotOccupancyComment( commentForm: UpdateLotOccupancyCommentForm, requestSession: recordTypes.PartialSession -): boolean { +): Promise { const rightNowMillis = Date.now() - const database = sqlite(databasePath) + const database = await acquireConnection() const result = database .prepare( `update LotOccupancyComments - set lotOccupancyCommentDate = ?, - lotOccupancyCommentTime = ?, - lotOccupancyComment = ?, - recordUpdate_userName = ?, - recordUpdate_timeMillis = ? - where recordDelete_timeMillis is null - and lotOccupancyCommentId = ?` + set lotOccupancyCommentDate = ?, + lotOccupancyCommentTime = ?, + lotOccupancyComment = ?, + recordUpdate_userName = ?, + recordUpdate_timeMillis = ? + where recordDelete_timeMillis is null + and lotOccupancyCommentId = ?` ) .run( dateStringToInteger(commentForm.lotOccupancyCommentDateString), @@ -44,7 +42,7 @@ export function updateLotOccupancyComment( commentForm.lotOccupancyCommentId ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/updateLotOccupancyOccupant.d.ts b/helpers/lotOccupancyDB/updateLotOccupancyOccupant.d.ts index 38c50867..35c81527 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyOccupant.d.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancyOccupant.d.ts @@ -13,5 +13,5 @@ interface UpdateLotOccupancyOccupantForm { occupantEmailAddress: string; occupantComment: string; } -export declare function updateLotOccupancyOccupant(lotOccupancyOccupantForm: UpdateLotOccupancyOccupantForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateLotOccupancyOccupant(lotOccupancyOccupantForm: UpdateLotOccupancyOccupantForm, requestSession: recordTypes.PartialSession): Promise; export default updateLotOccupancyOccupant; diff --git a/helpers/lotOccupancyDB/updateLotOccupancyOccupant.js b/helpers/lotOccupancyDB/updateLotOccupancyOccupant.js index e9d69e52..7e6e371f 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyOccupant.js +++ b/helpers/lotOccupancyDB/updateLotOccupancyOccupant.js @@ -1,27 +1,26 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function updateLotOccupancyOccupant(lotOccupancyOccupantForm, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function updateLotOccupancyOccupant(lotOccupancyOccupantForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const results = database .prepare(`update LotOccupancyOccupants - set occupantName = ?, - occupantAddress1 = ?, - occupantAddress2 = ?, - occupantCity = ?, - occupantProvince = ?, - occupantPostalCode = ?, - occupantPhoneNumber = ?, - occupantEmailAddress = ?, - occupantComment = ?, - lotOccupantTypeId = ?, - recordUpdate_userName = ?, - recordUpdate_timeMillis = ? - where recordDelete_timeMillis is null - and lotOccupancyId = ? - and lotOccupantIndex = ?`) + set occupantName = ?, + occupantAddress1 = ?, + occupantAddress2 = ?, + occupantCity = ?, + occupantProvince = ?, + occupantPostalCode = ?, + occupantPhoneNumber = ?, + occupantEmailAddress = ?, + occupantComment = ?, + lotOccupantTypeId = ?, + recordUpdate_userName = ?, + recordUpdate_timeMillis = ? + where recordDelete_timeMillis is null + and lotOccupancyId = ? + and lotOccupantIndex = ?`) .run(lotOccupancyOccupantForm.occupantName, lotOccupancyOccupantForm.occupantAddress1, lotOccupancyOccupantForm.occupantAddress2, lotOccupancyOccupantForm.occupantCity, lotOccupancyOccupantForm.occupantProvince, lotOccupancyOccupantForm.occupantPostalCode, lotOccupancyOccupantForm.occupantPhoneNumber, lotOccupancyOccupantForm.occupantEmailAddress, lotOccupancyOccupantForm.occupantComment, lotOccupancyOccupantForm.lotOccupantTypeId, requestSession.user.userName, rightNowMillis, lotOccupancyOccupantForm.lotOccupancyId, lotOccupancyOccupantForm.lotOccupantIndex); - database.close(); + database.release(); return results.changes > 0; } export default updateLotOccupancyOccupant; diff --git a/helpers/lotOccupancyDB/updateLotOccupancyOccupant.ts b/helpers/lotOccupancyDB/updateLotOccupancyOccupant.ts index 829f8850..badd4d52 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyOccupant.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancyOccupant.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' @@ -19,32 +17,32 @@ interface UpdateLotOccupancyOccupantForm { occupantComment: string } -export function updateLotOccupancyOccupant( +export async function updateLotOccupancyOccupant( lotOccupancyOccupantForm: UpdateLotOccupancyOccupantForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() const results = database .prepare( `update LotOccupancyOccupants - set occupantName = ?, - occupantAddress1 = ?, - occupantAddress2 = ?, - occupantCity = ?, - occupantProvince = ?, - occupantPostalCode = ?, - occupantPhoneNumber = ?, - occupantEmailAddress = ?, - occupantComment = ?, - lotOccupantTypeId = ?, - recordUpdate_userName = ?, - recordUpdate_timeMillis = ? - where recordDelete_timeMillis is null - and lotOccupancyId = ? - and lotOccupantIndex = ?` + set occupantName = ?, + occupantAddress1 = ?, + occupantAddress2 = ?, + occupantCity = ?, + occupantProvince = ?, + occupantPostalCode = ?, + occupantPhoneNumber = ?, + occupantEmailAddress = ?, + occupantComment = ?, + lotOccupantTypeId = ?, + recordUpdate_userName = ?, + recordUpdate_timeMillis = ? + where recordDelete_timeMillis is null + and lotOccupancyId = ? + and lotOccupantIndex = ?` ) .run( lotOccupancyOccupantForm.occupantName, @@ -63,7 +61,7 @@ export function updateLotOccupancyOccupant( lotOccupancyOccupantForm.lotOccupantIndex ) - database.close() + database.release() return results.changes > 0 } diff --git a/helpers/lotOccupancyDB/updateLotOccupantType.d.ts b/helpers/lotOccupancyDB/updateLotOccupantType.d.ts index 6bd59378..240831c0 100644 --- a/helpers/lotOccupancyDB/updateLotOccupantType.d.ts +++ b/helpers/lotOccupancyDB/updateLotOccupantType.d.ts @@ -4,5 +4,5 @@ interface UpdateLotOccupantTypeForm { lotOccupantType: string; fontAwesomeIconClass?: string; } -export declare function updateLotOccupantType(lotOccupantTypeForm: UpdateLotOccupantTypeForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateLotOccupantType(lotOccupantTypeForm: UpdateLotOccupantTypeForm, requestSession: recordTypes.PartialSession): Promise; export default updateLotOccupantType; diff --git a/helpers/lotOccupancyDB/updateLotOccupantType.js b/helpers/lotOccupancyDB/updateLotOccupantType.js index 5b30130b..fa74e8e8 100644 --- a/helpers/lotOccupancyDB/updateLotOccupantType.js +++ b/helpers/lotOccupancyDB/updateLotOccupantType.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export function updateLotOccupantType(lotOccupantTypeForm, requestSession) { - const database = sqlite(databasePath); +export async function updateLotOccupantType(lotOccupantTypeForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update LotOccupantTypes @@ -13,7 +12,7 @@ export function updateLotOccupantType(lotOccupantTypeForm, requestSession) { where lotOccupantTypeId = ? and recordDelete_timeMillis is null`) .run(lotOccupantTypeForm.lotOccupantType, lotOccupantTypeForm.fontAwesomeIconClass ?? '', requestSession.user.userName, rightNowMillis, lotOccupantTypeForm.lotOccupantTypeId); - database.close(); + database.release(); clearCacheByTableName('LotOccupantTypes'); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateLotOccupantType.ts b/helpers/lotOccupancyDB/updateLotOccupantType.ts index 2a6ee59f..866c9805 100644 --- a/helpers/lotOccupancyDB/updateLotOccupantType.ts +++ b/helpers/lotOccupancyDB/updateLotOccupantType.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { clearCacheByTableName } from '../functions.cache.js' @@ -12,11 +10,11 @@ interface UpdateLotOccupantTypeForm { fontAwesomeIconClass?: string } -export function updateLotOccupantType( +export async function updateLotOccupantType( lotOccupantTypeForm: UpdateLotOccupantTypeForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -38,7 +36,7 @@ export function updateLotOccupantType( lotOccupantTypeForm.lotOccupantTypeId ) - database.close() + database.release() clearCacheByTableName('LotOccupantTypes') diff --git a/helpers/lotOccupancyDB/updateLotTypeField.d.ts b/helpers/lotOccupancyDB/updateLotTypeField.d.ts index c47a52dc..ab106c63 100644 --- a/helpers/lotOccupancyDB/updateLotTypeField.d.ts +++ b/helpers/lotOccupancyDB/updateLotTypeField.d.ts @@ -8,5 +8,5 @@ interface UpdateLotTypeFieldForm { pattern?: string; lotTypeFieldValues: string; } -export declare function updateLotTypeField(lotTypeFieldForm: UpdateLotTypeFieldForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateLotTypeField(lotTypeFieldForm: UpdateLotTypeFieldForm, requestSession: recordTypes.PartialSession): Promise; export default updateLotTypeField; diff --git a/helpers/lotOccupancyDB/updateLotTypeField.js b/helpers/lotOccupancyDB/updateLotTypeField.js index c6de8c62..003bd000 100644 --- a/helpers/lotOccupancyDB/updateLotTypeField.js +++ b/helpers/lotOccupancyDB/updateLotTypeField.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export function updateLotTypeField(lotTypeFieldForm, requestSession) { - const database = sqlite(databasePath); +export async function updateLotTypeField(lotTypeFieldForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update LotTypeFields @@ -17,7 +16,7 @@ export function updateLotTypeField(lotTypeFieldForm, requestSession) { where lotTypeFieldId = ? and recordDelete_timeMillis is null`) .run(lotTypeFieldForm.lotTypeField, Number.parseInt(lotTypeFieldForm.isRequired, 10), lotTypeFieldForm.minimumLength ?? 0, lotTypeFieldForm.maximumLength ?? 100, lotTypeFieldForm.pattern ?? '', lotTypeFieldForm.lotTypeFieldValues, requestSession.user.userName, rightNowMillis, lotTypeFieldForm.lotTypeFieldId); - database.close(); + database.release(); clearCacheByTableName('LotTypeFields'); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateLotTypeField.ts b/helpers/lotOccupancyDB/updateLotTypeField.ts index a6c96af4..918e5c82 100644 --- a/helpers/lotOccupancyDB/updateLotTypeField.ts +++ b/helpers/lotOccupancyDB/updateLotTypeField.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { clearCacheByTableName } from '../functions.cache.js' @@ -16,11 +14,11 @@ interface UpdateLotTypeFieldForm { lotTypeFieldValues: string } -export function updateLotTypeField( +export async function updateLotTypeField( lotTypeFieldForm: UpdateLotTypeFieldForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -50,7 +48,7 @@ export function updateLotTypeField( lotTypeFieldForm.lotTypeFieldId ) - database.close() + database.release() clearCacheByTableName('LotTypeFields') diff --git a/helpers/lotOccupancyDB/updateMap.d.ts b/helpers/lotOccupancyDB/updateMap.d.ts index af0bae9a..be888334 100644 --- a/helpers/lotOccupancyDB/updateMap.d.ts +++ b/helpers/lotOccupancyDB/updateMap.d.ts @@ -13,5 +13,5 @@ interface UpdateMapForm { mapPostalCode: string; mapPhoneNumber: string; } -export declare function updateMap(mapForm: UpdateMapForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateMap(mapForm: UpdateMapForm, requestSession: recordTypes.PartialSession): Promise; export default updateMap; diff --git a/helpers/lotOccupancyDB/updateMap.js b/helpers/lotOccupancyDB/updateMap.js index 362e4eed..b0d108a4 100644 --- a/helpers/lotOccupancyDB/updateMap.js +++ b/helpers/lotOccupancyDB/updateMap.js @@ -1,7 +1,6 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function updateMap(mapForm, requestSession) { - const database = sqlite(databasePath); +import { acquireConnection } from './pool.js'; +export async function updateMap(mapForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update Maps @@ -21,7 +20,7 @@ export function updateMap(mapForm, requestSession) { where mapId = ? and recordDelete_timeMillis is null`) .run(mapForm.mapName, mapForm.mapDescription, mapForm.mapSVG, mapForm.mapLatitude === '' ? undefined : mapForm.mapLatitude, mapForm.mapLongitude === '' ? undefined : mapForm.mapLongitude, mapForm.mapAddress1, mapForm.mapAddress2, mapForm.mapCity, mapForm.mapProvince, mapForm.mapPostalCode, mapForm.mapPhoneNumber, requestSession.user.userName, rightNowMillis, mapForm.mapId); - database.close(); + database.release(); return result.changes > 0; } export default updateMap; diff --git a/helpers/lotOccupancyDB/updateMap.ts b/helpers/lotOccupancyDB/updateMap.ts index d0e7950b..5ec98a9e 100644 --- a/helpers/lotOccupancyDB/updateMap.ts +++ b/helpers/lotOccupancyDB/updateMap.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import type * as recordTypes from '../../types/recordTypes' @@ -19,11 +17,11 @@ interface UpdateMapForm { mapPhoneNumber: string } -export function updateMap( +export async function updateMap( mapForm: UpdateMapForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -63,7 +61,7 @@ export function updateMap( mapForm.mapId ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/updateOccupancyTypeField.d.ts b/helpers/lotOccupancyDB/updateOccupancyTypeField.d.ts index 6700de47..4b22518c 100644 --- a/helpers/lotOccupancyDB/updateOccupancyTypeField.d.ts +++ b/helpers/lotOccupancyDB/updateOccupancyTypeField.d.ts @@ -8,5 +8,5 @@ interface UpdateOccupancyTypeFieldForm { pattern?: string; occupancyTypeFieldValues: string; } -export declare function updateOccupancyTypeField(occupancyTypeFieldForm: UpdateOccupancyTypeFieldForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateOccupancyTypeField(occupancyTypeFieldForm: UpdateOccupancyTypeFieldForm, requestSession: recordTypes.PartialSession): Promise; export default updateOccupancyTypeField; diff --git a/helpers/lotOccupancyDB/updateOccupancyTypeField.js b/helpers/lotOccupancyDB/updateOccupancyTypeField.js index bbfed8bb..36587d00 100644 --- a/helpers/lotOccupancyDB/updateOccupancyTypeField.js +++ b/helpers/lotOccupancyDB/updateOccupancyTypeField.js @@ -1,8 +1,7 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export function updateOccupancyTypeField(occupancyTypeFieldForm, requestSession) { - const database = sqlite(databasePath); +export async function updateOccupancyTypeField(occupancyTypeFieldForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update OccupancyTypeFields @@ -17,7 +16,7 @@ export function updateOccupancyTypeField(occupancyTypeFieldForm, requestSession) where occupancyTypeFieldId = ? and recordDelete_timeMillis is null`) .run(occupancyTypeFieldForm.occupancyTypeField, Number.parseInt(occupancyTypeFieldForm.isRequired, 10), occupancyTypeFieldForm.minimumLength ?? 0, occupancyTypeFieldForm.maximumLength ?? 100, occupancyTypeFieldForm.pattern ?? '', occupancyTypeFieldForm.occupancyTypeFieldValues, requestSession.user.userName, rightNowMillis, occupancyTypeFieldForm.occupancyTypeFieldId); - database.close(); + database.release(); clearCacheByTableName('OccupancyTypeFields'); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateOccupancyTypeField.ts b/helpers/lotOccupancyDB/updateOccupancyTypeField.ts index 1755d939..32f6cd32 100644 --- a/helpers/lotOccupancyDB/updateOccupancyTypeField.ts +++ b/helpers/lotOccupancyDB/updateOccupancyTypeField.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { clearCacheByTableName } from '../functions.cache.js' @@ -16,11 +14,11 @@ interface UpdateOccupancyTypeFieldForm { occupancyTypeFieldValues: string } -export function updateOccupancyTypeField( +export async function updateOccupancyTypeField( occupancyTypeFieldForm: UpdateOccupancyTypeFieldForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -50,7 +48,7 @@ export function updateOccupancyTypeField( occupancyTypeFieldForm.occupancyTypeFieldId ) - database.close() + database.release() clearCacheByTableName('OccupancyTypeFields') diff --git a/helpers/lotOccupancyDB/updateRecord.d.ts b/helpers/lotOccupancyDB/updateRecord.d.ts index 84ca5ff1..737456e7 100644 --- a/helpers/lotOccupancyDB/updateRecord.d.ts +++ b/helpers/lotOccupancyDB/updateRecord.d.ts @@ -1,4 +1,4 @@ import type * as recordTypes from '../../types/recordTypes'; declare type RecordTable = 'FeeCategories' | 'LotStatuses' | 'LotTypes' | 'OccupancyTypes' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes'; -export declare function updateRecord(recordTable: RecordTable, recordId: number | string, recordName: string, requestSession: recordTypes.PartialSession): boolean; +export declare function updateRecord(recordTable: RecordTable, recordId: number | string, recordName: string, requestSession: recordTypes.PartialSession): Promise; export {}; diff --git a/helpers/lotOccupancyDB/updateRecord.js b/helpers/lotOccupancyDB/updateRecord.js index 9baf268c..10f42f40 100644 --- a/helpers/lotOccupancyDB/updateRecord.js +++ b/helpers/lotOccupancyDB/updateRecord.js @@ -1,5 +1,4 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; const recordNameIdColumns = new Map(); recordNameIdColumns.set('FeeCategories', ['feeCategory', 'feeCategoryId']); @@ -11,18 +10,18 @@ recordNameIdColumns.set('WorkOrderMilestoneTypes', [ 'workOrderMilestoneTypeId' ]); recordNameIdColumns.set('WorkOrderTypes', ['workOrderType', 'workOrderTypeId']); -export function updateRecord(recordTable, recordId, recordName, requestSession) { - const database = sqlite(databasePath); +export async function updateRecord(recordTable, recordId, recordName, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update ${recordTable} - set ${recordNameIdColumns.get(recordTable)[0]} = ?, - recordUpdate_userName = ?, - recordUpdate_timeMillis = ? - where recordDelete_timeMillis is null - and ${recordNameIdColumns.get(recordTable)[1]} = ?`) + set ${recordNameIdColumns.get(recordTable)[0]} = ?, + recordUpdate_userName = ?, + recordUpdate_timeMillis = ? + where recordDelete_timeMillis is null + and ${recordNameIdColumns.get(recordTable)[1]} = ?`) .run(recordName, requestSession.user.userName, rightNowMillis, recordId); - database.close(); + database.release(); clearCacheByTableName(recordTable); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateRecord.ts b/helpers/lotOccupancyDB/updateRecord.ts index 83805cd2..d92d7967 100644 --- a/helpers/lotOccupancyDB/updateRecord.ts +++ b/helpers/lotOccupancyDB/updateRecord.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { clearCacheByTableName } from '../functions.cache.js' @@ -25,28 +23,28 @@ recordNameIdColumns.set('WorkOrderMilestoneTypes', [ ]) recordNameIdColumns.set('WorkOrderTypes', ['workOrderType', 'workOrderTypeId']) -export function updateRecord( +export async function updateRecord( recordTable: RecordTable, recordId: number | string, recordName: string, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() const result = database .prepare( `update ${recordTable} - set ${recordNameIdColumns.get(recordTable)![0]} = ?, - recordUpdate_userName = ?, - recordUpdate_timeMillis = ? - where recordDelete_timeMillis is null - and ${recordNameIdColumns.get(recordTable)![1]} = ?` + set ${recordNameIdColumns.get(recordTable)![0]} = ?, + recordUpdate_userName = ?, + recordUpdate_timeMillis = ? + where recordDelete_timeMillis is null + and ${recordNameIdColumns.get(recordTable)![1]} = ?` ) .run(recordName, requestSession.user!.userName, rightNowMillis, recordId) - database.close() + database.release() clearCacheByTableName(recordTable) diff --git a/helpers/lotOccupancyDB/updateRecordOrderNumber.d.ts b/helpers/lotOccupancyDB/updateRecordOrderNumber.d.ts index 34cae063..43574567 100644 --- a/helpers/lotOccupancyDB/updateRecordOrderNumber.d.ts +++ b/helpers/lotOccupancyDB/updateRecordOrderNumber.d.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3'; +import type { PoolConnection } from 'better-sqlite-pool'; declare type RecordTable = 'FeeCategories' | 'Fees' | 'LotOccupantTypes' | 'LotStatuses' | 'LotTypes' | 'LotTypeFields' | 'OccupancyTypes' | 'OccupancyTypeFields' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes'; -export declare function updateRecordOrderNumber(recordTable: RecordTable, recordId: number | string, orderNumber: number | string, connectedDatabase: sqlite.Database): boolean; +export declare function updateRecordOrderNumber(recordTable: RecordTable, recordId: number | string, orderNumber: number | string, connectedDatabase: PoolConnection): boolean; export {}; diff --git a/helpers/lotOccupancyDB/updateRecordOrderNumber.ts b/helpers/lotOccupancyDB/updateRecordOrderNumber.ts index f62bcd31..e802c9db 100644 --- a/helpers/lotOccupancyDB/updateRecordOrderNumber.ts +++ b/helpers/lotOccupancyDB/updateRecordOrderNumber.ts @@ -1,4 +1,4 @@ -import sqlite from 'better-sqlite3' +import type { PoolConnection } from 'better-sqlite-pool' type RecordTable = | 'FeeCategories' @@ -28,7 +28,7 @@ export function updateRecordOrderNumber( recordTable: RecordTable, recordId: number | string, orderNumber: number | string, - connectedDatabase: sqlite.Database + connectedDatabase: PoolConnection ): boolean { const result = connectedDatabase .prepare( diff --git a/helpers/lotOccupancyDB/updateWorkOrder.d.ts b/helpers/lotOccupancyDB/updateWorkOrder.d.ts index 1a10aab1..a2c0941b 100644 --- a/helpers/lotOccupancyDB/updateWorkOrder.d.ts +++ b/helpers/lotOccupancyDB/updateWorkOrder.d.ts @@ -6,5 +6,5 @@ interface UpdateWorkOrderForm { workOrderDescription: string; workOrderOpenDateString: string; } -export declare function updateWorkOrder(workOrderForm: UpdateWorkOrderForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateWorkOrder(workOrderForm: UpdateWorkOrderForm, requestSession: recordTypes.PartialSession): Promise; export default updateWorkOrder; diff --git a/helpers/lotOccupancyDB/updateWorkOrder.js b/helpers/lotOccupancyDB/updateWorkOrder.js index 38e1991c..5fd11ccf 100644 --- a/helpers/lotOccupancyDB/updateWorkOrder.js +++ b/helpers/lotOccupancyDB/updateWorkOrder.js @@ -1,8 +1,7 @@ +import { acquireConnection } from './pool.js'; import { dateStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; -export function updateWorkOrder(workOrderForm, requestSession) { - const database = sqlite(databasePath); +export async function updateWorkOrder(workOrderForm, requestSession) { + const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database .prepare(`update WorkOrders @@ -15,7 +14,7 @@ export function updateWorkOrder(workOrderForm, requestSession) { where workOrderId = ? and recordDelete_timeMillis is null`) .run(workOrderForm.workOrderNumber, workOrderForm.workOrderTypeId, workOrderForm.workOrderDescription, dateStringToInteger(workOrderForm.workOrderOpenDateString), requestSession.user.userName, rightNowMillis, workOrderForm.workOrderId); - database.close(); + database.release(); return result.changes > 0; } export default updateWorkOrder; diff --git a/helpers/lotOccupancyDB/updateWorkOrder.ts b/helpers/lotOccupancyDB/updateWorkOrder.ts index da36f796..bf11633f 100644 --- a/helpers/lotOccupancyDB/updateWorkOrder.ts +++ b/helpers/lotOccupancyDB/updateWorkOrder.ts @@ -1,7 +1,6 @@ -import { dateStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js' -import sqlite from 'better-sqlite3' +import { acquireConnection } from './pool.js' -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { dateStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js' import type * as recordTypes from '../../types/recordTypes' @@ -13,11 +12,11 @@ interface UpdateWorkOrderForm { workOrderOpenDateString: string } -export function updateWorkOrder( +export async function updateWorkOrder( workOrderForm: UpdateWorkOrderForm, requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath) +): Promise { + const database = await acquireConnection() const rightNowMillis = Date.now() @@ -43,7 +42,7 @@ export function updateWorkOrder( workOrderForm.workOrderId ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/updateWorkOrderComment.d.ts b/helpers/lotOccupancyDB/updateWorkOrderComment.d.ts index 41f19456..1d4572f0 100644 --- a/helpers/lotOccupancyDB/updateWorkOrderComment.d.ts +++ b/helpers/lotOccupancyDB/updateWorkOrderComment.d.ts @@ -5,5 +5,5 @@ interface UpdateWorkOrderCommentForm { workOrderCommentTimeString: string; workOrderComment: string; } -export declare function updateWorkOrderComment(commentForm: UpdateWorkOrderCommentForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateWorkOrderComment(commentForm: UpdateWorkOrderCommentForm, requestSession: recordTypes.PartialSession): Promise; export default updateWorkOrderComment; diff --git a/helpers/lotOccupancyDB/updateWorkOrderComment.js b/helpers/lotOccupancyDB/updateWorkOrderComment.js index 8ded64d7..ca097b7b 100644 --- a/helpers/lotOccupancyDB/updateWorkOrderComment.js +++ b/helpers/lotOccupancyDB/updateWorkOrderComment.js @@ -1,9 +1,8 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateStringToInteger, timeStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function updateWorkOrderComment(commentForm, requestSession) { +export async function updateWorkOrderComment(commentForm, requestSession) { const rightNowMillis = Date.now(); - const database = sqlite(databasePath); + const database = await acquireConnection(); const result = database .prepare(`update WorkOrderComments set workOrderCommentDate = ?, @@ -14,7 +13,7 @@ export function updateWorkOrderComment(commentForm, requestSession) { where recordDelete_timeMillis is null and workOrderCommentId = ?`) .run(dateStringToInteger(commentForm.workOrderCommentDateString), timeStringToInteger(commentForm.workOrderCommentTimeString), commentForm.workOrderComment, requestSession.user.userName, rightNowMillis, commentForm.workOrderCommentId); - database.close(); + database.release(); return result.changes > 0; } export default updateWorkOrderComment; diff --git a/helpers/lotOccupancyDB/updateWorkOrderComment.ts b/helpers/lotOccupancyDB/updateWorkOrderComment.ts index b5c5a263..7968be10 100644 --- a/helpers/lotOccupancyDB/updateWorkOrderComment.ts +++ b/helpers/lotOccupancyDB/updateWorkOrderComment.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { dateStringToInteger, @@ -16,13 +14,13 @@ interface UpdateWorkOrderCommentForm { workOrderComment: string } -export function updateWorkOrderComment( +export async function updateWorkOrderComment( commentForm: UpdateWorkOrderCommentForm, requestSession: recordTypes.PartialSession -): boolean { +): Promise { const rightNowMillis = Date.now() - const database = sqlite(databasePath) + const database = await acquireConnection() const result = database .prepare( @@ -44,7 +42,7 @@ export function updateWorkOrderComment( commentForm.workOrderCommentId ) - database.close() + database.release() return result.changes > 0 } diff --git a/helpers/lotOccupancyDB/updateWorkOrderMilestone.d.ts b/helpers/lotOccupancyDB/updateWorkOrderMilestone.d.ts index 77d02582..df41bbc8 100644 --- a/helpers/lotOccupancyDB/updateWorkOrderMilestone.d.ts +++ b/helpers/lotOccupancyDB/updateWorkOrderMilestone.d.ts @@ -6,5 +6,5 @@ interface UpdateWorkOrderMilestoneForm { workOrderMilestoneTimeString?: string; workOrderMilestoneDescription: string; } -export declare function updateWorkOrderMilestone(milestoneForm: UpdateWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): boolean; +export declare function updateWorkOrderMilestone(milestoneForm: UpdateWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): Promise; export default updateWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/updateWorkOrderMilestone.js b/helpers/lotOccupancyDB/updateWorkOrderMilestone.js index ff7124a6..7d3aa2b7 100644 --- a/helpers/lotOccupancyDB/updateWorkOrderMilestone.js +++ b/helpers/lotOccupancyDB/updateWorkOrderMilestone.js @@ -1,9 +1,8 @@ -import sqlite from 'better-sqlite3'; -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'; +import { acquireConnection } from './pool.js'; import { dateStringToInteger, timeStringToInteger } from '@cityssm/expressjs-server-js/dateTimeFns.js'; -export function updateWorkOrderMilestone(milestoneForm, requestSession) { +export async function updateWorkOrderMilestone(milestoneForm, requestSession) { const rightNow = new Date(); - const database = sqlite(databasePath); + const database = await acquireConnection(); const result = database .prepare(`update WorkOrderMilestones set workOrderMilestoneTypeId = ?, @@ -13,10 +12,12 @@ export function updateWorkOrderMilestone(milestoneForm, requestSession) { recordUpdate_userName = ?, recordUpdate_timeMillis = ? where workOrderMilestoneId = ?`) - .run(milestoneForm.workOrderMilestoneTypeId === '' ? undefined : milestoneForm.workOrderMilestoneTypeId, dateStringToInteger(milestoneForm.workOrderMilestoneDateString), milestoneForm.workOrderMilestoneTimeString + .run(milestoneForm.workOrderMilestoneTypeId === '' + ? undefined + : milestoneForm.workOrderMilestoneTypeId, dateStringToInteger(milestoneForm.workOrderMilestoneDateString), milestoneForm.workOrderMilestoneTimeString ? timeStringToInteger(milestoneForm.workOrderMilestoneTimeString) : 0, milestoneForm.workOrderMilestoneDescription, requestSession.user.userName, rightNow.getTime(), milestoneForm.workOrderMilestoneId); - database.close(); + database.release(); return result.changes > 0; } export default updateWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/updateWorkOrderMilestone.ts b/helpers/lotOccupancyDB/updateWorkOrderMilestone.ts index 8c2740da..7e1e0282 100644 --- a/helpers/lotOccupancyDB/updateWorkOrderMilestone.ts +++ b/helpers/lotOccupancyDB/updateWorkOrderMilestone.ts @@ -1,6 +1,4 @@ -import sqlite from 'better-sqlite3' - -import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' +import { acquireConnection } from './pool.js' import { dateStringToInteger, @@ -17,13 +15,13 @@ interface UpdateWorkOrderMilestoneForm { workOrderMilestoneDescription: string } -export function updateWorkOrderMilestone( +export async function updateWorkOrderMilestone( milestoneForm: UpdateWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession -): boolean { +): Promise { const rightNow = new Date() - const database = sqlite(databasePath) + const database = await acquireConnection() const result = database .prepare( @@ -37,7 +35,9 @@ export function updateWorkOrderMilestone( where workOrderMilestoneId = ?` ) .run( - milestoneForm.workOrderMilestoneTypeId === '' ? undefined : milestoneForm.workOrderMilestoneTypeId, + milestoneForm.workOrderMilestoneTypeId === '' + ? undefined + : milestoneForm.workOrderMilestoneTypeId, dateStringToInteger(milestoneForm.workOrderMilestoneDateString), milestoneForm.workOrderMilestoneTimeString ? timeStringToInteger(milestoneForm.workOrderMilestoneTimeString) @@ -49,7 +49,7 @@ export function updateWorkOrderMilestone( milestoneForm.workOrderMilestoneId ) - database.close() + database.release() return result.changes > 0 } diff --git a/package-lock.json b/package-lock.json index 25e66ef9..370ebb23 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "@cityssm/pdf-puppeteer": "^2.0.0-beta.1", "@fortawesome/fontawesome-free": "^5.15.4", "activedirectory2": "^2.1.0", + "better-sqlite-pool": "^0.3.1", "better-sqlite3": "^8.0.1", "bulma-calendar": "^6.1.18", "camelcase": "^7.0.1", @@ -2265,6 +2266,14 @@ "tweetnacl": "^0.14.3" } }, + "node_modules/better-sqlite-pool": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/better-sqlite-pool/-/better-sqlite-pool-0.3.1.tgz", + "integrity": "sha512-hCo2vmZStPq6qST1IaGf87ULgw52JYVrXJqhzvoBM38cygeN+bKrGxEq/QEwUvT6jI/zs7KvUm76luSDT2dR+Q==", + "engines": { + "node": ">=8.0" + } + }, "node_modules/better-sqlite3": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.0.1.tgz", @@ -14357,6 +14366,11 @@ "tweetnacl": "^0.14.3" } }, + "better-sqlite-pool": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/better-sqlite-pool/-/better-sqlite-pool-0.3.1.tgz", + "integrity": "sha512-hCo2vmZStPq6qST1IaGf87ULgw52JYVrXJqhzvoBM38cygeN+bKrGxEq/QEwUvT6jI/zs7KvUm76luSDT2dR+Q==" + }, "better-sqlite3": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.0.1.tgz", diff --git a/package.json b/package.json index cc855ae1..b1a77ea7 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "@cityssm/pdf-puppeteer": "^2.0.0-beta.1", "@fortawesome/fontawesome-free": "^5.15.4", "activedirectory2": "^2.1.0", + "better-sqlite-pool": "^0.3.1", "better-sqlite3": "^8.0.1", "bulma-calendar": "^6.1.18", "camelcase": "^7.0.1", diff --git a/temp/legacy.importFromCSV.js b/temp/legacy.importFromCSV.js index 667c83d1..2035550d 100644 --- a/temp/legacy.importFromCSV.js +++ b/temp/legacy.importFromCSV.js @@ -99,7 +99,7 @@ const cemeteryToMapName = { WK: 'West Korah' }; const mapCache = new Map(); -function getMap(dataRow) { +async function getMap(dataRow) { const mapCacheKey = dataRow.cemetery; if (mapCache.has(mapCacheKey)) { return mapCache.get(mapCacheKey); @@ -107,7 +107,7 @@ function getMap(dataRow) { let map = getMapByMapDescription(mapCacheKey); if (!map) { console.log('Creating map: ' + dataRow.cemetery); - const mapId = addMap({ + const mapId = await addMap({ mapName: cemeteryToMapName[dataRow.cemetery] || dataRow.cemetery, mapDescription: dataRow.cemetery, mapSVG: '', @@ -120,12 +120,12 @@ function getMap(dataRow) { mapPostalCode: '', mapPhoneNumber: '' }, user); - map = getMapFromDatabase(mapId); + map = await getMapFromDatabase(mapId); } mapCache.set(mapCacheKey, map); return map; } -function importFromMasterCSV() { +async function importFromMasterCSV() { console.time('importFromMasterCSV'); let masterRow; const rawData = fs.readFileSync('./temp/CMMASTER.csv').toString(); @@ -139,7 +139,7 @@ function importFromMasterCSV() { } try { for (masterRow of cmmaster.data) { - const map = getMap({ + const map = await getMap({ cemetery: masterRow.CM_CEMETERY }); const lotName = importData.buildLotName({ @@ -158,7 +158,7 @@ function importFromMasterCSV() { }); let lotId; if (masterRow.CM_CEMETERY !== '00') { - lotId = addLot({ + lotId = await addLot({ lotName, lotTypeId, lotStatusId: importIds.availableLotStatusId, @@ -194,7 +194,7 @@ function importFromMasterCSV() { preneedOccupancyStartDateString === '0000-00-00') { preneedOccupancyStartDateString = '0001-01-01'; } - preneedLotOccupancyId = addLotOccupancy({ + preneedLotOccupancyId = await addLotOccupancy({ occupancyTypeId: importIds.preneedOccupancyType.occupancyTypeId, lotId, occupancyStartDateString: preneedOccupancyStartDateString, @@ -202,7 +202,7 @@ function importFromMasterCSV() { occupancyTypeFieldIds: '' }, user); const occupantPostalCode = `${masterRow.CM_POST1} ${masterRow.CM_POST2}`.trim(); - addLotOccupancyOccupant({ + await addLotOccupancyOccupant({ lotOccupancyId: preneedLotOccupancyId, lotOccupantTypeId: importIds.preneedOwnerLotOccupantTypeId, occupantName: masterRow.CM_PRENEED_OWNER, @@ -215,7 +215,7 @@ function importFromMasterCSV() { occupantEmailAddress: '' }, user); if (masterRow.CM_REMARK1 !== '') { - addLotOccupancyComment({ + await addLotOccupancyComment({ lotOccupancyId: preneedLotOccupancyId, lotOccupancyCommentDateString: preneedOccupancyStartDateString, lotOccupancyCommentTimeString: '00:00', @@ -223,7 +223,7 @@ function importFromMasterCSV() { }, user); } if (masterRow.CM_REMARK2 !== '') { - addLotOccupancyComment({ + await addLotOccupancyComment({ lotOccupancyId: preneedLotOccupancyId, lotOccupancyCommentDateString: preneedOccupancyStartDateString, lotOccupancyCommentTimeString: '00:00', @@ -231,7 +231,7 @@ function importFromMasterCSV() { }, user); } if (occupancyEndDateString === '') { - updateLotStatus(lotId, importIds.reservedLotStatusId, user); + await updateLotStatus(lotId, importIds.reservedLotStatusId, user); } } let deceasedOccupancyStartDateString; @@ -253,7 +253,7 @@ function importFromMasterCSV() { const occupancyType = lotId ? importIds.deceasedOccupancyType : importIds.cremationOccupancyType; - deceasedLotOccupancyId = addLotOccupancy({ + deceasedLotOccupancyId = await addLotOccupancy({ occupancyTypeId: occupancyType.occupancyTypeId, lotId, occupancyStartDateString: deceasedOccupancyStartDateString, @@ -261,7 +261,7 @@ function importFromMasterCSV() { occupancyTypeFieldIds: '' }, user); const deceasedPostalCode = `${masterRow.CM_POST1} ${masterRow.CM_POST2}`.trim(); - addLotOccupancyOccupant({ + await addLotOccupancyOccupant({ lotOccupancyId: deceasedLotOccupancyId, lotOccupantTypeId: importIds.deceasedLotOccupantTypeId, occupantName: masterRow.CM_DECEASED_NAME, @@ -275,7 +275,7 @@ function importFromMasterCSV() { }, user); if (masterRow.CM_DEATH_YR !== '') { const lotOccupancyFieldValue = formatDateString(masterRow.CM_DEATH_YR, masterRow.CM_DEATH_MON, masterRow.CM_DEATH_DAY); - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === 'Death Date'; @@ -284,7 +284,7 @@ function importFromMasterCSV() { }, user); } if (masterRow.CM_AGE !== '') { - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === 'Death Age'; @@ -293,7 +293,7 @@ function importFromMasterCSV() { }, user); } if (masterRow.CM_PERIOD !== '') { - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return (occupancyTypeField.occupancyTypeField === 'Death Age Period'); @@ -303,7 +303,7 @@ function importFromMasterCSV() { } if (masterRow.CM_FUNERAL_HOME !== '') { const funeralHomeOccupant = importData.getFuneralHomeLotOccupancyOccupantData(masterRow.CM_FUNERAL_HOME); - addLotOccupancyOccupant({ + await addLotOccupancyOccupant({ lotOccupancyId: deceasedLotOccupancyId, lotOccupantTypeId: funeralHomeOccupant.lotOccupantTypeId, occupantName: funeralHomeOccupant.occupantName, @@ -318,7 +318,7 @@ function importFromMasterCSV() { } if (masterRow.CM_FUNERAL_YR !== '') { const lotOccupancyFieldValue = formatDateString(masterRow.CM_FUNERAL_YR, masterRow.CM_FUNERAL_MON, masterRow.CM_FUNERAL_DAY); - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return (occupancyTypeField.occupancyTypeField === 'Funeral Date'); @@ -328,7 +328,7 @@ function importFromMasterCSV() { } if (occupancyType.occupancyType !== 'Cremation') { if (masterRow.CM_CONTAINER_TYPE !== '') { - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return (occupancyTypeField.occupancyTypeField === 'Container Type'); @@ -341,7 +341,7 @@ function importFromMasterCSV() { if (commitalType === 'GS') { commitalType = 'Graveside'; } - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return (occupancyTypeField.occupancyTypeField === 'Committal Type'); @@ -351,7 +351,7 @@ function importFromMasterCSV() { } } if (masterRow.CM_REMARK1 !== '') { - addLotOccupancyComment({ + await addLotOccupancyComment({ lotOccupancyId: deceasedLotOccupancyId, lotOccupancyCommentDateString: deceasedOccupancyStartDateString, lotOccupancyCommentTimeString: '00:00', @@ -359,16 +359,16 @@ function importFromMasterCSV() { }, user); } if (masterRow.CM_REMARK2 !== '') { - addLotOccupancyComment({ + await addLotOccupancyComment({ lotOccupancyId: deceasedLotOccupancyId, lotOccupancyCommentDateString: deceasedOccupancyStartDateString, lotOccupancyCommentTimeString: '00:00', lotOccupancyComment: masterRow.CM_REMARK2 }, user); } - updateLotStatus(lotId, importIds.takenLotStatusId, user); + await updateLotStatus(lotId, importIds.takenLotStatusId, user); if (masterRow.CM_PRENEED_OWNER !== '') { - addLotOccupancyOccupant({ + await addLotOccupancyOccupant({ lotOccupancyId: deceasedLotOccupancyId, lotOccupantTypeId: importIds.preneedOwnerLotOccupantTypeId, occupantName: masterRow.CM_PRENEED_OWNER, @@ -390,7 +390,7 @@ function importFromMasterCSV() { } console.timeEnd('importFromMasterCSV'); } -function importFromPrepaidCSV() { +async function importFromPrepaidCSV() { console.time('importFromPrepaidCSV'); let prepaidRow; const rawData = fs.readFileSync('./temp/CMPRPAID.csv').toString(); @@ -413,7 +413,7 @@ function importFromPrepaidCSV() { } let lot; if (cemetery !== '') { - const map = getMap({ + const map = await getMap({ cemetery }); const lotName = importData.buildLotName({ @@ -427,12 +427,12 @@ function importFromPrepaidCSV() { grave2: prepaidRow.CMPP_GRAVE2, interment: prepaidRow.CMPP_INTERMENT }); - lot = getLotByLotName(lotName); + lot = await getLotByLotName(lotName); if (!lot) { const lotTypeId = importIds.getLotTypeId({ cemetery }); - const lotId = addLot({ + const lotId = await addLot({ lotName, lotTypeId, lotStatusId: importIds.reservedLotStatusId, @@ -441,16 +441,16 @@ function importFromPrepaidCSV() { lotLatitude: '', lotLongitude: '' }, user); - lot = getLot(lotId); + lot = await getLot(lotId); } } if (lot && lot.lotStatusId === importIds.availableLotStatusId) { - updateLotStatus(lot.lotId, importIds.reservedLotStatusId, user); + await updateLotStatus(lot.lotId, importIds.reservedLotStatusId, user); } const occupancyStartDateString = formatDateString(prepaidRow.CMPP_PURCH_YR, prepaidRow.CMPP_PURCH_MON, prepaidRow.CMPP_PURCH_DAY); let lotOccupancyId; if (lot) { - const possibleLotOccupancies = getLotOccupancies({ + const possibleLotOccupancies = await getLotOccupancies({ lotId: lot.lotId, occupancyTypeId: importIds.preneedOccupancyType.occupancyTypeId, occupantName: prepaidRow.CMPP_PREPAID_FOR_NAME, @@ -466,14 +466,14 @@ function importFromPrepaidCSV() { } } if (!lotOccupancyId) { - lotOccupancyId = addLotOccupancy({ + lotOccupancyId = await addLotOccupancy({ lotId: lot ? lot.lotId : '', occupancyTypeId: importIds.preneedOccupancyType.occupancyTypeId, occupancyStartDateString, occupancyEndDateString: '' }, user); } - addLotOccupancyOccupant({ + await addLotOccupancyOccupant({ lotOccupancyId, lotOccupantTypeId: importIds.preneedOwnerLotOccupantTypeId, occupantName: prepaidRow.CMPP_PREPAID_FOR_NAME, @@ -486,7 +486,7 @@ function importFromPrepaidCSV() { occupantEmailAddress: '' }, user); if (prepaidRow.CMPP_ARRANGED_BY_NAME) { - addLotOccupancyOccupant({ + await addLotOccupancyOccupant({ lotOccupancyId, lotOccupantTypeId: importIds.purchaserLotOccupantTypeId, occupantName: prepaidRow.CMPP_ARRANGED_BY_NAME, @@ -500,7 +500,7 @@ function importFromPrepaidCSV() { }, user); } if (prepaidRow.CMPP_FEE_GRAV_SD !== '0.0') { - addLotOccupancyFee({ + await addLotOccupancyFee({ lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_GRAV_SD'), quantity: 1, @@ -509,7 +509,7 @@ function importFromPrepaidCSV() { }, user); } if (prepaidRow.CMPP_FEE_GRAV_DD !== '0.0') { - addLotOccupancyFee({ + await addLotOccupancyFee({ lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_GRAV_DD'), quantity: 1, @@ -518,7 +518,7 @@ function importFromPrepaidCSV() { }, user); } if (prepaidRow.CMPP_FEE_CHAP_SD !== '0.0') { - addLotOccupancyFee({ + await addLotOccupancyFee({ lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_CHAP_SD'), quantity: 1, @@ -527,7 +527,7 @@ function importFromPrepaidCSV() { }, user); } if (prepaidRow.CMPP_FEE_CHAP_DD !== '0.0') { - addLotOccupancyFee({ + await addLotOccupancyFee({ lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_CHAP_DD'), quantity: 1, @@ -536,7 +536,7 @@ function importFromPrepaidCSV() { }, user); } if (prepaidRow.CMPP_FEE_ENTOMBMENT !== '0.0') { - addLotOccupancyFee({ + await addLotOccupancyFee({ lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_ENTOMBMENT'), quantity: 1, @@ -545,7 +545,7 @@ function importFromPrepaidCSV() { }, user); } if (prepaidRow.CMPP_FEE_CREM !== '0.0') { - addLotOccupancyFee({ + await addLotOccupancyFee({ lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_CREM'), quantity: 1, @@ -554,7 +554,7 @@ function importFromPrepaidCSV() { }, user); } if (prepaidRow.CMPP_FEE_NICHE !== '0.0') { - addLotOccupancyFee({ + await addLotOccupancyFee({ lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_NICHE'), quantity: 1, @@ -564,7 +564,7 @@ function importFromPrepaidCSV() { } if (prepaidRow.CMPP_FEE_DISINTERMENT !== '0.0' && prepaidRow.CMPP_FEE_DISINTERMENT !== '20202.02') { - addLotOccupancyFee({ + await addLotOccupancyFee({ lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_DISINTERMENT'), quantity: 1, @@ -592,7 +592,7 @@ function importFromPrepaidCSV() { Number.parseFloat(prepaidRow.CMPP_GST_DISINTERMENT === '20202.02' ? '0' : prepaidRow.CMPP_GST_DISINTERMENT); - addLotOccupancyTransaction({ + await addLotOccupancyTransaction({ lotOccupancyId, externalReceiptNumber: '', transactionAmount, @@ -600,14 +600,14 @@ function importFromPrepaidCSV() { transactionNote: 'Order Number: ' + prepaidRow.CMPP_ORDER_NO }, user); if (prepaidRow.CMPP_REMARK1) { - addLotOccupancyComment({ + await addLotOccupancyComment({ lotOccupancyId, lotOccupancyCommentDateString: occupancyStartDateString, lotOccupancyComment: prepaidRow.CMPP_REMARK1 }, user); } if (prepaidRow.CMPP_REMARK2) { - addLotOccupancyComment({ + await addLotOccupancyComment({ lotOccupancyId, lotOccupancyCommentDateString: occupancyStartDateString, lotOccupancyComment: prepaidRow.CMPP_REMARK2 @@ -621,7 +621,7 @@ function importFromPrepaidCSV() { } console.timeEnd('importFromPrepaidCSV'); } -function importFromWorkOrderCSV() { +async function importFromWorkOrderCSV() { console.time('importFromWorkOrderCSV'); let workOrderRow; const rawData = fs.readFileSync('./temp/CMWKORDR.csv').toString(); @@ -637,17 +637,17 @@ function importFromWorkOrderCSV() { try { for (workOrderRow of cmwkordr.data) { const workOrderNumber = ('000000' + workOrderRow.WO_WORK_ORDER).slice(-6); - let workOrder = getWorkOrderByWorkOrderNumber(workOrderNumber); + let workOrder = await getWorkOrderByWorkOrderNumber(workOrderNumber); const workOrderOpenDateString = dateIntegerToString(Number.parseInt(workOrderRow.WO_INITIATION_DATE, 10)); if (workOrder) { if (workOrder.workOrderCloseDate) { - reopenWorkOrder(workOrder.workOrderId, user); + await reopenWorkOrder(workOrder.workOrderId, user); delete workOrder.workOrderCloseDate; delete workOrder.workOrderCloseDateString; } } else { - const workOrderId = addWorkOrder({ + const workOrderId = await addWorkOrder({ workOrderNumber, workOrderTypeId: importIds.workOrderTypeId, workOrderDescription: (workOrderRow.WO_REMARK1 + @@ -657,7 +657,7 @@ function importFromWorkOrderCSV() { workOrderRow.WO_REMARK3).trim(), workOrderOpenDateString }, user); - workOrder = getWorkOrder(workOrderId, { + workOrder = await getWorkOrder(workOrderId, { includeLotsAndLotOccupancies: true, includeComments: true, includeMilestones: true @@ -676,13 +676,13 @@ function importFromWorkOrderCSV() { grave2: workOrderRow.WO_GRAVE2, interment: workOrderRow.WO_INTERMENT }); - lot = getLotByLotName(lotName); + lot = await getLotByLotName(lotName); if (!lot) { - const map = getMap({ cemetery: workOrderRow.WO_CEMETERY }); + const map = await getMap({ cemetery: workOrderRow.WO_CEMETERY }); const lotTypeId = importIds.getLotTypeId({ cemetery: workOrderRow.WO_CEMETERY }); - const lotId = addLot({ + const lotId = await addLot({ mapId: map.mapId, lotName, mapKey: lotName.includes(',') ? lotName.split(',')[0] : lotName, @@ -691,16 +691,16 @@ function importFromWorkOrderCSV() { lotLatitude: '', lotLongitude: '' }, user); - lot = getLot(lotId); + lot = await getLot(lotId); } else { - updateLotStatus(lot.lotId, importIds.takenLotStatusId, user); + await updateLotStatus(lot.lotId, importIds.takenLotStatusId, user); } const workOrderContainsLot = workOrder.workOrderLots.find((possibleLot) => { return (possibleLot.lotId = lot.lotId); }); if (!workOrderContainsLot) { - addWorkOrderLot({ + await addWorkOrderLot({ workOrderId: workOrder.workOrderId, lotId: lot.lotId }, user); @@ -714,13 +714,13 @@ function importFromWorkOrderCSV() { const occupancyType = lot ? importIds.deceasedOccupancyType : importIds.cremationOccupancyType; - const lotOccupancyId = addLotOccupancy({ + const lotOccupancyId = await addLotOccupancy({ lotId: lot ? lot.lotId : '', occupancyTypeId: occupancyType.occupancyTypeId, occupancyStartDateString, occupancyEndDateString: '' }, user); - addLotOccupancyOccupant({ + await addLotOccupancyOccupant({ lotOccupancyId, lotOccupantTypeId: importIds.deceasedLotOccupantTypeId, occupantName: workOrderRow.WO_DECEASED_NAME, @@ -734,7 +734,7 @@ function importFromWorkOrderCSV() { }, user); if (workOrderRow.WO_DEATH_YR !== '') { const lotOccupancyFieldValue = formatDateString(workOrderRow.WO_DEATH_YR, workOrderRow.WO_DEATH_MON, workOrderRow.WO_DEATH_DAY); - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === 'Death Date'; @@ -743,7 +743,7 @@ function importFromWorkOrderCSV() { }, user); } if (workOrderRow.WO_DEATH_PLACE !== '') { - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === 'Death Place'; @@ -752,7 +752,7 @@ function importFromWorkOrderCSV() { }, user); } if (workOrderRow.WO_AGE !== '') { - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === 'Death Age'; @@ -761,7 +761,7 @@ function importFromWorkOrderCSV() { }, user); } if (workOrderRow.WO_PERIOD !== '') { - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return (occupancyTypeField.occupancyTypeField === 'Death Age Period'); @@ -771,7 +771,7 @@ function importFromWorkOrderCSV() { } if (workOrderRow.WO_FUNERAL_HOME !== '') { const funeralHomeOccupant = importData.getFuneralHomeLotOccupancyOccupantData(workOrderRow.WO_FUNERAL_HOME); - addLotOccupancyOccupant({ + await addLotOccupancyOccupant({ lotOccupancyId, lotOccupantTypeId: funeralHomeOccupant.lotOccupantTypeId, occupantName: funeralHomeOccupant.occupantName, @@ -786,7 +786,7 @@ function importFromWorkOrderCSV() { } if (workOrderRow.WO_FUNERAL_YR !== '') { const lotOccupancyFieldValue = formatDateString(workOrderRow.WO_FUNERAL_YR, workOrderRow.WO_FUNERAL_MON, workOrderRow.WO_FUNERAL_DAY); - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return occupancyTypeField.occupancyTypeField === 'Funeral Date'; @@ -796,7 +796,7 @@ function importFromWorkOrderCSV() { } if (occupancyType.occupancyType !== 'Cremation') { if (workOrderRow.WO_CONTAINER_TYPE !== '') { - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return (occupancyTypeField.occupancyTypeField === 'Container Type'); @@ -809,7 +809,7 @@ function importFromWorkOrderCSV() { if (commitalType === 'GS') { commitalType = 'Graveside'; } - addOrUpdateLotOccupancyField({ + await addOrUpdateLotOccupancyField({ lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields.find((occupancyTypeField) => { return (occupancyTypeField.occupancyTypeField === 'Committal Type'); @@ -818,14 +818,14 @@ function importFromWorkOrderCSV() { }, user); } } - addWorkOrderLotOccupancy({ + await addWorkOrderLotOccupancy({ workOrderId: workOrder.workOrderId, lotOccupancyId }, user); let hasIncompleteMilestones = !workOrderRow.WO_CONFIRMATION_IN; let maxMilestoneCompletionDateString = workOrderOpenDateString; if (importIds.acknowledgedWorkOrderMilestoneTypeId) { - addWorkOrderMilestone({ + await addWorkOrderMilestone({ workOrderId: workOrder.workOrderId, workOrderMilestoneTypeId: importIds.acknowledgedWorkOrderMilestoneTypeId, workOrderMilestoneDateString: workOrderOpenDateString, @@ -839,7 +839,7 @@ function importFromWorkOrderCSV() { if (workOrderRow.WO_DEATH_YR) { const workOrderMilestoneDateString = formatDateString(workOrderRow.WO_DEATH_YR, workOrderRow.WO_DEATH_MON, workOrderRow.WO_DEATH_DAY); if (importIds.deathWorkOrderMilestoneTypeId) { - addWorkOrderMilestone({ + await addWorkOrderMilestone({ workOrderId: workOrder.workOrderId, workOrderMilestoneTypeId: importIds.deathWorkOrderMilestoneTypeId, workOrderMilestoneDateString, @@ -867,7 +867,7 @@ function importFromWorkOrderCSV() { } const workOrderMilestoneTimeString = formatTimeString(funeralHour.toString(), workOrderRow.WO_FUNERAL_MIN); if (importIds.funeralWorkOrderMilestoneTypeId) { - addWorkOrderMilestone({ + await addWorkOrderMilestone({ workOrderId: workOrder.workOrderId, workOrderMilestoneTypeId: importIds.funeralWorkOrderMilestoneTypeId, workOrderMilestoneDateString, @@ -890,7 +890,7 @@ function importFromWorkOrderCSV() { } if (workOrderRow.WO_CREMATION === 'Y' && importIds.cremationWorkOrderMilestoneTypeId) { - addWorkOrderMilestone({ + await addWorkOrderMilestone({ workOrderId: workOrder.workOrderId, workOrderMilestoneTypeId: importIds.cremationWorkOrderMilestoneTypeId, workOrderMilestoneDateString: maxMilestoneCompletionDateString, @@ -906,7 +906,7 @@ function importFromWorkOrderCSV() { if (workOrderRow.WO_INTERMENT_YR) { const workOrderMilestoneDateString = formatDateString(workOrderRow.WO_INTERMENT_YR, workOrderRow.WO_INTERMENT_MON, workOrderRow.WO_INTERMENT_DAY); if (importIds.intermentWorkOrderMilestoneTypeId) { - addWorkOrderMilestone({ + await addWorkOrderMilestone({ workOrderId: workOrder.workOrderId, workOrderMilestoneTypeId: importIds.intermentWorkOrderMilestoneTypeId, workOrderMilestoneDateString, @@ -927,7 +927,7 @@ function importFromWorkOrderCSV() { } } if (!hasIncompleteMilestones) { - closeWorkOrder({ + await closeWorkOrder({ workOrderId: workOrder.workOrderId, workOrderCloseDateString: maxMilestoneCompletionDateString }, user); @@ -940,11 +940,11 @@ function importFromWorkOrderCSV() { } console.timeEnd('importFromWorkOrderCSV'); } -console.log('Started ' + (new Date().toLocaleString())); +console.log('Started ' + new Date().toLocaleString()); console.time('importFromCsv'); purgeTables(); -importFromMasterCSV(); -importFromPrepaidCSV(); -importFromWorkOrderCSV(); +await importFromMasterCSV(); +await importFromPrepaidCSV(); +await importFromWorkOrderCSV(); console.timeEnd('importFromCsv'); -console.log('Finished ' + (new Date().toLocaleString())); +console.log('Finished ' + new Date().toLocaleString()); diff --git a/temp/legacy.importFromCSV.ts b/temp/legacy.importFromCSV.ts index 71d2e570..5004ca1f 100644 --- a/temp/legacy.importFromCSV.ts +++ b/temp/legacy.importFromCSV.ts @@ -293,7 +293,7 @@ const cemeteryToMapName = { const mapCache: Map = new Map() -function getMap(dataRow: { cemetery: string }): recordTypes.Map { +async function getMap(dataRow: { cemetery: string }): Promise { const mapCacheKey = dataRow.cemetery /* @@ -312,7 +312,7 @@ function getMap(dataRow: { cemetery: string }): recordTypes.Map { if (!map) { console.log('Creating map: ' + dataRow.cemetery) - const mapId = addMap( + const mapId = await addMap( { mapName: cemeteryToMapName[dataRow.cemetery] || dataRow.cemetery, mapDescription: dataRow.cemetery, @@ -329,7 +329,7 @@ function getMap(dataRow: { cemetery: string }): recordTypes.Map { user ) - map = getMapFromDatabase(mapId) + map = await getMapFromDatabase(mapId) } mapCache.set(mapCacheKey, map) @@ -337,7 +337,7 @@ function getMap(dataRow: { cemetery: string }): recordTypes.Map { return map } -function importFromMasterCSV(): void { +async function importFromMasterCSV(): Promise { console.time('importFromMasterCSV') let masterRow: MasterRecord @@ -356,7 +356,7 @@ function importFromMasterCSV(): void { try { for (masterRow of cmmaster.data) { - const map = getMap({ + const map = await getMap({ cemetery: masterRow.CM_CEMETERY })! @@ -379,7 +379,7 @@ function importFromMasterCSV(): void { let lotId: number if (masterRow.CM_CEMETERY !== '00') { - lotId = addLot( + lotId = await addLot( { lotName, lotTypeId, @@ -452,7 +452,7 @@ function importFromMasterCSV(): void { preneedOccupancyStartDateString = '0001-01-01' } - preneedLotOccupancyId = addLotOccupancy( + preneedLotOccupancyId = await addLotOccupancy( { occupancyTypeId: importIds.preneedOccupancyType.occupancyTypeId, lotId, @@ -466,7 +466,7 @@ function importFromMasterCSV(): void { const occupantPostalCode = `${masterRow.CM_POST1} ${masterRow.CM_POST2}`.trim() - addLotOccupancyOccupant( + await addLotOccupancyOccupant( { lotOccupancyId: preneedLotOccupancyId, lotOccupantTypeId: importIds.preneedOwnerLotOccupantTypeId, @@ -483,7 +483,7 @@ function importFromMasterCSV(): void { ) if (masterRow.CM_REMARK1 !== '') { - addLotOccupancyComment( + await addLotOccupancyComment( { lotOccupancyId: preneedLotOccupancyId, lotOccupancyCommentDateString: preneedOccupancyStartDateString, @@ -495,7 +495,7 @@ function importFromMasterCSV(): void { } if (masterRow.CM_REMARK2 !== '') { - addLotOccupancyComment( + await addLotOccupancyComment( { lotOccupancyId: preneedLotOccupancyId, lotOccupancyCommentDateString: preneedOccupancyStartDateString, @@ -507,7 +507,7 @@ function importFromMasterCSV(): void { } if (occupancyEndDateString === '') { - updateLotStatus(lotId, importIds.reservedLotStatusId, user) + await updateLotStatus(lotId, importIds.reservedLotStatusId, user) } } @@ -549,7 +549,7 @@ function importFromMasterCSV(): void { ? importIds.deceasedOccupancyType : importIds.cremationOccupancyType - deceasedLotOccupancyId = addLotOccupancy( + deceasedLotOccupancyId = await addLotOccupancy( { occupancyTypeId: occupancyType.occupancyTypeId, lotId, @@ -563,7 +563,7 @@ function importFromMasterCSV(): void { const deceasedPostalCode = `${masterRow.CM_POST1} ${masterRow.CM_POST2}`.trim() - addLotOccupancyOccupant( + await addLotOccupancyOccupant( { lotOccupancyId: deceasedLotOccupancyId, lotOccupantTypeId: importIds.deceasedLotOccupantTypeId, @@ -586,7 +586,7 @@ function importFromMasterCSV(): void { masterRow.CM_DEATH_DAY ) - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -601,7 +601,7 @@ function importFromMasterCSV(): void { } if (masterRow.CM_AGE !== '') { - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -616,7 +616,7 @@ function importFromMasterCSV(): void { } if (masterRow.CM_PERIOD !== '') { - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -638,7 +638,7 @@ function importFromMasterCSV(): void { masterRow.CM_FUNERAL_HOME ) - addLotOccupancyOccupant( + await addLotOccupancyOccupant( { lotOccupancyId: deceasedLotOccupancyId, lotOccupantTypeId: funeralHomeOccupant.lotOccupantTypeId!, @@ -677,7 +677,7 @@ function importFromMasterCSV(): void { masterRow.CM_FUNERAL_DAY ) - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -695,7 +695,7 @@ function importFromMasterCSV(): void { if (occupancyType.occupancyType !== 'Cremation') { if (masterRow.CM_CONTAINER_TYPE !== '') { - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -718,7 +718,7 @@ function importFromMasterCSV(): void { commitalType = 'Graveside' } - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId: deceasedLotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -736,7 +736,7 @@ function importFromMasterCSV(): void { } if (masterRow.CM_REMARK1 !== '') { - addLotOccupancyComment( + await addLotOccupancyComment( { lotOccupancyId: deceasedLotOccupancyId, lotOccupancyCommentDateString: deceasedOccupancyStartDateString, @@ -748,7 +748,7 @@ function importFromMasterCSV(): void { } if (masterRow.CM_REMARK2 !== '') { - addLotOccupancyComment( + await addLotOccupancyComment( { lotOccupancyId: deceasedLotOccupancyId, lotOccupancyCommentDateString: deceasedOccupancyStartDateString, @@ -759,10 +759,10 @@ function importFromMasterCSV(): void { ) } - updateLotStatus(lotId, importIds.takenLotStatusId, user) + await updateLotStatus(lotId, importIds.takenLotStatusId, user) if (masterRow.CM_PRENEED_OWNER !== '') { - addLotOccupancyOccupant( + await addLotOccupancyOccupant( { lotOccupancyId: deceasedLotOccupancyId, lotOccupantTypeId: importIds.preneedOwnerLotOccupantTypeId, @@ -788,7 +788,7 @@ function importFromMasterCSV(): void { console.timeEnd('importFromMasterCSV') } -function importFromPrepaidCSV(): void { +async function importFromPrepaidCSV(): Promise { console.time('importFromPrepaidCSV') let prepaidRow: PrepaidRecord @@ -820,7 +820,7 @@ function importFromPrepaidCSV(): void { let lot: recordTypes.Lot if (cemetery !== '') { - const map = getMap({ + const map = await getMap({ cemetery }) @@ -836,14 +836,14 @@ function importFromPrepaidCSV(): void { interment: prepaidRow.CMPP_INTERMENT }) - lot = getLotByLotName(lotName) + lot = await getLotByLotName(lotName) if (!lot) { const lotTypeId = importIds.getLotTypeId({ cemetery }) - const lotId = addLot( + const lotId = await addLot( { lotName, lotTypeId, @@ -856,12 +856,12 @@ function importFromPrepaidCSV(): void { user ) - lot = getLot(lotId) + lot = await getLot(lotId) } } if (lot && lot.lotStatusId === importIds.availableLotStatusId) { - updateLotStatus(lot.lotId, importIds.reservedLotStatusId, user) + await updateLotStatus(lot.lotId, importIds.reservedLotStatusId, user) } const occupancyStartDateString = formatDateString( @@ -873,7 +873,7 @@ function importFromPrepaidCSV(): void { let lotOccupancyId: number if (lot) { - const possibleLotOccupancies = getLotOccupancies( + const possibleLotOccupancies = await getLotOccupancies( { lotId: lot.lotId, occupancyTypeId: importIds.preneedOccupancyType.occupancyTypeId, @@ -894,7 +894,7 @@ function importFromPrepaidCSV(): void { } if (!lotOccupancyId) { - lotOccupancyId = addLotOccupancy( + lotOccupancyId = await addLotOccupancy( { lotId: lot ? lot.lotId : '', occupancyTypeId: importIds.preneedOccupancyType.occupancyTypeId, @@ -905,7 +905,7 @@ function importFromPrepaidCSV(): void { ) } - addLotOccupancyOccupant( + await addLotOccupancyOccupant( { lotOccupancyId, lotOccupantTypeId: importIds.preneedOwnerLotOccupantTypeId, @@ -923,7 +923,7 @@ function importFromPrepaidCSV(): void { ) if (prepaidRow.CMPP_ARRANGED_BY_NAME) { - addLotOccupancyOccupant( + await addLotOccupancyOccupant( { lotOccupancyId, lotOccupantTypeId: importIds.purchaserLotOccupantTypeId, @@ -941,7 +941,7 @@ function importFromPrepaidCSV(): void { } if (prepaidRow.CMPP_FEE_GRAV_SD !== '0.0') { - addLotOccupancyFee( + await addLotOccupancyFee( { lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_GRAV_SD'), @@ -954,7 +954,7 @@ function importFromPrepaidCSV(): void { } if (prepaidRow.CMPP_FEE_GRAV_DD !== '0.0') { - addLotOccupancyFee( + await addLotOccupancyFee( { lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_GRAV_DD'), @@ -967,7 +967,7 @@ function importFromPrepaidCSV(): void { } if (prepaidRow.CMPP_FEE_CHAP_SD !== '0.0') { - addLotOccupancyFee( + await addLotOccupancyFee( { lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_CHAP_SD'), @@ -980,7 +980,7 @@ function importFromPrepaidCSV(): void { } if (prepaidRow.CMPP_FEE_CHAP_DD !== '0.0') { - addLotOccupancyFee( + await addLotOccupancyFee( { lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_CHAP_DD'), @@ -993,7 +993,7 @@ function importFromPrepaidCSV(): void { } if (prepaidRow.CMPP_FEE_ENTOMBMENT !== '0.0') { - addLotOccupancyFee( + await addLotOccupancyFee( { lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_ENTOMBMENT'), @@ -1006,7 +1006,7 @@ function importFromPrepaidCSV(): void { } if (prepaidRow.CMPP_FEE_CREM !== '0.0') { - addLotOccupancyFee( + await addLotOccupancyFee( { lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_CREM'), @@ -1019,7 +1019,7 @@ function importFromPrepaidCSV(): void { } if (prepaidRow.CMPP_FEE_NICHE !== '0.0') { - addLotOccupancyFee( + await addLotOccupancyFee( { lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_NICHE'), @@ -1035,7 +1035,7 @@ function importFromPrepaidCSV(): void { prepaidRow.CMPP_FEE_DISINTERMENT !== '0.0' && prepaidRow.CMPP_FEE_DISINTERMENT !== '20202.02' ) { - addLotOccupancyFee( + await addLotOccupancyFee( { lotOccupancyId, feeId: importIds.getFeeIdByFeeDescription('CMPP_FEE_DISINTERMENT'), @@ -1073,7 +1073,7 @@ function importFromPrepaidCSV(): void { : prepaidRow.CMPP_GST_DISINTERMENT ) - addLotOccupancyTransaction( + await addLotOccupancyTransaction( { lotOccupancyId, externalReceiptNumber: '', @@ -1085,7 +1085,7 @@ function importFromPrepaidCSV(): void { ) if (prepaidRow.CMPP_REMARK1) { - addLotOccupancyComment( + await addLotOccupancyComment( { lotOccupancyId, lotOccupancyCommentDateString: occupancyStartDateString, @@ -1096,7 +1096,7 @@ function importFromPrepaidCSV(): void { } if (prepaidRow.CMPP_REMARK2) { - addLotOccupancyComment( + await addLotOccupancyComment( { lotOccupancyId, lotOccupancyCommentDateString: occupancyStartDateString, @@ -1114,7 +1114,7 @@ function importFromPrepaidCSV(): void { console.timeEnd('importFromPrepaidCSV') } -function importFromWorkOrderCSV(): void { +async function importFromWorkOrderCSV(): Promise { console.time('importFromWorkOrderCSV') let workOrderRow: WorkOrderRecord @@ -1137,7 +1137,7 @@ function importFromWorkOrderCSV(): void { for (workOrderRow of cmwkordr.data) { const workOrderNumber = ('000000' + workOrderRow.WO_WORK_ORDER).slice(-6) - let workOrder = getWorkOrderByWorkOrderNumber(workOrderNumber) + let workOrder = await getWorkOrderByWorkOrderNumber(workOrderNumber) const workOrderOpenDateString = dateIntegerToString( Number.parseInt(workOrderRow.WO_INITIATION_DATE, 10) @@ -1145,12 +1145,12 @@ function importFromWorkOrderCSV(): void { if (workOrder) { if (workOrder.workOrderCloseDate) { - reopenWorkOrder(workOrder.workOrderId!, user) + await reopenWorkOrder(workOrder.workOrderId!, user) delete workOrder.workOrderCloseDate delete workOrder.workOrderCloseDateString } } else { - const workOrderId = addWorkOrder( + const workOrderId = await addWorkOrder( { workOrderNumber, workOrderTypeId: importIds.workOrderTypeId, @@ -1166,7 +1166,7 @@ function importFromWorkOrderCSV(): void { user ) - workOrder = getWorkOrder(workOrderId, { + workOrder = await getWorkOrder(workOrderId, { includeLotsAndLotOccupancies: true, includeComments: true, includeMilestones: true @@ -1188,16 +1188,16 @@ function importFromWorkOrderCSV(): void { interment: workOrderRow.WO_INTERMENT }) - lot = getLotByLotName(lotName) + lot = await getLotByLotName(lotName) if (!lot) { - const map = getMap({ cemetery: workOrderRow.WO_CEMETERY }) + const map = await getMap({ cemetery: workOrderRow.WO_CEMETERY }) const lotTypeId = importIds.getLotTypeId({ cemetery: workOrderRow.WO_CEMETERY }) - const lotId = addLot( + const lotId = await addLot( { mapId: map.mapId!, lotName, @@ -1210,9 +1210,9 @@ function importFromWorkOrderCSV(): void { user ) - lot = getLot(lotId) + lot = await getLot(lotId) } else { - updateLotStatus(lot.lotId, importIds.takenLotStatusId, user) + await updateLotStatus(lot.lotId, importIds.takenLotStatusId, user) } const workOrderContainsLot = workOrder.workOrderLots!.find( @@ -1222,7 +1222,7 @@ function importFromWorkOrderCSV(): void { ) if (!workOrderContainsLot) { - addWorkOrderLot( + await addWorkOrderLot( { workOrderId: workOrder.workOrderId!, lotId: lot.lotId @@ -1248,7 +1248,7 @@ function importFromWorkOrderCSV(): void { ? importIds.deceasedOccupancyType : importIds.cremationOccupancyType - const lotOccupancyId = addLotOccupancy( + const lotOccupancyId = await addLotOccupancy( { lotId: lot ? lot.lotId : '', occupancyTypeId: occupancyType.occupancyTypeId, @@ -1258,7 +1258,7 @@ function importFromWorkOrderCSV(): void { user ) - addLotOccupancyOccupant( + await addLotOccupancyOccupant( { lotOccupancyId, lotOccupantTypeId: importIds.deceasedLotOccupantTypeId, @@ -1282,7 +1282,7 @@ function importFromWorkOrderCSV(): void { workOrderRow.WO_DEATH_DAY ) - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -1297,7 +1297,7 @@ function importFromWorkOrderCSV(): void { } if (workOrderRow.WO_DEATH_PLACE !== '') { - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -1312,7 +1312,7 @@ function importFromWorkOrderCSV(): void { } if (workOrderRow.WO_AGE !== '') { - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -1327,7 +1327,7 @@ function importFromWorkOrderCSV(): void { } if (workOrderRow.WO_PERIOD !== '') { - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -1349,7 +1349,7 @@ function importFromWorkOrderCSV(): void { workOrderRow.WO_FUNERAL_HOME ) - addLotOccupancyOccupant( + await addLotOccupancyOccupant( { lotOccupancyId, lotOccupantTypeId: funeralHomeOccupant.lotOccupantTypeId!, @@ -1386,7 +1386,7 @@ function importFromWorkOrderCSV(): void { workOrderRow.WO_FUNERAL_DAY ) - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -1402,7 +1402,7 @@ function importFromWorkOrderCSV(): void { if (occupancyType.occupancyType !== 'Cremation') { if (workOrderRow.WO_CONTAINER_TYPE !== '') { - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -1425,7 +1425,7 @@ function importFromWorkOrderCSV(): void { commitalType = 'Graveside' } - addOrUpdateLotOccupancyField( + await addOrUpdateLotOccupancyField( { lotOccupancyId, occupancyTypeFieldId: occupancyType.occupancyTypeFields!.find( @@ -1442,7 +1442,7 @@ function importFromWorkOrderCSV(): void { } } - addWorkOrderLotOccupancy( + await addWorkOrderLotOccupancy( { workOrderId: workOrder.workOrderId!, lotOccupancyId @@ -1456,7 +1456,7 @@ function importFromWorkOrderCSV(): void { let maxMilestoneCompletionDateString = workOrderOpenDateString if (importIds.acknowledgedWorkOrderMilestoneTypeId) { - addWorkOrderMilestone( + await addWorkOrderMilestone( { workOrderId: workOrder.workOrderId, workOrderMilestoneTypeId: @@ -1482,7 +1482,7 @@ function importFromWorkOrderCSV(): void { ) if (importIds.deathWorkOrderMilestoneTypeId) { - addWorkOrderMilestone( + await addWorkOrderMilestone( { workOrderId: workOrder.workOrderId!, workOrderMilestoneTypeId: importIds.deathWorkOrderMilestoneTypeId, @@ -1529,7 +1529,7 @@ function importFromWorkOrderCSV(): void { ) if (importIds.funeralWorkOrderMilestoneTypeId) { - addWorkOrderMilestone( + await addWorkOrderMilestone( { workOrderId: workOrder.workOrderId!, workOrderMilestoneTypeId: @@ -1564,7 +1564,7 @@ function importFromWorkOrderCSV(): void { workOrderRow.WO_CREMATION === 'Y' && importIds.cremationWorkOrderMilestoneTypeId ) { - addWorkOrderMilestone( + await addWorkOrderMilestone( { workOrderId: workOrder.workOrderId!, workOrderMilestoneTypeId: @@ -1592,7 +1592,7 @@ function importFromWorkOrderCSV(): void { ) if (importIds.intermentWorkOrderMilestoneTypeId) { - addWorkOrderMilestone( + await addWorkOrderMilestone( { workOrderId: workOrder.workOrderId!, workOrderMilestoneTypeId: @@ -1622,7 +1622,7 @@ function importFromWorkOrderCSV(): void { } if (!hasIncompleteMilestones) { - closeWorkOrder( + await closeWorkOrder( { workOrderId: workOrder.workOrderId!, workOrderCloseDateString: maxMilestoneCompletionDateString @@ -1639,14 +1639,14 @@ function importFromWorkOrderCSV(): void { console.timeEnd('importFromWorkOrderCSV') } -console.log('Started ' + (new Date().toLocaleString())) +console.log('Started ' + new Date().toLocaleString()) console.time('importFromCsv') purgeTables() // purgeConfigTables(); -importFromMasterCSV() -importFromPrepaidCSV() -importFromWorkOrderCSV() +await importFromMasterCSV() +await importFromPrepaidCSV() +await importFromWorkOrderCSV() console.timeEnd('importFromCsv') -console.log('Finished ' + (new Date().toLocaleString())) +console.log('Finished ' + new Date().toLocaleString()) diff --git a/temp/legacy.importFromCsv.ids.js b/temp/legacy.importFromCsv.ids.js index 3db663a3..fe9f9562 100644 --- a/temp/legacy.importFromCsv.ids.js +++ b/temp/legacy.importFromCsv.ids.js @@ -17,19 +17,22 @@ export function getFeeIdByFeeDescription(feeDescription) { } return feeCache.get(feeDescription); } -export const preneedOwnerLotOccupantTypeId = cacheFunctions.getLotOccupantTypeByLotOccupantType('Preneed Owner').lotOccupantTypeId; -export const funeralDirectorLotOccupantTypeId = cacheFunctions.getLotOccupantTypeByLotOccupantType('Funeral Director').lotOccupantTypeId; -export const deceasedLotOccupantTypeId = cacheFunctions.getLotOccupantTypeByLotOccupantType('Deceased').lotOccupantTypeId; -export const purchaserLotOccupantTypeId = cacheFunctions.getLotOccupantTypeByLotOccupantType('Purchaser').lotOccupantTypeId; -export const availableLotStatusId = cacheFunctions.getLotStatusByLotStatus('Available').lotStatusId; -export const reservedLotStatusId = cacheFunctions.getLotStatusByLotStatus('Reserved').lotStatusId; -export const takenLotStatusId = cacheFunctions.getLotStatusByLotStatus('Taken').lotStatusId; -const casketLotTypeId = cacheFunctions.getLotTypesByLotType('Casket Grave').lotTypeId; -const columbariumLotTypeId = cacheFunctions.getLotTypesByLotType('Columbarium').lotTypeId; -const crematoriumLotTypeId = cacheFunctions.getLotTypesByLotType('Crematorium').lotTypeId; -const mausoleumLotTypeId = cacheFunctions.getLotTypesByLotType('Mausoleum').lotTypeId; -const nicheWallLotTypeId = cacheFunctions.getLotTypesByLotType('Niche Wall').lotTypeId; -const urnGardenLotTypeId = cacheFunctions.getLotTypesByLotType('Urn Garden').lotTypeId; +export const preneedOwnerLotOccupantTypeId = (await cacheFunctions.getLotOccupantTypeByLotOccupantType('Preneed Owner')) + .lotOccupantTypeId; +export const funeralDirectorLotOccupantTypeId = (await cacheFunctions.getLotOccupantTypeByLotOccupantType('Funeral Director')).lotOccupantTypeId; +export const deceasedLotOccupantTypeId = (await cacheFunctions.getLotOccupantTypeByLotOccupantType('Deceased')) + .lotOccupantTypeId; +export const purchaserLotOccupantTypeId = (await cacheFunctions.getLotOccupantTypeByLotOccupantType('Purchaser')) + .lotOccupantTypeId; +export const availableLotStatusId = (await cacheFunctions.getLotStatusByLotStatus('Available')).lotStatusId; +export const reservedLotStatusId = (await cacheFunctions.getLotStatusByLotStatus('Reserved')).lotStatusId; +export const takenLotStatusId = (await cacheFunctions.getLotStatusByLotStatus('Taken')).lotStatusId; +const casketLotTypeId = (await cacheFunctions.getLotTypesByLotType('Casket Grave')).lotTypeId; +const columbariumLotTypeId = (await cacheFunctions.getLotTypesByLotType('Columbarium')).lotTypeId; +const crematoriumLotTypeId = (await cacheFunctions.getLotTypesByLotType('Crematorium')).lotTypeId; +const mausoleumLotTypeId = (await cacheFunctions.getLotTypesByLotType('Mausoleum')).lotTypeId; +const nicheWallLotTypeId = (await cacheFunctions.getLotTypesByLotType('Niche Wall')).lotTypeId; +const urnGardenLotTypeId = (await cacheFunctions.getLotTypesByLotType('Urn Garden')).lotTypeId; export function getLotTypeId(dataRow) { switch (dataRow.cemetery) { case '00': { @@ -52,12 +55,12 @@ export function getLotTypeId(dataRow) { } return casketLotTypeId; } -export const preneedOccupancyType = cacheFunctions.getOccupancyTypeByOccupancyType('Preneed'); -export const deceasedOccupancyType = cacheFunctions.getOccupancyTypeByOccupancyType('Interment'); -export const cremationOccupancyType = cacheFunctions.getOccupancyTypeByOccupancyType('Cremation'); -export const acknowledgedWorkOrderMilestoneTypeId = cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType('Acknowledged')?.workOrderMilestoneTypeId; -export const deathWorkOrderMilestoneTypeId = cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType('Death')?.workOrderMilestoneTypeId; -export const funeralWorkOrderMilestoneTypeId = cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType('Funeral')?.workOrderMilestoneTypeId; -export const cremationWorkOrderMilestoneTypeId = cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType('Cremation')?.workOrderMilestoneTypeId; -export const intermentWorkOrderMilestoneTypeId = cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType('Interment')?.workOrderMilestoneTypeId; +export const preneedOccupancyType = (await cacheFunctions.getOccupancyTypeByOccupancyType('Preneed')); +export const deceasedOccupancyType = (await cacheFunctions.getOccupancyTypeByOccupancyType('Interment')); +export const cremationOccupancyType = (await cacheFunctions.getOccupancyTypeByOccupancyType('Cremation')); +export const acknowledgedWorkOrderMilestoneTypeId = (await cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType('Acknowledged'))?.workOrderMilestoneTypeId; +export const deathWorkOrderMilestoneTypeId = (await cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType('Death'))?.workOrderMilestoneTypeId; +export const funeralWorkOrderMilestoneTypeId = (await cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType('Funeral'))?.workOrderMilestoneTypeId; +export const cremationWorkOrderMilestoneTypeId = (await cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType('Cremation'))?.workOrderMilestoneTypeId; +export const intermentWorkOrderMilestoneTypeId = (await cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType('Interment'))?.workOrderMilestoneTypeId; export const workOrderTypeId = 1; diff --git a/temp/legacy.importFromCsv.ids.ts b/temp/legacy.importFromCsv.ids.ts index dabcddbd..342fceae 100644 --- a/temp/legacy.importFromCsv.ids.ts +++ b/temp/legacy.importFromCsv.ids.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/no-await-expression-member */ import sqlite from 'better-sqlite3' import { lotOccupancyDB as databasePath } from '../data/databasePaths.js' @@ -39,52 +40,56 @@ export function getFeeIdByFeeDescription(feeDescription: string): number { */ export const preneedOwnerLotOccupantTypeId = - cacheFunctions.getLotOccupantTypeByLotOccupantType( - 'Preneed Owner' - )!.lotOccupantTypeId + (await cacheFunctions.getLotOccupantTypeByLotOccupantType('Preneed Owner'))! + .lotOccupantTypeId export const funeralDirectorLotOccupantTypeId = - cacheFunctions.getLotOccupantTypeByLotOccupantType( + (await cacheFunctions.getLotOccupantTypeByLotOccupantType( 'Funeral Director' - )!.lotOccupantTypeId + ))!.lotOccupantTypeId export const deceasedLotOccupantTypeId = - cacheFunctions.getLotOccupantTypeByLotOccupantType( - 'Deceased' - )!.lotOccupantTypeId + (await cacheFunctions.getLotOccupantTypeByLotOccupantType('Deceased'))! + .lotOccupantTypeId export const purchaserLotOccupantTypeId = - cacheFunctions.getLotOccupantTypeByLotOccupantType( - 'Purchaser' - )!.lotOccupantTypeId + (await cacheFunctions.getLotOccupantTypeByLotOccupantType('Purchaser'))! + .lotOccupantTypeId /* * Lot Status IDs */ export const availableLotStatusId = - cacheFunctions.getLotStatusByLotStatus('Available')!.lotStatusId + (await cacheFunctions.getLotStatusByLotStatus('Available'))!.lotStatusId export const reservedLotStatusId = - cacheFunctions.getLotStatusByLotStatus('Reserved')!.lotStatusId -export const takenLotStatusId = - cacheFunctions.getLotStatusByLotStatus('Taken')!.lotStatusId + (await cacheFunctions.getLotStatusByLotStatus('Reserved'))!.lotStatusId +export const takenLotStatusId = (await cacheFunctions.getLotStatusByLotStatus( + 'Taken' +))!.lotStatusId /* * Lot Type IDs */ -const casketLotTypeId = - cacheFunctions.getLotTypesByLotType('Casket Grave')!.lotTypeId -const columbariumLotTypeId = - cacheFunctions.getLotTypesByLotType('Columbarium')!.lotTypeId -const crematoriumLotTypeId = - cacheFunctions.getLotTypesByLotType('Crematorium')!.lotTypeId -const mausoleumLotTypeId = - cacheFunctions.getLotTypesByLotType('Mausoleum')!.lotTypeId -const nicheWallLotTypeId = - cacheFunctions.getLotTypesByLotType('Niche Wall')!.lotTypeId -const urnGardenLotTypeId = - cacheFunctions.getLotTypesByLotType('Urn Garden')!.lotTypeId +const casketLotTypeId = (await cacheFunctions.getLotTypesByLotType( + 'Casket Grave' +))!.lotTypeId +const columbariumLotTypeId = (await cacheFunctions.getLotTypesByLotType( + 'Columbarium' +))!.lotTypeId +const crematoriumLotTypeId = (await cacheFunctions.getLotTypesByLotType( + 'Crematorium' +))!.lotTypeId +const mausoleumLotTypeId = (await cacheFunctions.getLotTypesByLotType( + 'Mausoleum' +))!.lotTypeId +const nicheWallLotTypeId = (await cacheFunctions.getLotTypesByLotType( + 'Niche Wall' +))!.lotTypeId +const urnGardenLotTypeId = (await cacheFunctions.getLotTypesByLotType( + 'Urn Garden' +))!.lotTypeId export function getLotTypeId(dataRow: { cemetery: string }): number { switch (dataRow.cemetery) { @@ -115,42 +120,47 @@ export function getLotTypeId(dataRow: { cemetery: string }): number { */ export const preneedOccupancyType = - cacheFunctions.getOccupancyTypeByOccupancyType('Preneed')! + (await cacheFunctions.getOccupancyTypeByOccupancyType('Preneed'))! export const deceasedOccupancyType = - cacheFunctions.getOccupancyTypeByOccupancyType('Interment')! + (await cacheFunctions.getOccupancyTypeByOccupancyType('Interment'))! export const cremationOccupancyType = - cacheFunctions.getOccupancyTypeByOccupancyType('Cremation')! + (await cacheFunctions.getOccupancyTypeByOccupancyType('Cremation'))! /* * Work Order Milestone Type IDs */ -export const acknowledgedWorkOrderMilestoneTypeId = - cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType( +export const acknowledgedWorkOrderMilestoneTypeId = ( + await cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType( 'Acknowledged' - )?.workOrderMilestoneTypeId + ) +)?.workOrderMilestoneTypeId -export const deathWorkOrderMilestoneTypeId = - cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType( +export const deathWorkOrderMilestoneTypeId = ( + await cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType( 'Death' - )?.workOrderMilestoneTypeId + ) +)?.workOrderMilestoneTypeId -export const funeralWorkOrderMilestoneTypeId = - cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType( +export const funeralWorkOrderMilestoneTypeId = ( + await cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType( 'Funeral' - )?.workOrderMilestoneTypeId + ) +)?.workOrderMilestoneTypeId -export const cremationWorkOrderMilestoneTypeId = - cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType( +export const cremationWorkOrderMilestoneTypeId = ( + await cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType( 'Cremation' - )?.workOrderMilestoneTypeId + ) +)?.workOrderMilestoneTypeId -export const intermentWorkOrderMilestoneTypeId = - cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType( +export const intermentWorkOrderMilestoneTypeId = ( + await cacheFunctions.getWorkOrderMilestoneTypeByWorkOrderMilestoneType( 'Interment' - )?.workOrderMilestoneTypeId + ) +)?.workOrderMilestoneTypeId /* * Work Order Type IDs