diff --git a/handlers/admin-post/doDeleteFee.js b/handlers/admin-post/doDeleteFee.js index 1895f21b..f9044d6c 100644 --- a/handlers/admin-post/doDeleteFee.js +++ b/handlers/admin-post/doDeleteFee.js @@ -1,7 +1,7 @@ -import { deleteFee } from "../../helpers/lotOccupancyDB/deleteFee.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js"; export const handler = async (request, response) => { - const success = deleteFee(request.body.feeId, request.session); + const success = deleteRecord("Fees", request.body.feeId, request.session); const feeCategories = getFeeCategories({}, { includeFees: true }); diff --git a/handlers/admin-post/doDeleteFee.ts b/handlers/admin-post/doDeleteFee.ts index 0ea9f946..115539d5 100644 --- a/handlers/admin-post/doDeleteFee.ts +++ b/handlers/admin-post/doDeleteFee.ts @@ -1,11 +1,11 @@ import type { RequestHandler } from "express"; -import { deleteFee } from "../../helpers/lotOccupancyDB/deleteFee.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteFee(request.body.feeId, request.session); + const success = deleteRecord("Fees", request.body.feeId, request.session); const feeCategories = getFeeCategories( {}, diff --git a/handlers/admin-post/doDeleteFeeCategory.js b/handlers/admin-post/doDeleteFeeCategory.js index 65e6ed94..b6ac8536 100644 --- a/handlers/admin-post/doDeleteFeeCategory.js +++ b/handlers/admin-post/doDeleteFeeCategory.js @@ -1,7 +1,7 @@ -import { deleteFeeCategory } from "../../helpers/lotOccupancyDB/deleteFeeCategory.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js"; export const handler = async (request, response) => { - const success = deleteFeeCategory(request.body.feeCategoryId, request.session); + const success = deleteRecord("FeeCategories", request.body.feeCategoryId, request.session); const feeCategories = getFeeCategories({}, { includeFees: true }); diff --git a/handlers/admin-post/doDeleteFeeCategory.ts b/handlers/admin-post/doDeleteFeeCategory.ts index 592629ed..e7ad95f8 100644 --- a/handlers/admin-post/doDeleteFeeCategory.ts +++ b/handlers/admin-post/doDeleteFeeCategory.ts @@ -1,14 +1,11 @@ import type { RequestHandler } from "express"; -import { deleteFeeCategory } from "../../helpers/lotOccupancyDB/deleteFeeCategory.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteFeeCategory( - request.body.feeCategoryId, - request.session - ); + const success = deleteRecord("FeeCategories", request.body.feeCategoryId, request.session); const feeCategories = getFeeCategories( {}, diff --git a/handlers/admin-post/doDeleteLotOccupantType.js b/handlers/admin-post/doDeleteLotOccupantType.js index 49d92746..e01e4dff 100644 --- a/handlers/admin-post/doDeleteLotOccupantType.js +++ b/handlers/admin-post/doDeleteLotOccupantType.js @@ -1,7 +1,7 @@ -import { deleteLotOccupantType } from "../../helpers/lotOccupancyDB/deleteLotOccupantType.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getLotOccupantTypes } from "../../helpers/functions.cache.js"; export const handler = async (request, response) => { - const success = deleteLotOccupantType(request.body.lotOccupantTypeId, request.session); + const success = deleteRecord("LotOccupantTypes", request.body.lotOccupantTypeId, request.session); const lotOccupantTypes = getLotOccupantTypes(); response.json({ success, diff --git a/handlers/admin-post/doDeleteLotOccupantType.ts b/handlers/admin-post/doDeleteLotOccupantType.ts index 7231c33f..074420c5 100644 --- a/handlers/admin-post/doDeleteLotOccupantType.ts +++ b/handlers/admin-post/doDeleteLotOccupantType.ts @@ -1,14 +1,11 @@ import type { RequestHandler } from "express"; -import { deleteLotOccupantType } from "../../helpers/lotOccupancyDB/deleteLotOccupantType.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getLotOccupantTypes } from "../../helpers/functions.cache.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteLotOccupantType( - request.body.lotOccupantTypeId, - request.session - ); + const success = deleteRecord("LotOccupantTypes", request.body.lotOccupantTypeId, request.session); const lotOccupantTypes = getLotOccupantTypes(); diff --git a/handlers/admin-post/doDeleteLotStatus.js b/handlers/admin-post/doDeleteLotStatus.js index 6704c67f..a5234576 100644 --- a/handlers/admin-post/doDeleteLotStatus.js +++ b/handlers/admin-post/doDeleteLotStatus.js @@ -1,7 +1,7 @@ -import { deleteLotStatus } from "../../helpers/lotOccupancyDB/deleteLotStatus.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getLotStatuses } from "../../helpers/functions.cache.js"; export const handler = async (request, response) => { - const success = deleteLotStatus(request.body.lotStatusId, request.session); + const success = deleteRecord("LotStatuses", request.body.lotStatusId, request.session); const lotStatuses = getLotStatuses(); response.json({ success, diff --git a/handlers/admin-post/doDeleteLotStatus.ts b/handlers/admin-post/doDeleteLotStatus.ts index 2651119a..d306ce21 100644 --- a/handlers/admin-post/doDeleteLotStatus.ts +++ b/handlers/admin-post/doDeleteLotStatus.ts @@ -1,11 +1,11 @@ import type { RequestHandler } from "express"; -import { deleteLotStatus } from "../../helpers/lotOccupancyDB/deleteLotStatus.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getLotStatuses } from "../../helpers/functions.cache.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteLotStatus(request.body.lotStatusId, request.session); + const success = deleteRecord("LotStatuses", request.body.lotStatusId, request.session); const lotStatuses = getLotStatuses(); diff --git a/handlers/admin-post/doDeleteLotType.js b/handlers/admin-post/doDeleteLotType.js index 6b676cc3..84a8f623 100644 --- a/handlers/admin-post/doDeleteLotType.js +++ b/handlers/admin-post/doDeleteLotType.js @@ -1,7 +1,7 @@ -import { deleteLotType } from "../../helpers/lotOccupancyDB/deleteLotType.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getLotTypes } from "../../helpers/functions.cache.js"; export const handler = async (request, response) => { - const success = deleteLotType(request.body.lotTypeId, request.session); + const success = deleteRecord("LotTypes", request.body.lotTypeId, request.session); const lotTypes = getLotTypes(); response.json({ success, diff --git a/handlers/admin-post/doDeleteLotType.ts b/handlers/admin-post/doDeleteLotType.ts index b7476eb1..1908b4c8 100644 --- a/handlers/admin-post/doDeleteLotType.ts +++ b/handlers/admin-post/doDeleteLotType.ts @@ -1,14 +1,11 @@ import type { RequestHandler } from "express"; -import { deleteLotType } from "../../helpers/lotOccupancyDB/deleteLotType.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getLotTypes } from "../../helpers/functions.cache.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteLotType( - request.body.lotTypeId, - request.session - ); + const success = deleteRecord("LotTypes", request.body.lotTypeId, request.session); const lotTypes = getLotTypes(); diff --git a/handlers/admin-post/doDeleteLotTypeField.js b/handlers/admin-post/doDeleteLotTypeField.js index c37821e8..440529d2 100644 --- a/handlers/admin-post/doDeleteLotTypeField.js +++ b/handlers/admin-post/doDeleteLotTypeField.js @@ -1,7 +1,7 @@ -import { deleteLotTypeField } from "../../helpers/lotOccupancyDB/deleteLotTypeField.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getLotTypes } from "../../helpers/functions.cache.js"; export const handler = async (request, response) => { - const success = deleteLotTypeField(request.body.lotTypeFieldId, request.session); + const success = deleteRecord("LotTypeFields", request.body.lotTypeFieldId, request.session); const lotTypes = getLotTypes(); response.json({ success, diff --git a/handlers/admin-post/doDeleteLotTypeField.ts b/handlers/admin-post/doDeleteLotTypeField.ts index 329b9dd7..c6183d87 100644 --- a/handlers/admin-post/doDeleteLotTypeField.ts +++ b/handlers/admin-post/doDeleteLotTypeField.ts @@ -1,11 +1,11 @@ import type { RequestHandler } from "express"; -import { deleteLotTypeField } from "../../helpers/lotOccupancyDB/deleteLotTypeField.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getLotTypes } from "../../helpers/functions.cache.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteLotTypeField(request.body.lotTypeFieldId, request.session); + const success = deleteRecord("LotTypeFields", request.body.lotTypeFieldId, request.session); const lotTypes = getLotTypes(); diff --git a/handlers/admin-post/doDeleteOccupancyType.js b/handlers/admin-post/doDeleteOccupancyType.js index 2d4a23f8..3cee56cc 100644 --- a/handlers/admin-post/doDeleteOccupancyType.js +++ b/handlers/admin-post/doDeleteOccupancyType.js @@ -1,7 +1,7 @@ -import { deleteOccupancyType } from "../../helpers/lotOccupancyDB/deleteOccupancyType.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getAllOccupancyTypeFields, getOccupancyTypes } from "../../helpers/functions.cache.js"; export const handler = async (request, response) => { - const success = deleteOccupancyType(request.body.occupancyTypeId, request.session); + const success = deleteRecord("OccupancyTypes", request.body.occupancyTypeId, request.session); const occupancyTypes = getOccupancyTypes(); const allOccupancyTypeFields = getAllOccupancyTypeFields(); response.json({ diff --git a/handlers/admin-post/doDeleteOccupancyType.ts b/handlers/admin-post/doDeleteOccupancyType.ts index daccdf62..a27333f0 100644 --- a/handlers/admin-post/doDeleteOccupancyType.ts +++ b/handlers/admin-post/doDeleteOccupancyType.ts @@ -1,14 +1,11 @@ import type { RequestHandler } from "express"; -import { deleteOccupancyType } from "../../helpers/lotOccupancyDB/deleteOccupancyType.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getAllOccupancyTypeFields, getOccupancyTypes } from "../../helpers/functions.cache.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteOccupancyType( - request.body.occupancyTypeId, - request.session - ); + const success = deleteRecord("OccupancyTypes", request.body.occupancyTypeId, request.session); const occupancyTypes = getOccupancyTypes(); const allOccupancyTypeFields = getAllOccupancyTypeFields(); diff --git a/handlers/admin-post/doDeleteOccupancyTypeField.js b/handlers/admin-post/doDeleteOccupancyTypeField.js index 8c46a6b1..40f62152 100644 --- a/handlers/admin-post/doDeleteOccupancyTypeField.js +++ b/handlers/admin-post/doDeleteOccupancyTypeField.js @@ -1,7 +1,7 @@ -import { deleteOccupancyTypeField } from "../../helpers/lotOccupancyDB/deleteOccupancyTypeField.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getAllOccupancyTypeFields, getOccupancyTypes } from "../../helpers/functions.cache.js"; export const handler = async (request, response) => { - const success = deleteOccupancyTypeField(request.body.occupancyTypeFieldId, request.session); + const success = deleteRecord("OccupancyTypeFields", request.body.occupancyTypeFieldId, request.session); const occupancyTypes = getOccupancyTypes(); const allOccupancyTypeFields = getAllOccupancyTypeFields(); response.json({ diff --git a/handlers/admin-post/doDeleteOccupancyTypeField.ts b/handlers/admin-post/doDeleteOccupancyTypeField.ts index 8b6c2eee..e2ca790d 100644 --- a/handlers/admin-post/doDeleteOccupancyTypeField.ts +++ b/handlers/admin-post/doDeleteOccupancyTypeField.ts @@ -1,14 +1,11 @@ import type { RequestHandler } from "express"; -import { deleteOccupancyTypeField } from "../../helpers/lotOccupancyDB/deleteOccupancyTypeField.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getAllOccupancyTypeFields, getOccupancyTypes } from "../../helpers/functions.cache.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteOccupancyTypeField( - request.body.occupancyTypeFieldId, - request.session - ); + const success = deleteRecord("OccupancyTypeFields", request.body.occupancyTypeFieldId, request.session); const occupancyTypes = getOccupancyTypes(); const allOccupancyTypeFields = getAllOccupancyTypeFields(); diff --git a/handlers/admin-post/doDeleteWorkOrderMilestoneType.js b/handlers/admin-post/doDeleteWorkOrderMilestoneType.js index 37de25e5..7ba36e88 100644 --- a/handlers/admin-post/doDeleteWorkOrderMilestoneType.js +++ b/handlers/admin-post/doDeleteWorkOrderMilestoneType.js @@ -1,7 +1,7 @@ -import { deleteWorkOrderMilestoneType } from "../../helpers/lotOccupancyDB/deleteWorkOrderMilestoneType.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getWorkOrderMilestoneTypes } from "../../helpers/functions.cache.js"; export const handler = async (request, response) => { - const success = deleteWorkOrderMilestoneType(request.body.workOrderMilestoneTypeId, request.session); + const success = deleteRecord("WorkOrderMilestoneTypes", request.body.workOrderMilestoneTypeId, request.session); const workOrderMilestoneTypes = getWorkOrderMilestoneTypes(); response.json({ success, diff --git a/handlers/admin-post/doDeleteWorkOrderMilestoneType.ts b/handlers/admin-post/doDeleteWorkOrderMilestoneType.ts index 475cbea9..45c7966d 100644 --- a/handlers/admin-post/doDeleteWorkOrderMilestoneType.ts +++ b/handlers/admin-post/doDeleteWorkOrderMilestoneType.ts @@ -1,11 +1,12 @@ import type { RequestHandler } from "express"; -import { deleteWorkOrderMilestoneType } from "../../helpers/lotOccupancyDB/deleteWorkOrderMilestoneType.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getWorkOrderMilestoneTypes } from "../../helpers/functions.cache.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteWorkOrderMilestoneType( + const success = deleteRecord( + "WorkOrderMilestoneTypes", request.body.workOrderMilestoneTypeId, request.session ); diff --git a/handlers/admin-post/doDeleteWorkOrderType.js b/handlers/admin-post/doDeleteWorkOrderType.js index ee97f65b..2d88115e 100644 --- a/handlers/admin-post/doDeleteWorkOrderType.js +++ b/handlers/admin-post/doDeleteWorkOrderType.js @@ -1,7 +1,7 @@ -import { deleteWorkOrderType } from "../../helpers/lotOccupancyDB/deleteWorkOrderType.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getWorkOrderTypes } from "../../helpers/functions.cache.js"; export const handler = async (request, response) => { - const success = deleteWorkOrderType(request.body.workOrderTypeId, request.session); + const success = deleteRecord("WorkOrderTypes", request.body.workOrderTypeId, request.session); const workOrderTypes = getWorkOrderTypes(); response.json({ success, diff --git a/handlers/admin-post/doDeleteWorkOrderType.ts b/handlers/admin-post/doDeleteWorkOrderType.ts index 10d83de1..699ed2e3 100644 --- a/handlers/admin-post/doDeleteWorkOrderType.ts +++ b/handlers/admin-post/doDeleteWorkOrderType.ts @@ -1,14 +1,11 @@ import type { RequestHandler } from "express"; -import { deleteWorkOrderType } from "../../helpers/lotOccupancyDB/deleteWorkOrderType.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getWorkOrderTypes } from "../../helpers/functions.cache.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteWorkOrderType( - request.body.workOrderTypeId, - request.session - ); + const success = deleteRecord("WorkOrderTypes", request.body.workOrderTypeId, request.session); const workOrderTypes = getWorkOrderTypes(); diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancy.js b/handlers/lotOccupancies-post/doDeleteLotOccupancy.js index 334e3f28..3f145f28 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancy.js +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancy.js @@ -1,6 +1,6 @@ -import { deleteLotOccupancy } from "../../helpers/lotOccupancyDB/deleteLotOccupancy.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; export const handler = async (request, response) => { - const success = deleteLotOccupancy(request.body.lotOccupancyId, request.session); + const success = deleteRecord("LotOccupancies", request.body.lotOccupancyId, request.session); response.json({ success }); diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancy.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancy.ts index 4af8bb80..1dc1a92f 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancy.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancy.ts @@ -1,12 +1,9 @@ import type { RequestHandler } from "express"; -import { deleteLotOccupancy } from "../../helpers/lotOccupancyDB/deleteLotOccupancy.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteLotOccupancy( - request.body.lotOccupancyId, - request.session - ); + const success = deleteRecord("LotOccupancies", request.body.lotOccupancyId, request.session); response.json({ success diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.js b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.js index c2f2d2ca..ad9a4a0f 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.js +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.js @@ -1,7 +1,7 @@ -import { deleteLotOccupancyComment } from "../../helpers/lotOccupancyDB/deleteLotOccupancyComment.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getLotOccupancyComments } from "../../helpers/lotOccupancyDB/getLotOccupancyComments.js"; export const handler = async (request, response) => { - const success = deleteLotOccupancyComment(request.body.lotOccupancyCommentId, request.session); + const success = deleteRecord("LotOccupancyComments", request.body.lotOccupancyCommentId, request.session); const lotOccupancyComments = getLotOccupancyComments(request.body.lotOccupancyId); response.json({ success, diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.ts index 621b4d9f..2516cf4d 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.ts @@ -1,18 +1,13 @@ import type { RequestHandler } from "express"; -import { deleteLotOccupancyComment } from "../../helpers/lotOccupancyDB/deleteLotOccupancyComment.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getLotOccupancyComments } from "../../helpers/lotOccupancyDB/getLotOccupancyComments.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteLotOccupancyComment( - request.body.lotOccupancyCommentId, - request.session - ); + const success = deleteRecord("LotOccupancyComments", request.body.lotOccupancyCommentId, request.session); - const lotOccupancyComments = getLotOccupancyComments( - request.body.lotOccupancyId - ); + const lotOccupancyComments = getLotOccupancyComments(request.body.lotOccupancyId); response.json({ success, diff --git a/handlers/lots-post/doDeleteLot.js b/handlers/lots-post/doDeleteLot.js index ec62e3fa..a4cd422e 100644 --- a/handlers/lots-post/doDeleteLot.js +++ b/handlers/lots-post/doDeleteLot.js @@ -1,6 +1,6 @@ -import { deleteLot } from "../../helpers/lotOccupancyDB/deleteLot.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; export const handler = async (request, response) => { - const success = deleteLot(request.body.lotId, request.session); + const success = deleteRecord("Lots", request.body.lotId, request.session); response.json({ success }); diff --git a/handlers/lots-post/doDeleteLot.ts b/handlers/lots-post/doDeleteLot.ts index b3b0007d..4243a71f 100644 --- a/handlers/lots-post/doDeleteLot.ts +++ b/handlers/lots-post/doDeleteLot.ts @@ -1,12 +1,9 @@ import type { RequestHandler } from "express"; -import { deleteLot } from "../../helpers/lotOccupancyDB/deleteLot.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteLot( - request.body.lotId, - request.session - ); + const success = deleteRecord("Lots", request.body.lotId, request.session); response.json({ success diff --git a/handlers/lots-post/doDeleteLotComment.js b/handlers/lots-post/doDeleteLotComment.js index 9af54d2f..ecf4ff6c 100644 --- a/handlers/lots-post/doDeleteLotComment.js +++ b/handlers/lots-post/doDeleteLotComment.js @@ -1,7 +1,7 @@ -import { deleteLotComment } from "../../helpers/lotOccupancyDB/deleteLotComment.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getLotComments } from "../../helpers/lotOccupancyDB/getLotComments.js"; export const handler = async (request, response) => { - const success = deleteLotComment(request.body.lotCommentId, request.session); + const success = deleteRecord("LotComments", request.body.lotCommentId, request.session); const lotComments = getLotComments(request.body.lotId); response.json({ success, diff --git a/handlers/lots-post/doDeleteLotComment.ts b/handlers/lots-post/doDeleteLotComment.ts index aaf431e0..b42514cf 100644 --- a/handlers/lots-post/doDeleteLotComment.ts +++ b/handlers/lots-post/doDeleteLotComment.ts @@ -1,14 +1,11 @@ import type { RequestHandler } from "express"; -import { deleteLotComment } from "../../helpers/lotOccupancyDB/deleteLotComment.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getLotComments } from "../../helpers/lotOccupancyDB/getLotComments.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteLotComment( - request.body.lotCommentId, - request.session - ); + const success = deleteRecord("LotComments", request.body.lotCommentId, request.session); const lotComments = getLotComments(request.body.lotId); diff --git a/handlers/maps-post/doDeleteMap.js b/handlers/maps-post/doDeleteMap.js index b70cc2e7..5a63b500 100644 --- a/handlers/maps-post/doDeleteMap.js +++ b/handlers/maps-post/doDeleteMap.js @@ -1,6 +1,6 @@ -import { deleteMap } from "../../helpers/lotOccupancyDB/deleteMap.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; export const handler = async (request, response) => { - const success = deleteMap(request.body.mapId, request.session); + const success = deleteRecord("Maps", request.body.mapId, request.session); response.json({ success }); diff --git a/handlers/maps-post/doDeleteMap.ts b/handlers/maps-post/doDeleteMap.ts index b1103bae..5284e4fa 100644 --- a/handlers/maps-post/doDeleteMap.ts +++ b/handlers/maps-post/doDeleteMap.ts @@ -1,9 +1,9 @@ import type { RequestHandler } from "express"; -import { deleteMap } from "../../helpers/lotOccupancyDB/deleteMap.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteMap(request.body.mapId, request.session); + const success = deleteRecord("Maps", request.body.mapId, request.session); response.json({ success diff --git a/handlers/workOrders-post/doDeleteWorkOrder.js b/handlers/workOrders-post/doDeleteWorkOrder.js index 0753e3d1..19037f87 100644 --- a/handlers/workOrders-post/doDeleteWorkOrder.js +++ b/handlers/workOrders-post/doDeleteWorkOrder.js @@ -1,6 +1,6 @@ -import { deleteWorkOrder } from "../../helpers/lotOccupancyDB/deleteWorkOrder.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; export const handler = async (request, response) => { - const success = deleteWorkOrder(request.body.workOrderId, request.session); + const success = deleteRecord("WorkOrders", request.body.workOrderId, request.session); response.json({ success }); diff --git a/handlers/workOrders-post/doDeleteWorkOrder.ts b/handlers/workOrders-post/doDeleteWorkOrder.ts index 83e9bc9e..bad5877d 100644 --- a/handlers/workOrders-post/doDeleteWorkOrder.ts +++ b/handlers/workOrders-post/doDeleteWorkOrder.ts @@ -1,9 +1,9 @@ import type { RequestHandler } from "express"; -import { deleteWorkOrder } from "../../helpers/lotOccupancyDB/deleteWorkOrder.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteWorkOrder(request.body.workOrderId, request.session); + const success = deleteRecord("WorkOrders", request.body.workOrderId, request.session); response.json({ success diff --git a/handlers/workOrders-post/doDeleteWorkOrderComment.js b/handlers/workOrders-post/doDeleteWorkOrderComment.js index 2765358c..152ad528 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderComment.js +++ b/handlers/workOrders-post/doDeleteWorkOrderComment.js @@ -1,7 +1,7 @@ -import { deleteWorkOrderComment } from "../../helpers/lotOccupancyDB/deleteWorkOrderComment.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getWorkOrderComments } from "../../helpers/lotOccupancyDB/getWorkOrderComments.js"; export const handler = async (request, response) => { - const success = deleteWorkOrderComment(request.body.workOrderCommentId, request.session); + const success = deleteRecord("WorkOrderComments", request.body.workOrderCommentId, request.session); const workOrderComments = getWorkOrderComments(request.body.workOrderId); response.json({ success, diff --git a/handlers/workOrders-post/doDeleteWorkOrderComment.ts b/handlers/workOrders-post/doDeleteWorkOrderComment.ts index 2b7a7cb8..9043252c 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderComment.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderComment.ts @@ -1,11 +1,11 @@ import type { RequestHandler } from "express"; -import { deleteWorkOrderComment } from "../../helpers/lotOccupancyDB/deleteWorkOrderComment.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getWorkOrderComments } from "../../helpers/lotOccupancyDB/getWorkOrderComments.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteWorkOrderComment(request.body.workOrderCommentId, request.session); + const success = deleteRecord("WorkOrderComments", request.body.workOrderCommentId, request.session); const workOrderComments = getWorkOrderComments(request.body.workOrderId); diff --git a/handlers/workOrders-post/doDeleteWorkOrderMilestone.js b/handlers/workOrders-post/doDeleteWorkOrderMilestone.js index 0285b37c..fd158746 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderMilestone.js +++ b/handlers/workOrders-post/doDeleteWorkOrderMilestone.js @@ -1,7 +1,7 @@ -import { deleteWorkOrderMilestone } from "../../helpers/lotOccupancyDB/deleteWorkOrderMilestone.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getWorkOrderMilestones } from "../../helpers/lotOccupancyDB/getWorkOrderMilestones.js"; export const handler = async (request, response) => { - const success = deleteWorkOrderMilestone(request.body.workOrderMilestoneId, request.session); + const success = deleteRecord("WorkOrderMilestones", request.body.workOrderMilestoneId, request.session); const workOrderMilestones = getWorkOrderMilestones({ workOrderId: request.body.workOrderId }, { diff --git a/handlers/workOrders-post/doDeleteWorkOrderMilestone.ts b/handlers/workOrders-post/doDeleteWorkOrderMilestone.ts index 72256117..fb64b6a6 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderMilestone.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderMilestone.ts @@ -1,14 +1,11 @@ import type { RequestHandler } from "express"; -import { deleteWorkOrderMilestone } from "../../helpers/lotOccupancyDB/deleteWorkOrderMilestone.js"; +import { deleteRecord } from "../../helpers/lotOccupancyDB/deleteRecord.js"; import { getWorkOrderMilestones } from "../../helpers/lotOccupancyDB/getWorkOrderMilestones.js"; export const handler: RequestHandler = async (request, response) => { - const success = deleteWorkOrderMilestone( - request.body.workOrderMilestoneId, - request.session - ); + const success = deleteRecord("WorkOrderMilestones", request.body.workOrderMilestoneId, request.session); const workOrderMilestones = getWorkOrderMilestones( { diff --git a/helpers/lotOccupancyDB/deleteFee.d.ts b/helpers/lotOccupancyDB/deleteFee.d.ts deleted file mode 100644 index 8f428d73..00000000 --- a/helpers/lotOccupancyDB/deleteFee.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteFee(feeId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteFee; diff --git a/helpers/lotOccupancyDB/deleteFee.js b/helpers/lotOccupancyDB/deleteFee.js deleted file mode 100644 index feb7a149..00000000 --- a/helpers/lotOccupancyDB/deleteFee.js +++ /dev/null @@ -1,15 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -export function deleteFee(feeId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - const result = database - .prepare(`update Fees - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where feeId = ?`) - .run(requestSession.user.userName, rightNowMillis, feeId); - database.close(); - return result.changes > 0; -} -export default deleteFee; diff --git a/helpers/lotOccupancyDB/deleteFee.ts b/helpers/lotOccupancyDB/deleteFee.ts deleted file mode 100644 index 6b2b8a11..00000000 --- a/helpers/lotOccupancyDB/deleteFee.ts +++ /dev/null @@ -1,29 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteFee( - feeId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - const result = database - .prepare( - `update Fees - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where feeId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, feeId); - - database.close(); - - return result.changes > 0; -} - -export default deleteFee; diff --git a/helpers/lotOccupancyDB/deleteFeeCategory.d.ts b/helpers/lotOccupancyDB/deleteFeeCategory.d.ts deleted file mode 100644 index 551e1484..00000000 --- a/helpers/lotOccupancyDB/deleteFeeCategory.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteFeeCategory(feeCategoryId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteFeeCategory; diff --git a/helpers/lotOccupancyDB/deleteFeeCategory.js b/helpers/lotOccupancyDB/deleteFeeCategory.js deleted file mode 100644 index baaeee98..00000000 --- a/helpers/lotOccupancyDB/deleteFeeCategory.js +++ /dev/null @@ -1,21 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -export function deleteFeeCategory(feeCategoryId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - const result = database - .prepare(`update FeeCategories - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where feeCategoryId = ?`) - .run(requestSession.user.userName, rightNowMillis, feeCategoryId); - database - .prepare(`update Fees - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where feeCategoryId = ?`) - .run(requestSession.user.userName, rightNowMillis, feeCategoryId); - database.close(); - return result.changes > 0; -} -export default deleteFeeCategory; diff --git a/helpers/lotOccupancyDB/deleteFeeCategory.ts b/helpers/lotOccupancyDB/deleteFeeCategory.ts deleted file mode 100644 index d5eeef7b..00000000 --- a/helpers/lotOccupancyDB/deleteFeeCategory.ts +++ /dev/null @@ -1,38 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteFeeCategory( - feeCategoryId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - const result = database - .prepare( - `update FeeCategories - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where feeCategoryId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, feeCategoryId); - - database - .prepare( - `update Fees - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where feeCategoryId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, feeCategoryId); - - database.close(); - - return result.changes > 0; -} - -export default deleteFeeCategory; diff --git a/helpers/lotOccupancyDB/deleteLot.d.ts b/helpers/lotOccupancyDB/deleteLot.d.ts deleted file mode 100644 index eed4b3c3..00000000 --- a/helpers/lotOccupancyDB/deleteLot.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteLot(lotId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteLot; diff --git a/helpers/lotOccupancyDB/deleteLot.js b/helpers/lotOccupancyDB/deleteLot.js deleted file mode 100644 index 827ad97a..00000000 --- a/helpers/lotOccupancyDB/deleteLot.js +++ /dev/null @@ -1,18 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -export function deleteLot(lotId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - let result; - for (const tableName of ["LotFields", "LotComments", "Lots"]) { - result = database - .prepare(`update ${tableName} - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotId = ?`) - .run(requestSession.user.userName, rightNowMillis, lotId); - } - database.close(); - return result.changes > 0; -} -export default deleteLot; diff --git a/helpers/lotOccupancyDB/deleteLot.ts b/helpers/lotOccupancyDB/deleteLot.ts deleted file mode 100644 index 82313d89..00000000 --- a/helpers/lotOccupancyDB/deleteLot.ts +++ /dev/null @@ -1,33 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteLot( - lotId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - let result: sqlite.RunResult; - - for (const tableName of ["LotFields", "LotComments", "Lots"]) { - result = database - .prepare( - `update ${tableName} - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, lotId); - } - - database.close(); - - return result.changes > 0; -} - -export default deleteLot; diff --git a/helpers/lotOccupancyDB/deleteLotComment.d.ts b/helpers/lotOccupancyDB/deleteLotComment.d.ts deleted file mode 100644 index 258ffeef..00000000 --- a/helpers/lotOccupancyDB/deleteLotComment.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteLotComment(lotCommentId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteLotComment; diff --git a/helpers/lotOccupancyDB/deleteLotComment.js b/helpers/lotOccupancyDB/deleteLotComment.js deleted file mode 100644 index 64b113c4..00000000 --- a/helpers/lotOccupancyDB/deleteLotComment.js +++ /dev/null @@ -1,15 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -export function deleteLotComment(lotCommentId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - const result = database - .prepare(`update LotComments - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotCommentId = ?`) - .run(requestSession.user.userName, rightNowMillis, lotCommentId); - database.close(); - return result.changes > 0; -} -export default deleteLotComment; diff --git a/helpers/lotOccupancyDB/deleteLotComment.ts b/helpers/lotOccupancyDB/deleteLotComment.ts deleted file mode 100644 index 6868c1cd..00000000 --- a/helpers/lotOccupancyDB/deleteLotComment.ts +++ /dev/null @@ -1,29 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteLotComment( - lotCommentId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - const result = database - .prepare( - `update LotComments - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotCommentId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, lotCommentId); - - database.close(); - - return result.changes > 0; -} - -export default deleteLotComment; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancy.d.ts b/helpers/lotOccupancyDB/deleteLotOccupancy.d.ts deleted file mode 100644 index fa6507d0..00000000 --- a/helpers/lotOccupancyDB/deleteLotOccupancy.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteLotOccupancy(lotOccupancyId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteLotOccupancy; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancy.js b/helpers/lotOccupancyDB/deleteLotOccupancy.js deleted file mode 100644 index 128ea1ac..00000000 --- a/helpers/lotOccupancyDB/deleteLotOccupancy.js +++ /dev/null @@ -1,23 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -export function deleteLotOccupancy(lotOccupancyId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - let result; - for (const tableName of [ - "LotOccupancyOccupants", - "LotOccupancyFields", - "LotOccupancyComments", - "LotOccupancies" - ]) { - result = database - .prepare(`update ${tableName} - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotOccupancyId = ?`) - .run(requestSession.user.userName, rightNowMillis, lotOccupancyId); - } - database.close(); - return result.changes > 0; -} -export default deleteLotOccupancy; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancy.ts b/helpers/lotOccupancyDB/deleteLotOccupancy.ts deleted file mode 100644 index 9816cd53..00000000 --- a/helpers/lotOccupancyDB/deleteLotOccupancy.ts +++ /dev/null @@ -1,39 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteLotOccupancy( - lotOccupancyId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - let result: sqlite.RunResult; - - // Do not auto-delete Fees or Transactions. Maintain financials. - for (const tableName of [ - "LotOccupancyOccupants", - "LotOccupancyFields", - "LotOccupancyComments", - "LotOccupancies" - ]) { - result = database - .prepare( - `update ${tableName} - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotOccupancyId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, lotOccupancyId); - } - - database.close(); - - return result.changes > 0; -} - -export default deleteLotOccupancy; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyComment.d.ts b/helpers/lotOccupancyDB/deleteLotOccupancyComment.d.ts deleted file mode 100644 index 48791cdb..00000000 --- a/helpers/lotOccupancyDB/deleteLotOccupancyComment.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteLotOccupancyComment(lotOccupancyCommentId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteLotOccupancyComment; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyComment.js b/helpers/lotOccupancyDB/deleteLotOccupancyComment.js deleted file mode 100644 index 4c9ed8cd..00000000 --- a/helpers/lotOccupancyDB/deleteLotOccupancyComment.js +++ /dev/null @@ -1,15 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -export function deleteLotOccupancyComment(lotOccupancyCommentId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - const result = database - .prepare(`update LotOccupancyComments - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotOccupancyCommentId = ?`) - .run(requestSession.user.userName, rightNowMillis, lotOccupancyCommentId); - database.close(); - return result.changes > 0; -} -export default deleteLotOccupancyComment; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyComment.ts b/helpers/lotOccupancyDB/deleteLotOccupancyComment.ts deleted file mode 100644 index a631d787..00000000 --- a/helpers/lotOccupancyDB/deleteLotOccupancyComment.ts +++ /dev/null @@ -1,29 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteLotOccupancyComment( - lotOccupancyCommentId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - const result = database - .prepare( - `update LotOccupancyComments - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotOccupancyCommentId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, lotOccupancyCommentId); - - database.close(); - - return result.changes > 0; -} - -export default deleteLotOccupancyComment; diff --git a/helpers/lotOccupancyDB/deleteLotOccupantType.d.ts b/helpers/lotOccupancyDB/deleteLotOccupantType.d.ts deleted file mode 100644 index b5817df7..00000000 --- a/helpers/lotOccupancyDB/deleteLotOccupantType.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteLotOccupantType(lotOccupantTypeId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteLotOccupantType; diff --git a/helpers/lotOccupancyDB/deleteLotOccupantType.js b/helpers/lotOccupancyDB/deleteLotOccupantType.js deleted file mode 100644 index ec7d797f..00000000 --- a/helpers/lotOccupancyDB/deleteLotOccupantType.js +++ /dev/null @@ -1,17 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -import { clearLotOccupantTypesCache } from "../functions.cache.js"; -export function deleteLotOccupantType(lotOccupantTypeId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - const result = database - .prepare(`update LotOccupantTypes - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotOccupantTypeId = ?`) - .run(requestSession.user.userName, rightNowMillis, lotOccupantTypeId); - database.close(); - clearLotOccupantTypesCache(); - return result.changes > 0; -} -export default deleteLotOccupantType; diff --git a/helpers/lotOccupancyDB/deleteLotOccupantType.ts b/helpers/lotOccupancyDB/deleteLotOccupantType.ts deleted file mode 100644 index dd81d2f6..00000000 --- a/helpers/lotOccupancyDB/deleteLotOccupantType.ts +++ /dev/null @@ -1,33 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import { clearLotOccupantTypesCache } from "../functions.cache.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteLotOccupantType( - lotOccupantTypeId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - const result = database - .prepare( - `update LotOccupantTypes - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotOccupantTypeId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, lotOccupantTypeId); - - database.close(); - - clearLotOccupantTypesCache(); - - return result.changes > 0; -} - -export default deleteLotOccupantType; diff --git a/helpers/lotOccupancyDB/deleteLotStatus.d.ts b/helpers/lotOccupancyDB/deleteLotStatus.d.ts deleted file mode 100644 index 5d5fbf3c..00000000 --- a/helpers/lotOccupancyDB/deleteLotStatus.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteLotStatus(lotStatusId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteLotStatus; diff --git a/helpers/lotOccupancyDB/deleteLotStatus.js b/helpers/lotOccupancyDB/deleteLotStatus.js deleted file mode 100644 index 4f7251b6..00000000 --- a/helpers/lotOccupancyDB/deleteLotStatus.js +++ /dev/null @@ -1,17 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -import { clearLotStatusesCache } from "../functions.cache.js"; -export function deleteLotStatus(lotStatusId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - const result = database - .prepare(`update LotStatuses - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotStatusId = ?`) - .run(requestSession.user.userName, rightNowMillis, lotStatusId); - database.close(); - clearLotStatusesCache(); - return result.changes > 0; -} -export default deleteLotStatus; diff --git a/helpers/lotOccupancyDB/deleteLotStatus.ts b/helpers/lotOccupancyDB/deleteLotStatus.ts deleted file mode 100644 index bb3a5a97..00000000 --- a/helpers/lotOccupancyDB/deleteLotStatus.ts +++ /dev/null @@ -1,33 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import { clearLotStatusesCache } from "../functions.cache.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteLotStatus( - lotStatusId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - const result = database - .prepare( - `update LotStatuses - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotStatusId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, lotStatusId); - - database.close(); - - clearLotStatusesCache(); - - return result.changes > 0; -} - -export default deleteLotStatus; diff --git a/helpers/lotOccupancyDB/deleteLotType.d.ts b/helpers/lotOccupancyDB/deleteLotType.d.ts deleted file mode 100644 index 2236d377..00000000 --- a/helpers/lotOccupancyDB/deleteLotType.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteLotType(lotTypeId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteLotType; diff --git a/helpers/lotOccupancyDB/deleteLotType.js b/helpers/lotOccupancyDB/deleteLotType.js deleted file mode 100644 index 5d3ca73d..00000000 --- a/helpers/lotOccupancyDB/deleteLotType.js +++ /dev/null @@ -1,20 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -import { clearLotTypesCache } from "../functions.cache.js"; -export function deleteLotType(lotTypeId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - let result; - for (const tableName of ["LotTypeFields", "LotTypes"]) { - result = database - .prepare(`update ${tableName} - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotTypeId = ?`) - .run(requestSession.user.userName, rightNowMillis, lotTypeId); - } - database.close(); - clearLotTypesCache(); - return result.changes > 0; -} -export default deleteLotType; diff --git a/helpers/lotOccupancyDB/deleteLotType.ts b/helpers/lotOccupancyDB/deleteLotType.ts deleted file mode 100644 index 33e3a74b..00000000 --- a/helpers/lotOccupancyDB/deleteLotType.ts +++ /dev/null @@ -1,37 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import { clearLotTypesCache } from "../functions.cache.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteLotType( - lotTypeId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - let result: sqlite.RunResult; - - for (const tableName of ["LotTypeFields", "LotTypes"]) { - result = database - .prepare( - `update ${tableName} - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotTypeId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, lotTypeId); - } - - database.close(); - - clearLotTypesCache(); - - return result.changes > 0; -} - -export default deleteLotType; diff --git a/helpers/lotOccupancyDB/deleteLotTypeField.d.ts b/helpers/lotOccupancyDB/deleteLotTypeField.d.ts deleted file mode 100644 index 94cadd65..00000000 --- a/helpers/lotOccupancyDB/deleteLotTypeField.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteLotTypeField(lotTypeFieldId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteLotTypeField; diff --git a/helpers/lotOccupancyDB/deleteLotTypeField.js b/helpers/lotOccupancyDB/deleteLotTypeField.js deleted file mode 100644 index a725ef45..00000000 --- a/helpers/lotOccupancyDB/deleteLotTypeField.js +++ /dev/null @@ -1,17 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -import { clearLotTypesCache } from "../functions.cache.js"; -export function deleteLotTypeField(lotTypeFieldId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - const result = database - .prepare(`update LotTypeFields - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotTypeFieldId = ?`) - .run(requestSession.user.userName, rightNowMillis, lotTypeFieldId); - database.close(); - clearLotTypesCache(); - return result.changes > 0; -} -export default deleteLotTypeField; diff --git a/helpers/lotOccupancyDB/deleteLotTypeField.ts b/helpers/lotOccupancyDB/deleteLotTypeField.ts deleted file mode 100644 index 896854d8..00000000 --- a/helpers/lotOccupancyDB/deleteLotTypeField.ts +++ /dev/null @@ -1,33 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import { clearLotTypesCache } from "../functions.cache.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteLotTypeField( - lotTypeFieldId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - const result = database - .prepare( - `update LotTypeFields - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where lotTypeFieldId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, lotTypeFieldId); - - database.close(); - - clearLotTypesCache(); - - return result.changes > 0; -} - -export default deleteLotTypeField; diff --git a/helpers/lotOccupancyDB/deleteMap.d.ts b/helpers/lotOccupancyDB/deleteMap.d.ts deleted file mode 100644 index 16605837..00000000 --- a/helpers/lotOccupancyDB/deleteMap.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteMap(mapId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteMap; diff --git a/helpers/lotOccupancyDB/deleteMap.js b/helpers/lotOccupancyDB/deleteMap.js deleted file mode 100644 index 77bd79e5..00000000 --- a/helpers/lotOccupancyDB/deleteMap.js +++ /dev/null @@ -1,18 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -export function deleteMap(mapId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - let result; - for (const tableName of ["Lots", "Maps"]) { - result = database - .prepare(`update ${tableName} - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where mapId = ?`) - .run(requestSession.user.userName, rightNowMillis, mapId); - } - database.close(); - return result.changes > 0; -} -export default deleteMap; diff --git a/helpers/lotOccupancyDB/deleteMap.ts b/helpers/lotOccupancyDB/deleteMap.ts deleted file mode 100644 index 47fdc7fb..00000000 --- a/helpers/lotOccupancyDB/deleteMap.ts +++ /dev/null @@ -1,33 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteMap( - mapId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - let result: sqlite.RunResult; - - for (const tableName of ["Lots", "Maps"]) { - result = database - .prepare( - `update ${tableName} - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where mapId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, mapId); - } - - database.close(); - - return result.changes > 0; -} - -export default deleteMap; diff --git a/helpers/lotOccupancyDB/deleteOccupancyType.d.ts b/helpers/lotOccupancyDB/deleteOccupancyType.d.ts deleted file mode 100644 index 8201b1a8..00000000 --- a/helpers/lotOccupancyDB/deleteOccupancyType.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteOccupancyType(occupancyTypeId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteOccupancyType; diff --git a/helpers/lotOccupancyDB/deleteOccupancyType.js b/helpers/lotOccupancyDB/deleteOccupancyType.js deleted file mode 100644 index c11b82a4..00000000 --- a/helpers/lotOccupancyDB/deleteOccupancyType.js +++ /dev/null @@ -1,20 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -import { clearOccupancyTypesCache } from "../functions.cache.js"; -export function deleteOccupancyType(occupancyTypeId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - let result; - for (const tableName of ["OccupancyTypePrints", "OccupancyTypeFields", "OccupancyTypes"]) { - result = database - .prepare(`update ${tableName} - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where occupancyTypeId = ?`) - .run(requestSession.user.userName, rightNowMillis, occupancyTypeId); - } - database.close(); - clearOccupancyTypesCache(); - return result.changes > 0; -} -export default deleteOccupancyType; diff --git a/helpers/lotOccupancyDB/deleteOccupancyType.ts b/helpers/lotOccupancyDB/deleteOccupancyType.ts deleted file mode 100644 index 14db78cf..00000000 --- a/helpers/lotOccupancyDB/deleteOccupancyType.ts +++ /dev/null @@ -1,37 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import { clearOccupancyTypesCache } from "../functions.cache.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteOccupancyType( - occupancyTypeId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - let result: sqlite.RunResult; - - for (const tableName of ["OccupancyTypePrints", "OccupancyTypeFields", "OccupancyTypes"]) { - result = database - .prepare( - `update ${tableName} - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where occupancyTypeId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, occupancyTypeId); - } - - database.close(); - - clearOccupancyTypesCache(); - - return result.changes > 0; -} - -export default deleteOccupancyType; diff --git a/helpers/lotOccupancyDB/deleteOccupancyTypeField.d.ts b/helpers/lotOccupancyDB/deleteOccupancyTypeField.d.ts deleted file mode 100644 index 4bc5609a..00000000 --- a/helpers/lotOccupancyDB/deleteOccupancyTypeField.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteOccupancyTypeField(occupancyTypeFieldId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteOccupancyTypeField; diff --git a/helpers/lotOccupancyDB/deleteOccupancyTypeField.js b/helpers/lotOccupancyDB/deleteOccupancyTypeField.js deleted file mode 100644 index ba2ec83a..00000000 --- a/helpers/lotOccupancyDB/deleteOccupancyTypeField.js +++ /dev/null @@ -1,17 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -import { clearOccupancyTypesCache } from "../functions.cache.js"; -export function deleteOccupancyTypeField(occupancyTypeFieldId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - const result = database - .prepare(`update OccupancyTypeFields - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where occupancyTypeFieldId = ?`) - .run(requestSession.user.userName, rightNowMillis, occupancyTypeFieldId); - database.close(); - clearOccupancyTypesCache(); - return result.changes > 0; -} -export default deleteOccupancyTypeField; diff --git a/helpers/lotOccupancyDB/deleteOccupancyTypeField.ts b/helpers/lotOccupancyDB/deleteOccupancyTypeField.ts deleted file mode 100644 index 229989d0..00000000 --- a/helpers/lotOccupancyDB/deleteOccupancyTypeField.ts +++ /dev/null @@ -1,33 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import { clearOccupancyTypesCache } from "../functions.cache.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteOccupancyTypeField( - occupancyTypeFieldId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - const result = database - .prepare( - `update OccupancyTypeFields - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where occupancyTypeFieldId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, occupancyTypeFieldId); - - database.close(); - - clearOccupancyTypesCache(); - - return result.changes > 0; -} - -export default deleteOccupancyTypeField; diff --git a/helpers/lotOccupancyDB/deleteRecord.d.ts b/helpers/lotOccupancyDB/deleteRecord.d.ts new file mode 100644 index 00000000..ad6eade9 --- /dev/null +++ b/helpers/lotOccupancyDB/deleteRecord.d.ts @@ -0,0 +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 {}; diff --git a/helpers/lotOccupancyDB/deleteRecord.js b/helpers/lotOccupancyDB/deleteRecord.js new file mode 100644 index 00000000..08faed36 --- /dev/null +++ b/helpers/lotOccupancyDB/deleteRecord.js @@ -0,0 +1,69 @@ +import sqlite from "better-sqlite3"; +import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; +import * as cacheFunctions from "../functions.cache.js"; +const recordIdColumns = new Map(); +recordIdColumns.set("FeeCategories", "feeCategoryId"); +recordIdColumns.set("Fees", "feeId"); +recordIdColumns.set("Lots", "lotId"); +recordIdColumns.set("LotComments", "lotCommentId"); +recordIdColumns.set("LotOccupancies", "lotOccupancyId"); +recordIdColumns.set("LotOccupancyComments", "lotOccupancyCommentId"); +recordIdColumns.set("LotOccupantTypes", "lotOccupantTypeId"); +recordIdColumns.set("LotStatuses", "lotStatusId"); +recordIdColumns.set("LotTypes", "lotTypeId"); +recordIdColumns.set("LotTypeFields", "lotTypeId"); +recordIdColumns.set("Maps", "mapId"); +recordIdColumns.set("OccupancyTypes", "occupancyTypeId"); +recordIdColumns.set("OccupancyTypeFields", "occupancyTypeFieldId"); +recordIdColumns.set("WorkOrders", "workOrderId"); +recordIdColumns.set("WorkOrderComments", "workOrderCommentId"); +recordIdColumns.set("WorkOrderMilestones", "workOrderMilestoneId"); +recordIdColumns.set("WorkOrderMilestoneTypes", "workOrderMilestoneTypeId"); +recordIdColumns.set("WorkOrderTypes", "workOrderTypeId"); +const relatedTables = new Map(); +relatedTables.set("FeeCategories", ["Fees"]); +relatedTables.set("Lots", ["LotFields", "LotComments"]); +relatedTables.set("LotOccupancies", ["LotOccupancyOccupants", "LotOccupancyFields", "LotOccupancyComments"]); +relatedTables.set("LotTypes", ["LotTypeFields"]); +relatedTables.set("Maps", ["Lots"]); +relatedTables.set("OccupancyTypes", ["OccupancyTypePrints", "OccupancyTypeFields"]); +relatedTables.set("WorkOrders", [ + "WorkOrderMilestones", + "WorkOrderLots", + "WorkOrderLotOccupancies", + "WorkOrderComments" +]); +const clearCacheFunctions = new Map(); +clearCacheFunctions.set("LotOccupantTypes", cacheFunctions.clearLotOccupantTypesCache); +clearCacheFunctions.set("LotStatuses", cacheFunctions.clearLotStatusesCache); +clearCacheFunctions.set("LotTypes", cacheFunctions.clearLotTypesCache); +clearCacheFunctions.set("LotTypeFields", cacheFunctions.clearLotTypesCache); +clearCacheFunctions.set("OccupancyTypes", cacheFunctions.clearOccupancyTypesCache); +clearCacheFunctions.set("OccupancyTypeFields", cacheFunctions.clearOccupancyTypesCache); +clearCacheFunctions.set("WorkOrderMilestoneTypes", cacheFunctions.clearWorkOrderMilestoneTypesCache); +clearCacheFunctions.set("WorkOrderTypes", cacheFunctions.clearWorkOrderTypesCache); +export function deleteRecord(recordTable, recordId, requestSession) { + const database = sqlite(databasePath); + const rightNowMillis = Date.now(); + const result = database + .prepare(`update ${recordTable} + set recordDelete_userName = ?, + recordDelete_timeMillis = ? + where ${recordIdColumns.get(recordTable)} = ? + and recordDelete_timeMillis is null`) + .run(requestSession.user.userName, rightNowMillis, recordId); + for (const relatedTable of relatedTables.get(recordTable) || []) { + database + .prepare(`update ${relatedTable} + set recordDelete_userName = ?, + recordDelete_timeMillis = ? + where ${recordIdColumns.get(recordTable)} = ? + and recordDelete_timeMillis is null`) + .run(requestSession.user.userName, rightNowMillis, recordId); + } + database.close(); + if (clearCacheFunctions.has(recordTable)) { + clearCacheFunctions.get(recordTable)(); + } + return result.changes > 0; +} diff --git a/helpers/lotOccupancyDB/deleteRecord.ts b/helpers/lotOccupancyDB/deleteRecord.ts new file mode 100644 index 00000000..3838f873 --- /dev/null +++ b/helpers/lotOccupancyDB/deleteRecord.ts @@ -0,0 +1,111 @@ +import sqlite from "better-sqlite3"; + +import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; + +import * as cacheFunctions from "../functions.cache.js"; + +import type * as recordTypes from "../../types/recordTypes"; + +type RecordTable = + | "FeeCategories" + | "Fees" + | "Lots" + | "LotComments" + | "LotOccupancies" + | "LotOccupancyComments" + | "LotOccupantTypes" + | "LotStatuses" + | "LotTypes" + | "LotTypeFields" + | "Maps" + | "OccupancyTypes" + | "OccupancyTypeFields" + | "WorkOrders" + | "WorkOrderComments" + | "WorkOrderMilestones" + | "WorkOrderMilestoneTypes" + | "WorkOrderTypes"; + +const recordIdColumns: Map = new Map(); +recordIdColumns.set("FeeCategories", "feeCategoryId"); +recordIdColumns.set("Fees", "feeId"); +recordIdColumns.set("Lots", "lotId"); +recordIdColumns.set("LotComments", "lotCommentId"); +recordIdColumns.set("LotOccupancies", "lotOccupancyId"); +recordIdColumns.set("LotOccupancyComments", "lotOccupancyCommentId"); +recordIdColumns.set("LotOccupantTypes", "lotOccupantTypeId"); +recordIdColumns.set("LotStatuses", "lotStatusId"); +recordIdColumns.set("LotTypes", "lotTypeId"); +recordIdColumns.set("LotTypeFields", "lotTypeId"); +recordIdColumns.set("Maps", "mapId"); +recordIdColumns.set("OccupancyTypes", "occupancyTypeId"); +recordIdColumns.set("OccupancyTypeFields", "occupancyTypeFieldId"); +recordIdColumns.set("WorkOrders", "workOrderId"); +recordIdColumns.set("WorkOrderComments", "workOrderCommentId"); +recordIdColumns.set("WorkOrderMilestones", "workOrderMilestoneId"); +recordIdColumns.set("WorkOrderMilestoneTypes", "workOrderMilestoneTypeId"); +recordIdColumns.set("WorkOrderTypes", "workOrderTypeId"); + +const relatedTables: Map = new Map(); +relatedTables.set("FeeCategories", ["Fees"]); +relatedTables.set("Lots", ["LotFields", "LotComments"]); +relatedTables.set("LotOccupancies", ["LotOccupancyOccupants", "LotOccupancyFields", "LotOccupancyComments"]); +relatedTables.set("LotTypes", ["LotTypeFields"]); +relatedTables.set("Maps", ["Lots"]); +relatedTables.set("OccupancyTypes", ["OccupancyTypePrints", "OccupancyTypeFields"]); +relatedTables.set("WorkOrders", [ + "WorkOrderMilestones", + "WorkOrderLots", + "WorkOrderLotOccupancies", + "WorkOrderComments" +]); + +const clearCacheFunctions: Map void> = new Map(); +clearCacheFunctions.set("LotOccupantTypes", cacheFunctions.clearLotOccupantTypesCache); +clearCacheFunctions.set("LotStatuses", cacheFunctions.clearLotStatusesCache); +clearCacheFunctions.set("LotTypes", cacheFunctions.clearLotTypesCache); +clearCacheFunctions.set("LotTypeFields", cacheFunctions.clearLotTypesCache); +clearCacheFunctions.set("OccupancyTypes", cacheFunctions.clearOccupancyTypesCache); +clearCacheFunctions.set("OccupancyTypeFields", cacheFunctions.clearOccupancyTypesCache); +clearCacheFunctions.set("WorkOrderMilestoneTypes", cacheFunctions.clearWorkOrderMilestoneTypesCache); +clearCacheFunctions.set("WorkOrderTypes", cacheFunctions.clearWorkOrderTypesCache); + +export function deleteRecord( + recordTable: RecordTable, + recordId: number | string, + requestSession: recordTypes.PartialSession +): boolean { + const database = sqlite(databasePath); + + const rightNowMillis = Date.now(); + + const result = database + .prepare( + `update ${recordTable} + set recordDelete_userName = ?, + recordDelete_timeMillis = ? + where ${recordIdColumns.get(recordTable)} = ? + and recordDelete_timeMillis is null` + ) + .run(requestSession.user.userName, rightNowMillis, recordId); + + for (const relatedTable of relatedTables.get(recordTable) || []) { + database + .prepare( + `update ${relatedTable} + set recordDelete_userName = ?, + recordDelete_timeMillis = ? + where ${recordIdColumns.get(recordTable)} = ? + and recordDelete_timeMillis is null` + ) + .run(requestSession.user.userName, rightNowMillis, recordId); + } + + database.close(); + + if (clearCacheFunctions.has(recordTable)) { + clearCacheFunctions.get(recordTable)(); + } + + return result.changes > 0; +} diff --git a/helpers/lotOccupancyDB/deleteWorkOrder.d.ts b/helpers/lotOccupancyDB/deleteWorkOrder.d.ts deleted file mode 100644 index 45201bbf..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrder.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteWorkOrder(workOrderId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteWorkOrder; diff --git a/helpers/lotOccupancyDB/deleteWorkOrder.js b/helpers/lotOccupancyDB/deleteWorkOrder.js deleted file mode 100644 index 9d30b929..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrder.js +++ /dev/null @@ -1,24 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -export function deleteWorkOrder(workOrderId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - let result; - for (const tableName of [ - "WorkOrderMilestones", - "WorkOrderLots", - "WorkOrderLotOccupancies", - "WorkOrderComments", - "WorkOrders" - ]) { - result = database - .prepare(`update ${tableName} - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where workOrderId = ?`) - .run(requestSession.user.userName, rightNowMillis, workOrderId); - } - database.close(); - return result.changes > 0; -} -export default deleteWorkOrder; diff --git a/helpers/lotOccupancyDB/deleteWorkOrder.ts b/helpers/lotOccupancyDB/deleteWorkOrder.ts deleted file mode 100644 index a877cfe4..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrder.ts +++ /dev/null @@ -1,39 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteWorkOrder( - workOrderId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - let result: sqlite.RunResult; - - for (const tableName of [ - "WorkOrderMilestones", - "WorkOrderLots", - "WorkOrderLotOccupancies", - "WorkOrderComments", - "WorkOrders" - ]) { - result = database - .prepare( - `update ${tableName} - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where workOrderId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, workOrderId); - } - - database.close(); - - return result.changes > 0; -} - -export default deleteWorkOrder; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderComment.d.ts b/helpers/lotOccupancyDB/deleteWorkOrderComment.d.ts deleted file mode 100644 index e22e9f0f..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrderComment.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteWorkOrderComment(workOrderCommentId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteWorkOrderComment; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderComment.js b/helpers/lotOccupancyDB/deleteWorkOrderComment.js deleted file mode 100644 index 14b90937..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrderComment.js +++ /dev/null @@ -1,15 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -export function deleteWorkOrderComment(workOrderCommentId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - const result = database - .prepare(`update WorkOrderComments - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where workOrderCommentId = ?`) - .run(requestSession.user.userName, rightNowMillis, workOrderCommentId); - database.close(); - return result.changes > 0; -} -export default deleteWorkOrderComment; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderComment.ts b/helpers/lotOccupancyDB/deleteWorkOrderComment.ts deleted file mode 100644 index b2b751cc..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrderComment.ts +++ /dev/null @@ -1,29 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteWorkOrderComment( - workOrderCommentId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - const result = database - .prepare( - `update WorkOrderComments - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where workOrderCommentId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, workOrderCommentId); - - database.close(); - - return result.changes > 0; -} - -export default deleteWorkOrderComment; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderMilestone.d.ts b/helpers/lotOccupancyDB/deleteWorkOrderMilestone.d.ts deleted file mode 100644 index a13d9c97..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrderMilestone.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteWorkOrderMilestone(workOrderMilestoneId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderMilestone.js b/helpers/lotOccupancyDB/deleteWorkOrderMilestone.js deleted file mode 100644 index 70e4d095..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrderMilestone.js +++ /dev/null @@ -1,15 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -export function deleteWorkOrderMilestone(workOrderMilestoneId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - const result = database - .prepare(`update WorkOrderMilestones - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where workOrderMilestoneId = ?`) - .run(requestSession.user.userName, rightNowMillis, workOrderMilestoneId); - database.close(); - return result.changes > 0; -} -export default deleteWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderMilestone.ts b/helpers/lotOccupancyDB/deleteWorkOrderMilestone.ts deleted file mode 100644 index 2b15e993..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrderMilestone.ts +++ /dev/null @@ -1,29 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteWorkOrderMilestone( - workOrderMilestoneId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - const result = database - .prepare( - `update WorkOrderMilestones - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where workOrderMilestoneId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, workOrderMilestoneId); - - database.close(); - - return result.changes > 0; -} - -export default deleteWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderMilestoneType.d.ts b/helpers/lotOccupancyDB/deleteWorkOrderMilestoneType.d.ts deleted file mode 100644 index 43ad6d88..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrderMilestoneType.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteWorkOrderMilestoneType(workOrderMilestoneTypeId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteWorkOrderMilestoneType; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderMilestoneType.js b/helpers/lotOccupancyDB/deleteWorkOrderMilestoneType.js deleted file mode 100644 index 13162372..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrderMilestoneType.js +++ /dev/null @@ -1,17 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js"; -export function deleteWorkOrderMilestoneType(workOrderMilestoneTypeId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - const result = database - .prepare(`update WorkOrderMilestoneTypes - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where workOrderMilestoneTypeId = ?`) - .run(requestSession.user.userName, rightNowMillis, workOrderMilestoneTypeId); - database.close(); - clearWorkOrderMilestoneTypesCache(); - return result.changes > 0; -} -export default deleteWorkOrderMilestoneType; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderMilestoneType.ts b/helpers/lotOccupancyDB/deleteWorkOrderMilestoneType.ts deleted file mode 100644 index 47a8a68d..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrderMilestoneType.ts +++ /dev/null @@ -1,33 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteWorkOrderMilestoneType( - workOrderMilestoneTypeId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - const result = database - .prepare( - `update WorkOrderMilestoneTypes - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where workOrderMilestoneTypeId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, workOrderMilestoneTypeId); - - database.close(); - - clearWorkOrderMilestoneTypesCache(); - - return result.changes > 0; -} - -export default deleteWorkOrderMilestoneType; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderType.d.ts b/helpers/lotOccupancyDB/deleteWorkOrderType.d.ts deleted file mode 100644 index 15363491..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrderType.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type * as recordTypes from "../../types/recordTypes"; -export declare function deleteWorkOrderType(workOrderTypeId: number | string, requestSession: recordTypes.PartialSession): boolean; -export default deleteWorkOrderType; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderType.js b/helpers/lotOccupancyDB/deleteWorkOrderType.js deleted file mode 100644 index 7349c5af..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrderType.js +++ /dev/null @@ -1,17 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -import { clearWorkOrderTypesCache } from "../functions.cache.js"; -export function deleteWorkOrderType(workOrderTypeId, requestSession) { - const database = sqlite(databasePath); - const rightNowMillis = Date.now(); - const result = database - .prepare(`update WorkOrderTypes - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where workOrderTypeId = ?`) - .run(requestSession.user.userName, rightNowMillis, workOrderTypeId); - database.close(); - clearWorkOrderTypesCache(); - return result.changes > 0; -} -export default deleteWorkOrderType; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderType.ts b/helpers/lotOccupancyDB/deleteWorkOrderType.ts deleted file mode 100644 index 28826f9a..00000000 --- a/helpers/lotOccupancyDB/deleteWorkOrderType.ts +++ /dev/null @@ -1,33 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import { clearWorkOrderTypesCache } from "../functions.cache.js"; - -import type * as recordTypes from "../../types/recordTypes"; - -export function deleteWorkOrderType( - workOrderTypeId: number | string, - requestSession: recordTypes.PartialSession -): boolean { - const database = sqlite(databasePath); - - const rightNowMillis = Date.now(); - - const result = database - .prepare( - `update WorkOrderTypes - set recordDelete_userName = ?, - recordDelete_timeMillis = ? - where workOrderTypeId = ?` - ) - .run(requestSession.user.userName, rightNowMillis, workOrderTypeId); - - database.close(); - - clearWorkOrderTypesCache(); - - return result.changes > 0; -} - -export default deleteWorkOrderType;