From 18a5eb729ac9e3e2c95a6b2ff7c6ce913962d997 Mon Sep 17 00:00:00 2001 From: Dan Gowans Date: Wed, 29 Nov 2023 13:02:23 -0500 Subject: [PATCH] code updates for node 18+ --- .eslintrc.json | 71 +- app.d.ts | 1 - app.js | 44 +- app.ts | 57 +- bin/www.d.ts | 2 +- bin/www.js | 5 +- bin/www.ts | 23 +- bin/wwwProcess.js | 9 +- bin/wwwProcess.ts | 15 +- handlers/admin-post/doAddFee.js | 2 +- handlers/admin-post/doAddFee.ts | 3 +- handlers/admin-post/doAddFeeCategory.js | 2 +- handlers/admin-post/doAddFeeCategory.ts | 3 +- handlers/admin-post/doAddLotOccupantType.js | 4 +- handlers/admin-post/doAddLotOccupantType.ts | 5 +- handlers/admin-post/doAddLotStatus.js | 4 +- handlers/admin-post/doAddLotStatus.ts | 4 +- handlers/admin-post/doAddLotType.js | 4 +- handlers/admin-post/doAddLotType.ts | 4 +- handlers/admin-post/doAddLotTypeField.js | 4 +- handlers/admin-post/doAddLotTypeField.ts | 8 +- handlers/admin-post/doAddOccupancyType.js | 4 +- handlers/admin-post/doAddOccupancyType.ts | 4 +- .../admin-post/doAddOccupancyTypeField.js | 4 +- .../admin-post/doAddOccupancyTypeField.ts | 5 +- .../admin-post/doAddOccupancyTypePrint.js | 4 +- .../admin-post/doAddOccupancyTypePrint.ts | 8 +- .../admin-post/doAddWorkOrderMilestoneType.js | 2 +- .../admin-post/doAddWorkOrderMilestoneType.ts | 2 +- handlers/admin-post/doAddWorkOrderType.js | 4 +- handlers/admin-post/doAddWorkOrderType.ts | 4 +- handlers/admin-post/doBackupDatabase.js | 2 +- handlers/admin-post/doBackupDatabase.ts | 2 +- handlers/admin-post/doCleanupDatabase.js | 2 +- handlers/admin-post/doCleanupDatabase.ts | 2 +- handlers/admin-post/doDeleteFee.js | 2 +- handlers/admin-post/doDeleteFee.ts | 3 +- handlers/admin-post/doDeleteFeeCategory.js | 2 +- handlers/admin-post/doDeleteFeeCategory.ts | 3 +- .../admin-post/doDeleteLotOccupantType.js | 4 +- .../admin-post/doDeleteLotOccupantType.ts | 5 +- handlers/admin-post/doDeleteLotStatus.js | 4 +- handlers/admin-post/doDeleteLotStatus.ts | 5 +- handlers/admin-post/doDeleteLotType.js | 4 +- handlers/admin-post/doDeleteLotType.ts | 5 +- handlers/admin-post/doDeleteLotTypeField.js | 4 +- handlers/admin-post/doDeleteLotTypeField.ts | 5 +- handlers/admin-post/doDeleteOccupancyType.js | 4 +- handlers/admin-post/doDeleteOccupancyType.ts | 5 +- .../admin-post/doDeleteOccupancyTypeField.js | 4 +- .../admin-post/doDeleteOccupancyTypeField.ts | 5 +- .../admin-post/doDeleteOccupancyTypePrint.js | 4 +- .../admin-post/doDeleteOccupancyTypePrint.ts | 5 +- .../doDeleteWorkOrderMilestoneType.js | 4 +- .../doDeleteWorkOrderMilestoneType.ts | 5 +- handlers/admin-post/doDeleteWorkOrderType.js | 4 +- handlers/admin-post/doDeleteWorkOrderType.ts | 5 +- handlers/admin-post/doUpdateFee.js | 4 +- handlers/admin-post/doUpdateFee.ts | 5 +- handlers/admin-post/doUpdateFeeCategory.js | 4 +- handlers/admin-post/doUpdateFeeCategory.ts | 8 +- .../admin-post/doUpdateLotOccupantType.js | 4 +- .../admin-post/doUpdateLotOccupantType.ts | 8 +- handlers/admin-post/doUpdateLotStatus.js | 4 +- handlers/admin-post/doUpdateLotStatus.ts | 4 +- handlers/admin-post/doUpdateLotType.js | 4 +- handlers/admin-post/doUpdateLotType.ts | 4 +- handlers/admin-post/doUpdateLotTypeField.js | 4 +- handlers/admin-post/doUpdateLotTypeField.ts | 8 +- handlers/admin-post/doUpdateOccupancyType.js | 4 +- handlers/admin-post/doUpdateOccupancyType.ts | 4 +- .../admin-post/doUpdateOccupancyTypeField.js | 4 +- .../admin-post/doUpdateOccupancyTypeField.ts | 8 +- .../doUpdateWorkOrderMilestoneType.js | 4 +- .../doUpdateWorkOrderMilestoneType.ts | 4 +- handlers/admin-post/doUpdateWorkOrderType.js | 4 +- handlers/admin-post/doUpdateWorkOrderType.ts | 4 +- handlers/api-get/milestoneICS.js | 4 +- handlers/api-get/milestoneICS.ts | 39 +- .../doAddLotOccupancyComment.js | 2 +- .../doAddLotOccupancyComment.ts | 3 +- .../doAddLotOccupancyFee.js | 2 +- .../doAddLotOccupancyFee.ts | 3 +- .../doAddLotOccupancyOccupant.js | 2 +- .../doAddLotOccupancyOccupant.ts | 3 +- .../doAddLotOccupancyTransaction.js | 2 +- .../doAddLotOccupancyTransaction.ts | 3 +- .../lotOccupancies-post/doCopyLotOccupancy.js | 2 +- .../lotOccupancies-post/doCopyLotOccupancy.ts | 2 +- .../doCreateLotOccupancy.js | 2 +- .../doCreateLotOccupancy.ts | 2 +- .../doDeleteLotOccupancy.js | 2 +- .../doDeleteLotOccupancy.ts | 2 +- .../doDeleteLotOccupancyComment.js | 2 +- .../doDeleteLotOccupancyComment.ts | 3 +- .../doDeleteLotOccupancyFee.js | 2 +- .../doDeleteLotOccupancyFee.ts | 3 +- .../doDeleteLotOccupancyOccupant.js | 2 +- .../doDeleteLotOccupancyOccupant.ts | 3 +- .../doDeleteLotOccupancyTransaction.js | 2 +- .../doDeleteLotOccupancyTransaction.ts | 3 +- .../doUpdateLotOccupancy.js | 2 +- .../doUpdateLotOccupancy.ts | 2 +- .../doUpdateLotOccupancyComment.js | 4 +- .../doUpdateLotOccupancyComment.ts | 5 +- .../doUpdateLotOccupancyFeeQuantity.js | 4 +- .../doUpdateLotOccupancyFeeQuantity.ts | 5 +- .../doUpdateLotOccupancyOccupant.js | 4 +- .../doUpdateLotOccupancyOccupant.ts | 5 +- .../doUpdateLotOccupancyTransaction.js | 4 +- .../doUpdateLotOccupancyTransaction.ts | 5 +- handlers/lots-post/doAddLotComment.js | 2 +- handlers/lots-post/doAddLotComment.ts | 3 +- handlers/lots-post/doCreateLot.js | 2 +- handlers/lots-post/doCreateLot.ts | 4 +- handlers/lots-post/doDeleteLot.js | 2 +- handlers/lots-post/doDeleteLot.ts | 4 +- handlers/lots-post/doDeleteLotComment.js | 2 +- handlers/lots-post/doDeleteLotComment.ts | 3 +- handlers/lots-post/doUpdateLot.js | 2 +- handlers/lots-post/doUpdateLot.ts | 4 +- handlers/lots-post/doUpdateLotComment.js | 4 +- handlers/lots-post/doUpdateLotComment.ts | 5 +- handlers/maps-post/doCreateMap.js | 2 +- handlers/maps-post/doCreateMap.ts | 2 +- handlers/maps-post/doDeleteMap.js | 2 +- handlers/maps-post/doDeleteMap.ts | 4 +- handlers/maps-post/doUpdateMap.js | 2 +- handlers/maps-post/doUpdateMap.ts | 2 +- handlers/print-get/pdf.js | 3 +- handlers/print-get/pdf.ts | 5 +- .../workOrders-post/doAddWorkOrderComment.js | 2 +- .../workOrders-post/doAddWorkOrderComment.ts | 3 +- handlers/workOrders-post/doAddWorkOrderLot.js | 2 +- handlers/workOrders-post/doAddWorkOrderLot.ts | 2 +- .../doAddWorkOrderLotOccupancy.js | 2 +- .../doAddWorkOrderLotOccupancy.ts | 2 +- .../doAddWorkOrderMilestone.js | 2 +- .../doAddWorkOrderMilestone.ts | 2 +- handlers/workOrders-post/doCloseWorkOrder.js | 2 +- handlers/workOrders-post/doCloseWorkOrder.ts | 2 +- .../doCompleteWorkOrderMilestone.js | 2 +- .../doCompleteWorkOrderMilestone.ts | 3 +- handlers/workOrders-post/doCreateWorkOrder.js | 2 +- handlers/workOrders-post/doCreateWorkOrder.ts | 2 +- handlers/workOrders-post/doDeleteWorkOrder.js | 2 +- handlers/workOrders-post/doDeleteWorkOrder.ts | 2 +- .../doDeleteWorkOrderComment.js | 2 +- .../doDeleteWorkOrderComment.ts | 3 +- .../workOrders-post/doDeleteWorkOrderLot.js | 2 +- .../workOrders-post/doDeleteWorkOrderLot.ts | 2 +- .../doDeleteWorkOrderLotOccupancy.js | 2 +- .../doDeleteWorkOrderLotOccupancy.ts | 2 +- .../doDeleteWorkOrderMilestone.js | 2 +- .../doDeleteWorkOrderMilestone.ts | 3 +- handlers/workOrders-post/doReopenWorkOrder.js | 2 +- handlers/workOrders-post/doReopenWorkOrder.ts | 2 +- .../doReopenWorkOrderMilestone.js | 4 +- .../doReopenWorkOrderMilestone.ts | 5 +- handlers/workOrders-post/doUpdateLotStatus.js | 4 +- handlers/workOrders-post/doUpdateLotStatus.ts | 4 +- handlers/workOrders-post/doUpdateWorkOrder.js | 2 +- handlers/workOrders-post/doUpdateWorkOrder.ts | 5 +- .../doUpdateWorkOrderComment.js | 4 +- .../doUpdateWorkOrderComment.ts | 5 +- .../doUpdateWorkOrderMilestone.js | 4 +- .../doUpdateWorkOrderMilestone.ts | 4 +- helpers/functions.api.d.ts | 4 +- helpers/functions.api.js | 7 +- helpers/functions.api.ts | 12 +- helpers/functions.authentication.js | 2 +- helpers/functions.authentication.ts | 7 +- helpers/functions.config.d.ts | 1 - helpers/functions.config.js | 1 - helpers/functions.config.ts | 2 - helpers/lotOccupancyDB/addFee.d.ts | 3 +- helpers/lotOccupancyDB/addFee.js | 4 +- helpers/lotOccupancyDB/addFee.ts | 13 +- helpers/lotOccupancyDB/addLot.d.ts | 3 +- helpers/lotOccupancyDB/addLot.js | 8 +- helpers/lotOccupancyDB/addLot.ts | 16 +- helpers/lotOccupancyDB/addLotComment.d.ts | 3 +- helpers/lotOccupancyDB/addLotComment.js | 6 +- helpers/lotOccupancyDB/addLotComment.ts | 10 +- helpers/lotOccupancyDB/addLotOccupancy.d.ts | 3 +- helpers/lotOccupancyDB/addLotOccupancy.js | 12 +- helpers/lotOccupancyDB/addLotOccupancy.ts | 21 +- .../addLotOccupancyComment.d.ts | 3 +- .../lotOccupancyDB/addLotOccupancyComment.js | 6 +- .../lotOccupancyDB/addLotOccupancyComment.ts | 10 +- .../lotOccupancyDB/addLotOccupancyFee.d.ts | 3 +- helpers/lotOccupancyDB/addLotOccupancyFee.js | 10 +- helpers/lotOccupancyDB/addLotOccupancyFee.ts | 20 +- .../addLotOccupancyOccupant.d.ts | 3 +- .../lotOccupancyDB/addLotOccupancyOccupant.js | 4 +- .../lotOccupancyDB/addLotOccupancyOccupant.ts | 9 +- .../addLotOccupancyTransaction.d.ts | 3 +- .../addLotOccupancyTransaction.js | 6 +- .../addLotOccupancyTransaction.ts | 10 +- .../lotOccupancyDB/addLotOccupantType.d.ts | 3 +- helpers/lotOccupancyDB/addLotOccupantType.js | 6 +- helpers/lotOccupancyDB/addLotOccupantType.ts | 11 +- helpers/lotOccupancyDB/addLotTypeField.d.ts | 3 +- helpers/lotOccupancyDB/addLotTypeField.js | 6 +- helpers/lotOccupancyDB/addLotTypeField.ts | 10 +- helpers/lotOccupancyDB/addMap.d.ts | 3 +- helpers/lotOccupancyDB/addMap.js | 4 +- helpers/lotOccupancyDB/addMap.ts | 11 +- .../lotOccupancyDB/addOccupancyTypeField.d.ts | 3 +- .../lotOccupancyDB/addOccupancyTypeField.js | 6 +- .../lotOccupancyDB/addOccupancyTypeField.ts | 11 +- .../lotOccupancyDB/addOccupancyTypePrint.d.ts | 3 +- .../lotOccupancyDB/addOccupancyTypePrint.js | 8 +- .../lotOccupancyDB/addOccupancyTypePrint.ts | 12 +- .../lotOccupancyDB/addOrUpdateLotField.d.ts | 3 +- helpers/lotOccupancyDB/addOrUpdateLotField.js | 6 +- helpers/lotOccupancyDB/addOrUpdateLotField.ts | 11 +- .../addOrUpdateLotOccupancyField.d.ts | 3 +- .../addOrUpdateLotOccupancyField.js | 6 +- .../addOrUpdateLotOccupancyField.ts | 11 +- helpers/lotOccupancyDB/addRecord.d.ts | 3 +- helpers/lotOccupancyDB/addRecord.js | 6 +- helpers/lotOccupancyDB/addRecord.ts | 15 +- helpers/lotOccupancyDB/addWorkOrder.d.ts | 3 +- helpers/lotOccupancyDB/addWorkOrder.js | 12 +- helpers/lotOccupancyDB/addWorkOrder.ts | 17 +- .../lotOccupancyDB/addWorkOrderComment.d.ts | 3 +- helpers/lotOccupancyDB/addWorkOrderComment.js | 6 +- helpers/lotOccupancyDB/addWorkOrderComment.ts | 10 +- helpers/lotOccupancyDB/addWorkOrderLot.d.ts | 3 +- helpers/lotOccupancyDB/addWorkOrderLot.js | 6 +- helpers/lotOccupancyDB/addWorkOrderLot.ts | 12 +- .../addWorkOrderLotOccupancy.d.ts | 3 +- .../addWorkOrderLotOccupancy.js | 8 +- .../addWorkOrderLotOccupancy.ts | 15 +- .../lotOccupancyDB/addWorkOrderMilestone.d.ts | 3 +- .../lotOccupancyDB/addWorkOrderMilestone.js | 6 +- .../lotOccupancyDB/addWorkOrderMilestone.ts | 11 +- helpers/lotOccupancyDB/cleanupDatabase.d.ts | 3 +- helpers/lotOccupancyDB/cleanupDatabase.js | 32 +- helpers/lotOccupancyDB/cleanupDatabase.ts | 34 +- helpers/lotOccupancyDB/closeWorkOrder.d.ts | 3 +- helpers/lotOccupancyDB/closeWorkOrder.js | 6 +- helpers/lotOccupancyDB/closeWorkOrder.ts | 13 +- .../completeWorkOrderMilestone.d.ts | 3 +- .../completeWorkOrderMilestone.js | 6 +- .../completeWorkOrderMilestone.ts | 9 +- helpers/lotOccupancyDB/copyLotOccupancy.d.ts | 3 +- helpers/lotOccupancyDB/copyLotOccupancy.js | 14 +- helpers/lotOccupancyDB/copyLotOccupancy.ts | 21 +- helpers/lotOccupancyDB/deleteLotField.d.ts | 3 +- helpers/lotOccupancyDB/deleteLotField.js | 4 +- helpers/lotOccupancyDB/deleteLotField.ts | 7 +- .../lotOccupancyDB/deleteLotOccupancyFee.d.ts | 3 +- .../lotOccupancyDB/deleteLotOccupancyFee.js | 4 +- .../lotOccupancyDB/deleteLotOccupancyFee.ts | 6 +- .../deleteLotOccupancyField.d.ts | 3 +- .../lotOccupancyDB/deleteLotOccupancyField.js | 4 +- .../lotOccupancyDB/deleteLotOccupancyField.ts | 7 +- .../deleteLotOccupancyOccupant.d.ts | 3 +- .../deleteLotOccupancyOccupant.js | 4 +- .../deleteLotOccupancyOccupant.ts | 11 +- .../deleteLotOccupancyTransaction.d.ts | 3 +- .../deleteLotOccupancyTransaction.js | 4 +- .../deleteLotOccupancyTransaction.ts | 11 +- .../deleteOccupancyTypePrint.d.ts | 3 +- .../deleteOccupancyTypePrint.js | 6 +- .../deleteOccupancyTypePrint.ts | 13 +- helpers/lotOccupancyDB/deleteRecord.d.ts | 3 +- helpers/lotOccupancyDB/deleteRecord.js | 8 +- helpers/lotOccupancyDB/deleteRecord.ts | 10 +- .../lotOccupancyDB/deleteWorkOrderLot.d.ts | 3 +- helpers/lotOccupancyDB/deleteWorkOrderLot.js | 4 +- helpers/lotOccupancyDB/deleteWorkOrderLot.ts | 6 +- .../deleteWorkOrderLotOccupancy.d.ts | 3 +- .../deleteWorkOrderLotOccupancy.js | 4 +- .../deleteWorkOrderLotOccupancy.ts | 6 +- helpers/lotOccupancyDB/reopenWorkOrder.d.ts | 3 +- helpers/lotOccupancyDB/reopenWorkOrder.js | 4 +- helpers/lotOccupancyDB/reopenWorkOrder.ts | 6 +- .../reopenWorkOrderMilestone.d.ts | 3 +- .../reopenWorkOrderMilestone.js | 4 +- .../reopenWorkOrderMilestone.ts | 6 +- helpers/lotOccupancyDB/updateFee.d.ts | 3 +- helpers/lotOccupancyDB/updateFee.js | 4 +- helpers/lotOccupancyDB/updateFee.ts | 6 +- helpers/lotOccupancyDB/updateFeeCategory.d.ts | 3 +- helpers/lotOccupancyDB/updateFeeCategory.js | 5 +- helpers/lotOccupancyDB/updateFeeCategory.ts | 9 +- helpers/lotOccupancyDB/updateLot.d.ts | 5 +- helpers/lotOccupancyDB/updateLot.js | 14 +- helpers/lotOccupancyDB/updateLot.ts | 22 +- helpers/lotOccupancyDB/updateLotComment.d.ts | 3 +- helpers/lotOccupancyDB/updateLotComment.js | 6 +- helpers/lotOccupancyDB/updateLotComment.ts | 8 +- .../lotOccupancyDB/updateLotOccupancy.d.ts | 3 +- helpers/lotOccupancyDB/updateLotOccupancy.js | 10 +- helpers/lotOccupancyDB/updateLotOccupancy.ts | 15 +- .../updateLotOccupancyComment.d.ts | 3 +- .../updateLotOccupancyComment.js | 6 +- .../updateLotOccupancyComment.ts | 8 +- .../updateLotOccupancyFeeQuantity.d.ts | 3 +- .../updateLotOccupancyFeeQuantity.js | 4 +- .../updateLotOccupancyFeeQuantity.ts | 6 +- .../updateLotOccupancyOccupant.d.ts | 3 +- .../updateLotOccupancyOccupant.js | 4 +- .../updateLotOccupancyOccupant.ts | 6 +- .../updateLotOccupancyTransaction.d.ts | 3 +- .../updateLotOccupancyTransaction.js | 6 +- .../updateLotOccupancyTransaction.ts | 8 +- .../lotOccupancyDB/updateLotOccupantType.d.ts | 3 +- .../lotOccupancyDB/updateLotOccupantType.js | 6 +- .../lotOccupancyDB/updateLotOccupantType.ts | 8 +- .../lotOccupancyDB/updateLotTypeField.d.ts | 3 +- helpers/lotOccupancyDB/updateLotTypeField.js | 6 +- helpers/lotOccupancyDB/updateLotTypeField.ts | 8 +- helpers/lotOccupancyDB/updateMap.d.ts | 3 +- helpers/lotOccupancyDB/updateMap.js | 4 +- helpers/lotOccupancyDB/updateMap.ts | 6 +- .../updateOccupancyTypeField.d.ts | 3 +- .../updateOccupancyTypeField.js | 6 +- .../updateOccupancyTypeField.ts | 8 +- helpers/lotOccupancyDB/updateRecord.d.ts | 3 +- helpers/lotOccupancyDB/updateRecord.js | 6 +- helpers/lotOccupancyDB/updateRecord.ts | 8 +- helpers/lotOccupancyDB/updateWorkOrder.d.ts | 3 +- helpers/lotOccupancyDB/updateWorkOrder.js | 6 +- helpers/lotOccupancyDB/updateWorkOrder.ts | 8 +- .../updateWorkOrderComment.d.ts | 3 +- .../lotOccupancyDB/updateWorkOrderComment.js | 6 +- .../lotOccupancyDB/updateWorkOrderComment.ts | 8 +- .../updateWorkOrderMilestone.d.ts | 3 +- .../updateWorkOrderMilestone.js | 6 +- .../updateWorkOrderMilestone.ts | 8 +- helpers/polyfills.d.ts | 2 - helpers/polyfills.js | 17 - helpers/polyfills.ts | 26 - package-lock.json | 3140 ++++++++++------- package.json | 86 +- routes/login.js | 6 +- routes/login.ts | 21 +- temp/legacy.importFromCSV.js | 34 +- temp/legacy.importFromCSV.ts | 58 +- test/functions.js | 11 - test/functions.ts | 16 - types/recordTypes.d.ts | 11 +- types/recordTypes.ts | 12 +- 347 files changed, 2878 insertions(+), 2498 deletions(-) delete mode 100644 helpers/polyfills.d.ts delete mode 100644 helpers/polyfills.js delete mode 100644 helpers/polyfills.ts diff --git a/.eslintrc.json b/.eslintrc.json index fc6314a8..bd86d30c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,75 +1,10 @@ { "root": true, - "env": { - "es6": true - }, "parser": "@typescript-eslint/parser", "parserOptions": { "project": ["./tsconfig.json", "./tsconfig.client.json"], - "ecmaVersion": 2020, + "ecmaVersion": 2022, "sourceType": "module" }, - "plugins": ["@typescript-eslint", "unicorn"], - "extends": [ - "eslint:recommended", - "standard-with-typescript", - "plugin:import/recommended", - "plugin:import/typescript", - "plugin:node/recommended", - "plugin:promise/recommended", - "plugin:unicorn/recommended", - "plugin:@typescript-eslint/recommended" - ], - "rules": { - "@typescript-eslint/member-delimiter-style": [ - "error", - { - "multiline": { - "delimiter": "none" - }, - "singleline": { - "delimiter": "semi" - } - } - ], - "@typescript-eslint/no-extra-semi": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/no-misused-promises": "warn", - "@typescript-eslint/restrict-plus-operands": "warn", - "@typescript-eslint/space-before-function-paren": "off", - "@typescript-eslint/strict-boolean-expressions": "warn", - "node/no-missing-import": "off", - "node/no-unpublished-import": "off", - "unicorn/consistent-function-scoping": "warn", - "unicorn/empty-brace-spaces": "off", - "unicorn/filename-case": [ - "error", - { - "case": "camelCase", - "ignore": ["DB", "URL"] - } - ], - "unicorn/prevent-abbreviations": [ - "error", - { - "replacements": { - "def": { - "definition": true - }, - "ele": { - "element": true - }, - "eles": { - "elements": true - }, - "fns": { - "functions": true - }, - "res": { - "result": false - } - } - } - ] - } -} + "extends": ["eslint-config-cityssm"] +} \ No newline at end of file diff --git a/app.d.ts b/app.d.ts index 0dd47f8f..6a16f7b4 100644 --- a/app.d.ts +++ b/app.d.ts @@ -1,3 +1,2 @@ -import './helpers/polyfills.js'; export declare const app: import("express-serve-static-core").Express; export default app; diff --git a/app.js b/app.js index 54b294c9..8dc51e0f 100644 --- a/app.js +++ b/app.js @@ -1,35 +1,33 @@ -import './helpers/polyfills.js'; -import createError from 'http-errors'; -import express from 'express'; -import compression from 'compression'; import path from 'node:path'; +import * as htmlFns from '@cityssm/expressjs-server-js/htmlFns.js'; +import * as stringFns from '@cityssm/expressjs-server-js/stringFns.js'; +import * as dateTimeFns from '@cityssm/utils-datetime'; +import compression from 'compression'; import cookieParser from 'cookie-parser'; import csurf from 'csurf'; +import Debug from 'debug'; +import express from 'express'; import rateLimit from 'express-rate-limit'; import session from 'express-session'; +import createError from 'http-errors'; import FileStore from 'session-file-store'; +import { useTestDatabases } from './data/databasePaths.js'; import * as permissionHandlers from './handlers/permissions.js'; -import routerLogin from './routes/login.js'; -import routerDashboard from './routes/dashboard.js'; -import routerApi from './routes/api.js'; -import routerPrint from './routes/print.js'; -import routerMaps from './routes/maps.js'; -import routerLots from './routes/lots.js'; -import routerLotOccupancies from './routes/lotOccupancies.js'; -import routerWorkOrders from './routes/workOrders.js'; -import routerReports from './routes/reports.js'; -import routerAdmin from './routes/admin.js'; +import { getSafeRedirectURL } from './helpers/functions.authentication.js'; import * as configFunctions from './helpers/functions.config.js'; import * as printFunctions from './helpers/functions.print.js'; -import * as dateTimeFns from '@cityssm/utils-datetime'; -import * as stringFns from '@cityssm/expressjs-server-js/stringFns.js'; -import * as htmlFns from '@cityssm/expressjs-server-js/htmlFns.js'; -import { version } from './version.js'; import * as databaseInitializer from './helpers/initializer.database.js'; -import { apiGetHandler } from './handlers/permissions.js'; -import { getSafeRedirectURL } from './helpers/functions.authentication.js'; -import { useTestDatabases } from './data/databasePaths.js'; -import Debug from 'debug'; +import routerAdmin from './routes/admin.js'; +import routerApi from './routes/api.js'; +import routerDashboard from './routes/dashboard.js'; +import routerLogin from './routes/login.js'; +import routerLotOccupancies from './routes/lotOccupancies.js'; +import routerLots from './routes/lots.js'; +import routerMaps from './routes/maps.js'; +import routerPrint from './routes/print.js'; +import routerReports from './routes/reports.js'; +import routerWorkOrders from './routes/workOrders.js'; +import { version } from './version.js'; const debug = Debug(`lot-occupancy-system:app:${process.pid}`); databaseInitializer.initializeDatabase(); const _dirname = '.'; @@ -120,7 +118,7 @@ app.get(urlPrefix + '/', sessionChecker, (_request, response) => { response.redirect(urlPrefix + '/dashboard'); }); app.use(urlPrefix + '/dashboard', sessionChecker, routerDashboard); -app.use(urlPrefix + '/api/:apiKey', apiGetHandler, routerApi); +app.use(urlPrefix + '/api/:apiKey', permissionHandlers.apiGetHandler, routerApi); app.use(urlPrefix + '/print', sessionChecker, routerPrint); app.use(urlPrefix + '/maps', sessionChecker, routerMaps); app.use(urlPrefix + '/lots', sessionChecker, routerLots); diff --git a/app.ts b/app.ts index 22991d7b..b890738a 100644 --- a/app.ts +++ b/app.ts @@ -1,45 +1,36 @@ -import './helpers/polyfills.js' - -import createError from 'http-errors' -import express, { type RequestHandler } from 'express' - -import compression from 'compression' import path from 'node:path' + +import * as htmlFns from '@cityssm/expressjs-server-js/htmlFns.js' +import * as stringFns from '@cityssm/expressjs-server-js/stringFns.js' +import * as dateTimeFns from '@cityssm/utils-datetime' +import compression from 'compression' import cookieParser from 'cookie-parser' import csurf from 'csurf' +import Debug from 'debug' +import express, { type RequestHandler } from 'express' import rateLimit from 'express-rate-limit' - import session from 'express-session' +import createError from 'http-errors' import FileStore from 'session-file-store' +import { useTestDatabases } from './data/databasePaths.js' import * as permissionHandlers from './handlers/permissions.js' -import routerLogin from './routes/login.js' -import routerDashboard from './routes/dashboard.js' -import routerApi from './routes/api.js' -import routerPrint from './routes/print.js' -import routerMaps from './routes/maps.js' -import routerLots from './routes/lots.js' -import routerLotOccupancies from './routes/lotOccupancies.js' -import routerWorkOrders from './routes/workOrders.js' -import routerReports from './routes/reports.js' -import routerAdmin from './routes/admin.js' - +import { getSafeRedirectURL } from './helpers/functions.authentication.js' import * as configFunctions from './helpers/functions.config.js' import * as printFunctions from './helpers/functions.print.js' -import * as dateTimeFns from '@cityssm/utils-datetime' -import * as stringFns from '@cityssm/expressjs-server-js/stringFns.js' -import * as htmlFns from '@cityssm/expressjs-server-js/htmlFns.js' - +import * as databaseInitializer from './helpers/initializer.database.js' +import routerAdmin from './routes/admin.js' +import routerApi from './routes/api.js' +import routerDashboard from './routes/dashboard.js' +import routerLogin from './routes/login.js' +import routerLotOccupancies from './routes/lotOccupancies.js' +import routerLots from './routes/lots.js' +import routerMaps from './routes/maps.js' +import routerPrint from './routes/print.js' +import routerReports from './routes/reports.js' +import routerWorkOrders from './routes/workOrders.js' import { version } from './version.js' -import * as databaseInitializer from './helpers/initializer.database.js' - -import { apiGetHandler } from './handlers/permissions.js' -import { getSafeRedirectURL } from './helpers/functions.authentication.js' - -import { useTestDatabases } from './data/databasePaths.js' - -import Debug from 'debug' const debug = Debug(`lot-occupancy-system:app:${process.pid}`) /* @@ -240,7 +231,11 @@ app.get(urlPrefix + '/', sessionChecker, (_request, response) => { app.use(urlPrefix + '/dashboard', sessionChecker, routerDashboard) -app.use(urlPrefix + '/api/:apiKey', apiGetHandler as RequestHandler, routerApi) +app.use( + urlPrefix + '/api/:apiKey', + permissionHandlers.apiGetHandler as RequestHandler, + routerApi +) app.use(urlPrefix + '/print', sessionChecker, routerPrint) app.use(urlPrefix + '/maps', sessionChecker, routerMaps) diff --git a/bin/www.d.ts b/bin/www.d.ts index 6d453531..cb0ff5c3 100644 --- a/bin/www.d.ts +++ b/bin/www.d.ts @@ -1 +1 @@ -import '../helpers/polyfills.js'; +export {}; diff --git a/bin/www.js b/bin/www.js index 6d01c3a8..31ce8e79 100644 --- a/bin/www.js +++ b/bin/www.js @@ -1,12 +1,11 @@ -import '../helpers/polyfills.js'; import cluster from 'node:cluster'; import os from 'node:os'; import { dirname } from 'node:path'; import { fileURLToPath } from 'node:url'; -import * as configFunctions from '../helpers/functions.config.js'; -import exitHook from 'exit-hook'; import ntfyPublish from '@cityssm/ntfy-publish'; import Debug from 'debug'; +import exitHook from 'exit-hook'; +import * as configFunctions from '../helpers/functions.config.js'; const debug = Debug(`lot-occupancy-system:www:${process.pid}`); const directoryName = dirname(fileURLToPath(import.meta.url)); const processCount = Math.min(configFunctions.getProperty('application.maximumProcesses'), os.cpus().length); diff --git a/bin/www.ts b/bin/www.ts index 66e6e91e..ae015d82 100644 --- a/bin/www.ts +++ b/bin/www.ts @@ -1,22 +1,15 @@ -import '../helpers/polyfills.js' - -import cluster from 'node:cluster' -import type { Worker } from 'node:cluster' - +import cluster, { type Worker } from 'node:cluster' import os from 'node:os' import { dirname } from 'node:path' import { fileURLToPath } from 'node:url' -import * as configFunctions from '../helpers/functions.config.js' - +import ntfyPublish, { type NtfyMessageOptions } from '@cityssm/ntfy-publish' +import Debug from 'debug' import exitHook from 'exit-hook' -import ntfyPublish from '@cityssm/ntfy-publish' -import type * as ntfyTypes from '@cityssm/ntfy-publish/types' +import * as configFunctions from '../helpers/functions.config.js' +import type { WorkerMessage } from '../types/applicationTypes.js' -import type { WorkerMessage } from '../types/applicationTypes' - -import Debug from 'debug' const debug = Debug(`lot-occupancy-system:www:${process.pid}`) const directoryName = dirname(fileURLToPath(import.meta.url)) @@ -71,14 +64,14 @@ if (ntfyStartupConfig !== undefined) { const topic = ntfyStartupConfig.topic const server = ntfyStartupConfig.server - const ntfyStartupMessage: ntfyTypes.NtfyMessageOptions = { + const ntfyStartupMessage: NtfyMessageOptions = { topic, title: configFunctions.getProperty('application.applicationName'), message: 'Application Started', tags: ['arrow_up'] } - const ntfyShutdownMessage: ntfyTypes.NtfyMessageOptions = { + const ntfyShutdownMessage: NtfyMessageOptions = { topic, title: configFunctions.getProperty('application.applicationName'), message: 'Application Shut Down', @@ -106,7 +99,7 @@ if (process.env.STARTUP_TEST === 'true') { setTimeout(() => { debug('Killing processes') - // eslint-disable-next-line no-process-exit, unicorn/no-process-exit + // eslint-disable-next-line n/no-process-exit, unicorn/no-process-exit process.exit(0) }, 10_000) } diff --git a/bin/wwwProcess.js b/bin/wwwProcess.js index ece15f74..60c74e8c 100644 --- a/bin/wwwProcess.js +++ b/bin/wwwProcess.js @@ -1,8 +1,8 @@ -import { app } from '../app.js'; import http from 'node:http'; -import * as configFunctions from '../helpers/functions.config.js'; -import exitHook from 'exit-hook'; import Debug from 'debug'; +import exitHook from 'exit-hook'; +import { app } from '../app.js'; +import * as configFunctions from '../helpers/functions.config.js'; const debug = Debug(`lot-occupancy-system:wwwProcess:${process.pid}`); function onError(error) { if (error.syscall !== 'listen') { @@ -29,7 +29,8 @@ function onListening(server) { debug('HTTP Listening on ' + bind); } } -process.title = configFunctions.getProperty('application.applicationName') + ' (Worker)'; +process.title = + configFunctions.getProperty('application.applicationName') + ' (Worker)'; const httpPort = configFunctions.getProperty('application.httpPort'); const httpServer = http.createServer(app); httpServer.listen(httpPort); diff --git a/bin/wwwProcess.ts b/bin/wwwProcess.ts index b643beaa..2d1ce473 100644 --- a/bin/wwwProcess.ts +++ b/bin/wwwProcess.ts @@ -1,14 +1,14 @@ -/* eslint-disable no-process-exit, unicorn/no-process-exit */ - -import { app } from '../app.js' +// eslint-disable-next-line eslint-comments/disable-enable-pair +/* eslint-disable n/no-process-exit, unicorn/no-process-exit */ import http from 'node:http' -import * as configFunctions from '../helpers/functions.config.js' - +import Debug from 'debug' import exitHook from 'exit-hook' -import Debug from 'debug' +import { app } from '../app.js' +import * as configFunctions from '../helpers/functions.config.js' + const debug = Debug(`lot-occupancy-system:wwwProcess:${process.pid}`) interface ServerError extends Error { @@ -58,7 +58,8 @@ function onListening(server: http.Server): void { * Initialize HTTP */ -process.title = configFunctions.getProperty('application.applicationName') + ' (Worker)' +process.title = + configFunctions.getProperty('application.applicationName') + ' (Worker)' const httpPort = configFunctions.getProperty('application.httpPort') diff --git a/handlers/admin-post/doAddFee.js b/handlers/admin-post/doAddFee.js index ed8ae41b..66ca8996 100644 --- a/handlers/admin-post/doAddFee.js +++ b/handlers/admin-post/doAddFee.js @@ -1,7 +1,7 @@ import { addFee } from '../../helpers/lotOccupancyDB/addFee.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; export async function handler(request, response) { - const feeId = await addFee(request.body, request.session); + const feeId = await addFee(request.body, request.session.user); const feeCategories = await getFeeCategories({}, { includeFees: true }); diff --git a/handlers/admin-post/doAddFee.ts b/handlers/admin-post/doAddFee.ts index b913ab64..73ae8bab 100644 --- a/handlers/admin-post/doAddFee.ts +++ b/handlers/admin-post/doAddFee.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' import { addFee } from '../../helpers/lotOccupancyDB/addFee.js' - import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' export async function handler( request: Request, response: Response ): Promise { - const feeId = await addFee(request.body, request.session) + const feeId = await addFee(request.body, request.session.user as User) const feeCategories = await getFeeCategories( {}, diff --git a/handlers/admin-post/doAddFeeCategory.js b/handlers/admin-post/doAddFeeCategory.js index 4aa33a64..25d45708 100644 --- a/handlers/admin-post/doAddFeeCategory.js +++ b/handlers/admin-post/doAddFeeCategory.js @@ -1,7 +1,7 @@ import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; export async function handler(request, response) { - const feeCategoryId = await addRecord('FeeCategories', request.body.feeCategory, request.body.orderNumber ?? -1, request.session); + const feeCategoryId = await addRecord('FeeCategories', request.body.feeCategory, request.body.orderNumber ?? -1, request.session.user); const feeCategories = await getFeeCategories({}, { includeFees: true }); diff --git a/handlers/admin-post/doAddFeeCategory.ts b/handlers/admin-post/doAddFeeCategory.ts index 7c5a2dc9..be9602cf 100644 --- a/handlers/admin-post/doAddFeeCategory.ts +++ b/handlers/admin-post/doAddFeeCategory.ts @@ -1,7 +1,6 @@ import type { Request, Response } from 'express' import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' - import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' export async function handler( @@ -12,7 +11,7 @@ export async function handler( 'FeeCategories', request.body.feeCategory, request.body.orderNumber ?? -1, - request.session + request.session.user as User ) const feeCategories = await getFeeCategories( diff --git a/handlers/admin-post/doAddLotOccupantType.js b/handlers/admin-post/doAddLotOccupantType.js index 51950afb..2eeed1cb 100644 --- a/handlers/admin-post/doAddLotOccupantType.js +++ b/handlers/admin-post/doAddLotOccupantType.js @@ -1,7 +1,7 @@ -import { addLotOccupantType } from '../../helpers/lotOccupancyDB/addLotOccupantType.js'; import { getLotOccupantTypes } from '../../helpers/functions.cache.js'; +import { addLotOccupantType } from '../../helpers/lotOccupancyDB/addLotOccupantType.js'; export async function handler(request, response) { - const lotOccupantTypeId = await addLotOccupantType(request.body, request.session); + const lotOccupantTypeId = await addLotOccupantType(request.body, request.session.user); const lotOccupantTypes = await getLotOccupantTypes(); response.json({ success: true, diff --git a/handlers/admin-post/doAddLotOccupantType.ts b/handlers/admin-post/doAddLotOccupantType.ts index f7cd66b9..4d2909e3 100644 --- a/handlers/admin-post/doAddLotOccupantType.ts +++ b/handlers/admin-post/doAddLotOccupantType.ts @@ -1,8 +1,7 @@ import type { Request, Response } from 'express' -import { addLotOccupantType } from '../../helpers/lotOccupancyDB/addLotOccupantType.js' - import { getLotOccupantTypes } from '../../helpers/functions.cache.js' +import { addLotOccupantType } from '../../helpers/lotOccupancyDB/addLotOccupantType.js' export async function handler( request: Request, @@ -10,7 +9,7 @@ export async function handler( ): Promise { const lotOccupantTypeId = await addLotOccupantType( request.body, - request.session + request.session.user as User ) const lotOccupantTypes = await getLotOccupantTypes() diff --git a/handlers/admin-post/doAddLotStatus.js b/handlers/admin-post/doAddLotStatus.js index 12e1ee6a..0cd26202 100644 --- a/handlers/admin-post/doAddLotStatus.js +++ b/handlers/admin-post/doAddLotStatus.js @@ -1,7 +1,7 @@ -import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; import { getLotStatuses } from '../../helpers/functions.cache.js'; +import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; export async function handler(request, response) { - const lotStatusId = await addRecord('LotStatuses', request.body.lotStatus, request.body.orderNumber ?? -1, request.session); + const lotStatusId = await addRecord('LotStatuses', request.body.lotStatus, request.body.orderNumber ?? -1, request.session.user); const lotStatuses = await getLotStatuses(); response.json({ success: true, diff --git a/handlers/admin-post/doAddLotStatus.ts b/handlers/admin-post/doAddLotStatus.ts index e6919099..9a7b61c2 100644 --- a/handlers/admin-post/doAddLotStatus.ts +++ b/handlers/admin-post/doAddLotStatus.ts @@ -1,7 +1,7 @@ import type { Request, Response } from 'express' -import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' import { getLotStatuses } from '../../helpers/functions.cache.js' +import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' export async function handler( request: Request, @@ -11,7 +11,7 @@ export async function handler( 'LotStatuses', request.body.lotStatus, request.body.orderNumber ?? -1, - request.session + request.session.user as User ) const lotStatuses = await getLotStatuses() diff --git a/handlers/admin-post/doAddLotType.js b/handlers/admin-post/doAddLotType.js index 30a99e24..1acd3159 100644 --- a/handlers/admin-post/doAddLotType.js +++ b/handlers/admin-post/doAddLotType.js @@ -1,7 +1,7 @@ -import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; +import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; export async function handler(request, response) { - const lotTypeId = await addRecord('LotTypes', request.body.lotType, request.body.orderNumber ?? -1, request.session); + const lotTypeId = await addRecord('LotTypes', request.body.lotType, request.body.orderNumber ?? -1, request.session.user); const lotTypes = await getLotTypes(); response.json({ success: true, diff --git a/handlers/admin-post/doAddLotType.ts b/handlers/admin-post/doAddLotType.ts index f8a8c097..83447846 100644 --- a/handlers/admin-post/doAddLotType.ts +++ b/handlers/admin-post/doAddLotType.ts @@ -1,7 +1,7 @@ import type { Request, Response } from 'express' -import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' import { getLotTypes } from '../../helpers/functions.cache.js' +import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' export async function handler( request: Request, @@ -11,7 +11,7 @@ export async function handler( 'LotTypes', request.body.lotType, request.body.orderNumber ?? -1, - request.session + request.session.user as User ) const lotTypes = await getLotTypes() diff --git a/handlers/admin-post/doAddLotTypeField.js b/handlers/admin-post/doAddLotTypeField.js index 52705964..26a6349b 100644 --- a/handlers/admin-post/doAddLotTypeField.js +++ b/handlers/admin-post/doAddLotTypeField.js @@ -1,7 +1,7 @@ -import { addLotTypeField } from '../../helpers/lotOccupancyDB/addLotTypeField.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; +import { addLotTypeField } from '../../helpers/lotOccupancyDB/addLotTypeField.js'; export async function handler(request, response) { - const lotTypeFieldId = await addLotTypeField(request.body, request.session); + const lotTypeFieldId = await addLotTypeField(request.body, request.session.user); const lotTypes = await getLotTypes(); response.json({ success: true, diff --git a/handlers/admin-post/doAddLotTypeField.ts b/handlers/admin-post/doAddLotTypeField.ts index 282183fb..3468f8a7 100644 --- a/handlers/admin-post/doAddLotTypeField.ts +++ b/handlers/admin-post/doAddLotTypeField.ts @@ -1,14 +1,16 @@ import type { Request, Response } from 'express' -import { addLotTypeField } from '../../helpers/lotOccupancyDB/addLotTypeField.js' - import { getLotTypes } from '../../helpers/functions.cache.js' +import { addLotTypeField } from '../../helpers/lotOccupancyDB/addLotTypeField.js' export async function handler( request: Request, response: Response ): Promise { - const lotTypeFieldId = await addLotTypeField(request.body, request.session) + const lotTypeFieldId = await addLotTypeField( + request.body, + request.session.user as User + ) const lotTypes = await getLotTypes() diff --git a/handlers/admin-post/doAddOccupancyType.js b/handlers/admin-post/doAddOccupancyType.js index f36124fe..a6b6067c 100644 --- a/handlers/admin-post/doAddOccupancyType.js +++ b/handlers/admin-post/doAddOccupancyType.js @@ -1,7 +1,7 @@ -import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; +import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; export async function handler(request, response) { - const occupancyTypeId = await addRecord('OccupancyTypes', request.body.occupancyType, request.body.orderNumber ?? -1, request.session); + const occupancyTypeId = await addRecord('OccupancyTypes', request.body.occupancyType, request.body.orderNumber ?? -1, request.session.user); const occupancyTypes = await getOccupancyTypes(); const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ diff --git a/handlers/admin-post/doAddOccupancyType.ts b/handlers/admin-post/doAddOccupancyType.ts index ff126549..2ab35bd5 100644 --- a/handlers/admin-post/doAddOccupancyType.ts +++ b/handlers/admin-post/doAddOccupancyType.ts @@ -1,10 +1,10 @@ import type { Request, Response } from 'express' -import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js' +import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' export async function handler( request: Request, @@ -14,7 +14,7 @@ export async function handler( 'OccupancyTypes', request.body.occupancyType, request.body.orderNumber ?? -1, - request.session + request.session.user as User ) const occupancyTypes = await getOccupancyTypes() diff --git a/handlers/admin-post/doAddOccupancyTypeField.js b/handlers/admin-post/doAddOccupancyTypeField.js index dd2cdfe1..8e4e291f 100644 --- a/handlers/admin-post/doAddOccupancyTypeField.js +++ b/handlers/admin-post/doAddOccupancyTypeField.js @@ -1,7 +1,7 @@ -import { addOccupancyTypeField } from '../../helpers/lotOccupancyDB/addOccupancyTypeField.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; +import { addOccupancyTypeField } from '../../helpers/lotOccupancyDB/addOccupancyTypeField.js'; export async function handler(request, response) { - const occupancyTypeFieldId = await addOccupancyTypeField(request.body, request.session); + const occupancyTypeFieldId = await addOccupancyTypeField(request.body, request.session.user); const occupancyTypes = await getOccupancyTypes(); const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ diff --git a/handlers/admin-post/doAddOccupancyTypeField.ts b/handlers/admin-post/doAddOccupancyTypeField.ts index 99af2258..882bc74d 100644 --- a/handlers/admin-post/doAddOccupancyTypeField.ts +++ b/handlers/admin-post/doAddOccupancyTypeField.ts @@ -1,11 +1,10 @@ import type { Request, Response } from 'express' -import { addOccupancyTypeField } from '../../helpers/lotOccupancyDB/addOccupancyTypeField.js' - import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js' +import { addOccupancyTypeField } from '../../helpers/lotOccupancyDB/addOccupancyTypeField.js' export async function handler( request: Request, @@ -13,7 +12,7 @@ export async function handler( ): Promise { const occupancyTypeFieldId = await addOccupancyTypeField( request.body, - request.session + request.session.user as User ) const occupancyTypes = await getOccupancyTypes() diff --git a/handlers/admin-post/doAddOccupancyTypePrint.js b/handlers/admin-post/doAddOccupancyTypePrint.js index 48d5b2e3..a9481b63 100644 --- a/handlers/admin-post/doAddOccupancyTypePrint.js +++ b/handlers/admin-post/doAddOccupancyTypePrint.js @@ -1,7 +1,7 @@ -import { addOccupancyTypePrint } from '../../helpers/lotOccupancyDB/addOccupancyTypePrint.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; +import { addOccupancyTypePrint } from '../../helpers/lotOccupancyDB/addOccupancyTypePrint.js'; export async function handler(request, response) { - const success = await addOccupancyTypePrint(request.body, request.session); + const success = await addOccupancyTypePrint(request.body, request.session.user); const occupancyTypes = await getOccupancyTypes(); const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ diff --git a/handlers/admin-post/doAddOccupancyTypePrint.ts b/handlers/admin-post/doAddOccupancyTypePrint.ts index 64f0e003..bffd7e35 100644 --- a/handlers/admin-post/doAddOccupancyTypePrint.ts +++ b/handlers/admin-post/doAddOccupancyTypePrint.ts @@ -1,17 +1,19 @@ import type { Request, Response } from 'express' -import { addOccupancyTypePrint } from '../../helpers/lotOccupancyDB/addOccupancyTypePrint.js' - import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js' +import { addOccupancyTypePrint } from '../../helpers/lotOccupancyDB/addOccupancyTypePrint.js' export async function handler( request: Request, response: Response ): Promise { - const success = await addOccupancyTypePrint(request.body, request.session) + const success = await addOccupancyTypePrint( + request.body, + request.session.user as User + ) const occupancyTypes = await getOccupancyTypes() const allOccupancyTypeFields = await getAllOccupancyTypeFields() diff --git a/handlers/admin-post/doAddWorkOrderMilestoneType.js b/handlers/admin-post/doAddWorkOrderMilestoneType.js index 217ee9d1..0ee468dd 100644 --- a/handlers/admin-post/doAddWorkOrderMilestoneType.js +++ b/handlers/admin-post/doAddWorkOrderMilestoneType.js @@ -1,7 +1,7 @@ import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js'; import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; export async function handler(request, response) { - const workOrderMilestoneTypeId = await addRecord('WorkOrderMilestoneTypes', request.body.workOrderMilestoneType, request.body.orderNumber ?? -1, request.session); + const workOrderMilestoneTypeId = await addRecord('WorkOrderMilestoneTypes', request.body.workOrderMilestoneType, request.body.orderNumber ?? -1, request.session.user); const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); response.json({ success: true, diff --git a/handlers/admin-post/doAddWorkOrderMilestoneType.ts b/handlers/admin-post/doAddWorkOrderMilestoneType.ts index 0cb9bbe8..2d25d1dc 100644 --- a/handlers/admin-post/doAddWorkOrderMilestoneType.ts +++ b/handlers/admin-post/doAddWorkOrderMilestoneType.ts @@ -11,7 +11,7 @@ export async function handler( 'WorkOrderMilestoneTypes', request.body.workOrderMilestoneType, request.body.orderNumber ?? -1, - request.session + request.session.user as User ) const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes() diff --git a/handlers/admin-post/doAddWorkOrderType.js b/handlers/admin-post/doAddWorkOrderType.js index a2374a86..fcd78ace 100644 --- a/handlers/admin-post/doAddWorkOrderType.js +++ b/handlers/admin-post/doAddWorkOrderType.js @@ -1,7 +1,7 @@ -import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; import { getWorkOrderTypes } from '../../helpers/functions.cache.js'; +import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js'; export async function handler(request, response) { - const workOrderTypeId = await addRecord('WorkOrderTypes', request.body.workOrderType, request.body.orderNumber ?? -1, request.session); + const workOrderTypeId = await addRecord('WorkOrderTypes', request.body.workOrderType, request.body.orderNumber ?? -1, request.session.user); const workOrderTypes = await getWorkOrderTypes(); response.json({ success: true, diff --git a/handlers/admin-post/doAddWorkOrderType.ts b/handlers/admin-post/doAddWorkOrderType.ts index 5b98b83a..714a9994 100644 --- a/handlers/admin-post/doAddWorkOrderType.ts +++ b/handlers/admin-post/doAddWorkOrderType.ts @@ -1,7 +1,7 @@ import type { Request, Response } from 'express' -import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' import { getWorkOrderTypes } from '../../helpers/functions.cache.js' +import { addRecord } from '../../helpers/lotOccupancyDB/addRecord.js' export async function handler( request: Request, @@ -11,7 +11,7 @@ export async function handler( 'WorkOrderTypes', request.body.workOrderType, request.body.orderNumber ?? -1, - request.session + request.session.user as User ) const workOrderTypes = await getWorkOrderTypes() diff --git a/handlers/admin-post/doBackupDatabase.js b/handlers/admin-post/doBackupDatabase.js index 53b3e8b5..4a5f9af2 100644 --- a/handlers/admin-post/doBackupDatabase.js +++ b/handlers/admin-post/doBackupDatabase.js @@ -3,7 +3,7 @@ export async function handler(_request, response) { const backupDatabasePath = await backupDatabase(); if (typeof backupDatabasePath === 'string') { const backupDatabasePathSplit = backupDatabasePath.split(/[/\\]/g); - const fileName = backupDatabasePathSplit[backupDatabasePathSplit.length - 1]; + const fileName = backupDatabasePathSplit.at(-1); response.json({ success: true, fileName diff --git a/handlers/admin-post/doBackupDatabase.ts b/handlers/admin-post/doBackupDatabase.ts index 9ee8e6a1..4836bfe2 100644 --- a/handlers/admin-post/doBackupDatabase.ts +++ b/handlers/admin-post/doBackupDatabase.ts @@ -11,7 +11,7 @@ export async function handler( if (typeof backupDatabasePath === 'string') { const backupDatabasePathSplit = backupDatabasePath.split(/[/\\]/g) - const fileName = backupDatabasePathSplit[backupDatabasePathSplit.length - 1] + const fileName = backupDatabasePathSplit.at(-1) response.json({ success: true, diff --git a/handlers/admin-post/doCleanupDatabase.js b/handlers/admin-post/doCleanupDatabase.js index 66e3a78b..4ba5699f 100644 --- a/handlers/admin-post/doCleanupDatabase.js +++ b/handlers/admin-post/doCleanupDatabase.js @@ -1,6 +1,6 @@ import { cleanupDatabase } from '../../helpers/lotOccupancyDB/cleanupDatabase.js'; export async function handler(request, response) { - const recordCounts = await cleanupDatabase(request.session); + const recordCounts = await cleanupDatabase(request.session.user); response.json({ success: true, inactivatedRecordCount: recordCounts.inactivatedRecordCount, diff --git a/handlers/admin-post/doCleanupDatabase.ts b/handlers/admin-post/doCleanupDatabase.ts index b316c479..819e532d 100644 --- a/handlers/admin-post/doCleanupDatabase.ts +++ b/handlers/admin-post/doCleanupDatabase.ts @@ -6,7 +6,7 @@ export async function handler( request: Request, response: Response ): Promise { - const recordCounts = await cleanupDatabase(request.session) + const recordCounts = await cleanupDatabase(request.session.user as User) response.json({ success: true, diff --git a/handlers/admin-post/doDeleteFee.js b/handlers/admin-post/doDeleteFee.js index e85dd874..4a74948c 100644 --- a/handlers/admin-post/doDeleteFee.js +++ b/handlers/admin-post/doDeleteFee.js @@ -1,7 +1,7 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; export async function handler(request, response) { - const success = await deleteRecord('Fees', request.body.feeId, request.session); + const success = await deleteRecord('Fees', request.body.feeId, request.session.user); const feeCategories = await getFeeCategories({}, { includeFees: true }); diff --git a/handlers/admin-post/doDeleteFee.ts b/handlers/admin-post/doDeleteFee.ts index 456d703d..6339c164 100644 --- a/handlers/admin-post/doDeleteFee.ts +++ b/handlers/admin-post/doDeleteFee.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' export async function handler( request: Request, response: Response ): Promise { - const success = await deleteRecord('Fees', request.body.feeId, request.session) + const success = await deleteRecord('Fees', request.body.feeId, request.session.user as User) const feeCategories = await getFeeCategories( {}, diff --git a/handlers/admin-post/doDeleteFeeCategory.js b/handlers/admin-post/doDeleteFeeCategory.js index a3ca493e..de4e9034 100644 --- a/handlers/admin-post/doDeleteFeeCategory.js +++ b/handlers/admin-post/doDeleteFeeCategory.js @@ -1,7 +1,7 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; export async function handler(request, response) { - const success = await deleteRecord('FeeCategories', request.body.feeCategoryId, request.session); + const success = await deleteRecord('FeeCategories', request.body.feeCategoryId, request.session.user); const feeCategories = await getFeeCategories({}, { includeFees: true }); diff --git a/handlers/admin-post/doDeleteFeeCategory.ts b/handlers/admin-post/doDeleteFeeCategory.ts index fa131f11..0ed29494 100644 --- a/handlers/admin-post/doDeleteFeeCategory.ts +++ b/handlers/admin-post/doDeleteFeeCategory.ts @@ -1,7 +1,6 @@ import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' export async function handler( @@ -11,7 +10,7 @@ export async function handler( const success = await deleteRecord( 'FeeCategories', request.body.feeCategoryId, - request.session + request.session.user as User ) const feeCategories = await getFeeCategories( diff --git a/handlers/admin-post/doDeleteLotOccupantType.js b/handlers/admin-post/doDeleteLotOccupantType.js index 33a3e626..2d6ad4a0 100644 --- a/handlers/admin-post/doDeleteLotOccupantType.js +++ b/handlers/admin-post/doDeleteLotOccupantType.js @@ -1,7 +1,7 @@ -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getLotOccupantTypes } from '../../helpers/functions.cache.js'; +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; export async function handler(request, response) { - const success = await deleteRecord('LotOccupantTypes', request.body.lotOccupantTypeId, request.session); + const success = await deleteRecord('LotOccupantTypes', request.body.lotOccupantTypeId, request.session.user); const lotOccupantTypes = await getLotOccupantTypes(); response.json({ success, diff --git a/handlers/admin-post/doDeleteLotOccupantType.ts b/handlers/admin-post/doDeleteLotOccupantType.ts index 7d12d76e..2f44d760 100644 --- a/handlers/admin-post/doDeleteLotOccupantType.ts +++ b/handlers/admin-post/doDeleteLotOccupantType.ts @@ -1,8 +1,7 @@ import type { Request, Response } from 'express' -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getLotOccupantTypes } from '../../helpers/functions.cache.js' +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' export async function handler( request: Request, @@ -11,7 +10,7 @@ export async function handler( const success = await deleteRecord( 'LotOccupantTypes', request.body.lotOccupantTypeId, - request.session + request.session.user as User ) const lotOccupantTypes = await getLotOccupantTypes() diff --git a/handlers/admin-post/doDeleteLotStatus.js b/handlers/admin-post/doDeleteLotStatus.js index 2769255f..00ad05bc 100644 --- a/handlers/admin-post/doDeleteLotStatus.js +++ b/handlers/admin-post/doDeleteLotStatus.js @@ -1,7 +1,7 @@ -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getLotStatuses } from '../../helpers/functions.cache.js'; +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; export async function handler(request, response) { - const success = await deleteRecord('LotStatuses', request.body.lotStatusId, request.session); + const success = await deleteRecord('LotStatuses', request.body.lotStatusId, request.session.user); const lotStatuses = await getLotStatuses(); response.json({ success, diff --git a/handlers/admin-post/doDeleteLotStatus.ts b/handlers/admin-post/doDeleteLotStatus.ts index 4accc7c2..89d80d1c 100644 --- a/handlers/admin-post/doDeleteLotStatus.ts +++ b/handlers/admin-post/doDeleteLotStatus.ts @@ -1,8 +1,7 @@ import type { Request, Response } from 'express' -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getLotStatuses } from '../../helpers/functions.cache.js' +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' export async function handler( request: Request, @@ -11,7 +10,7 @@ export async function handler( const success = await deleteRecord( 'LotStatuses', request.body.lotStatusId, - request.session + request.session.user as User ) const lotStatuses = await getLotStatuses() diff --git a/handlers/admin-post/doDeleteLotType.js b/handlers/admin-post/doDeleteLotType.js index 504854b9..8d27981f 100644 --- a/handlers/admin-post/doDeleteLotType.js +++ b/handlers/admin-post/doDeleteLotType.js @@ -1,7 +1,7 @@ -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; export async function handler(request, response) { - const success = await deleteRecord('LotTypes', request.body.lotTypeId, request.session); + const success = await deleteRecord('LotTypes', request.body.lotTypeId, request.session.user); const lotTypes = await getLotTypes(); response.json({ success, diff --git a/handlers/admin-post/doDeleteLotType.ts b/handlers/admin-post/doDeleteLotType.ts index 43262a9e..2cf25534 100644 --- a/handlers/admin-post/doDeleteLotType.ts +++ b/handlers/admin-post/doDeleteLotType.ts @@ -1,8 +1,7 @@ import type { Request, Response } from 'express' -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getLotTypes } from '../../helpers/functions.cache.js' +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' export async function handler( request: Request, @@ -11,7 +10,7 @@ export async function handler( const success = await deleteRecord( 'LotTypes', request.body.lotTypeId, - request.session + request.session.user as User ) const lotTypes = await getLotTypes() diff --git a/handlers/admin-post/doDeleteLotTypeField.js b/handlers/admin-post/doDeleteLotTypeField.js index 4c21cc96..c31defc9 100644 --- a/handlers/admin-post/doDeleteLotTypeField.js +++ b/handlers/admin-post/doDeleteLotTypeField.js @@ -1,7 +1,7 @@ -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; export async function handler(request, response) { - const success = await deleteRecord('LotTypeFields', request.body.lotTypeFieldId, request.session); + const success = await deleteRecord('LotTypeFields', request.body.lotTypeFieldId, request.session.user); const lotTypes = await getLotTypes(); response.json({ success, diff --git a/handlers/admin-post/doDeleteLotTypeField.ts b/handlers/admin-post/doDeleteLotTypeField.ts index a9ca5961..fad540ca 100644 --- a/handlers/admin-post/doDeleteLotTypeField.ts +++ b/handlers/admin-post/doDeleteLotTypeField.ts @@ -1,8 +1,7 @@ import type { Request, Response } from 'express' -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getLotTypes } from '../../helpers/functions.cache.js' +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' export async function handler( request: Request, @@ -11,7 +10,7 @@ export async function handler( const success = await deleteRecord( 'LotTypeFields', request.body.lotTypeFieldId, - request.session + request.session.user as User ) const lotTypes = await getLotTypes() diff --git a/handlers/admin-post/doDeleteOccupancyType.js b/handlers/admin-post/doDeleteOccupancyType.js index 2a9da031..54b2d874 100644 --- a/handlers/admin-post/doDeleteOccupancyType.js +++ b/handlers/admin-post/doDeleteOccupancyType.js @@ -1,7 +1,7 @@ -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; export async function handler(request, response) { - const success = await deleteRecord('OccupancyTypes', request.body.occupancyTypeId, request.session); + const success = await deleteRecord('OccupancyTypes', request.body.occupancyTypeId, request.session.user); const occupancyTypes = await getOccupancyTypes(); const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ diff --git a/handlers/admin-post/doDeleteOccupancyType.ts b/handlers/admin-post/doDeleteOccupancyType.ts index a708d95e..7c1b0969 100644 --- a/handlers/admin-post/doDeleteOccupancyType.ts +++ b/handlers/admin-post/doDeleteOccupancyType.ts @@ -1,11 +1,10 @@ import type { Request, Response } from 'express' -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js' +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' export async function handler( request: Request, @@ -14,7 +13,7 @@ export async function handler( const success = await deleteRecord( 'OccupancyTypes', request.body.occupancyTypeId, - request.session + request.session.user as User ) const occupancyTypes = await getOccupancyTypes() diff --git a/handlers/admin-post/doDeleteOccupancyTypeField.js b/handlers/admin-post/doDeleteOccupancyTypeField.js index ffa37604..847cb448 100644 --- a/handlers/admin-post/doDeleteOccupancyTypeField.js +++ b/handlers/admin-post/doDeleteOccupancyTypeField.js @@ -1,7 +1,7 @@ -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; export async function handler(request, response) { - const success = await deleteRecord('OccupancyTypeFields', request.body.occupancyTypeFieldId, request.session); + const success = await deleteRecord('OccupancyTypeFields', request.body.occupancyTypeFieldId, request.session.user); const occupancyTypes = await getOccupancyTypes(); const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ diff --git a/handlers/admin-post/doDeleteOccupancyTypeField.ts b/handlers/admin-post/doDeleteOccupancyTypeField.ts index bec6f107..01fabbf7 100644 --- a/handlers/admin-post/doDeleteOccupancyTypeField.ts +++ b/handlers/admin-post/doDeleteOccupancyTypeField.ts @@ -1,11 +1,10 @@ import type { Request, Response } from 'express' -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js' +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' export async function handler( request: Request, @@ -14,7 +13,7 @@ export async function handler( const success = await deleteRecord( 'OccupancyTypeFields', request.body.occupancyTypeFieldId, - request.session + request.session.user as User ) const occupancyTypes = await getOccupancyTypes() diff --git a/handlers/admin-post/doDeleteOccupancyTypePrint.js b/handlers/admin-post/doDeleteOccupancyTypePrint.js index ba86c61a..272102e6 100644 --- a/handlers/admin-post/doDeleteOccupancyTypePrint.js +++ b/handlers/admin-post/doDeleteOccupancyTypePrint.js @@ -1,7 +1,7 @@ -import { deleteOccupancyTypePrint } from '../../helpers/lotOccupancyDB/deleteOccupancyTypePrint.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; +import { deleteOccupancyTypePrint } from '../../helpers/lotOccupancyDB/deleteOccupancyTypePrint.js'; export async function handler(request, response) { - const success = await deleteOccupancyTypePrint(request.body.occupancyTypeId, request.body.printEJS, request.session); + const success = await deleteOccupancyTypePrint(request.body.occupancyTypeId, request.body.printEJS, request.session.user); const occupancyTypes = await getOccupancyTypes(); const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ diff --git a/handlers/admin-post/doDeleteOccupancyTypePrint.ts b/handlers/admin-post/doDeleteOccupancyTypePrint.ts index 85aea2c8..3ad4bbfd 100644 --- a/handlers/admin-post/doDeleteOccupancyTypePrint.ts +++ b/handlers/admin-post/doDeleteOccupancyTypePrint.ts @@ -1,11 +1,10 @@ import type { Request, Response } from 'express' -import { deleteOccupancyTypePrint } from '../../helpers/lotOccupancyDB/deleteOccupancyTypePrint.js' - import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js' +import { deleteOccupancyTypePrint } from '../../helpers/lotOccupancyDB/deleteOccupancyTypePrint.js' export async function handler( request: Request, @@ -14,7 +13,7 @@ export async function handler( const success = await deleteOccupancyTypePrint( request.body.occupancyTypeId, request.body.printEJS, - request.session + request.session.user as User ) const occupancyTypes = await getOccupancyTypes() diff --git a/handlers/admin-post/doDeleteWorkOrderMilestoneType.js b/handlers/admin-post/doDeleteWorkOrderMilestoneType.js index 6c8536f7..94a0e3b3 100644 --- a/handlers/admin-post/doDeleteWorkOrderMilestoneType.js +++ b/handlers/admin-post/doDeleteWorkOrderMilestoneType.js @@ -1,7 +1,7 @@ -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js'; +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; export async function handler(request, response) { - const success = await deleteRecord('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId, request.session); + const success = await deleteRecord('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId, request.session.user); const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); response.json({ success, diff --git a/handlers/admin-post/doDeleteWorkOrderMilestoneType.ts b/handlers/admin-post/doDeleteWorkOrderMilestoneType.ts index c6b3bfcb..e07ce12e 100644 --- a/handlers/admin-post/doDeleteWorkOrderMilestoneType.ts +++ b/handlers/admin-post/doDeleteWorkOrderMilestoneType.ts @@ -1,8 +1,7 @@ import type { Request, Response } from 'express' -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js' +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' export async function handler( request: Request, @@ -11,7 +10,7 @@ export async function handler( const success = await deleteRecord( 'WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId, - request.session + request.session.user as User ) const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes() diff --git a/handlers/admin-post/doDeleteWorkOrderType.js b/handlers/admin-post/doDeleteWorkOrderType.js index 907962f4..1076920b 100644 --- a/handlers/admin-post/doDeleteWorkOrderType.js +++ b/handlers/admin-post/doDeleteWorkOrderType.js @@ -1,7 +1,7 @@ -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getWorkOrderTypes } from '../../helpers/functions.cache.js'; +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; export async function handler(request, response) { - const success = await deleteRecord('WorkOrderTypes', request.body.workOrderTypeId, request.session); + const success = await deleteRecord('WorkOrderTypes', request.body.workOrderTypeId, request.session.user); const workOrderTypes = await getWorkOrderTypes(); response.json({ success, diff --git a/handlers/admin-post/doDeleteWorkOrderType.ts b/handlers/admin-post/doDeleteWorkOrderType.ts index a72dfef7..bbf1f5d4 100644 --- a/handlers/admin-post/doDeleteWorkOrderType.ts +++ b/handlers/admin-post/doDeleteWorkOrderType.ts @@ -1,8 +1,7 @@ import type { Request, Response } from 'express' -import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getWorkOrderTypes } from '../../helpers/functions.cache.js' +import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' export async function handler( request: Request, @@ -11,7 +10,7 @@ export async function handler( const success = await deleteRecord( 'WorkOrderTypes', request.body.workOrderTypeId, - request.session + request.session.user as User ) const workOrderTypes = await getWorkOrderTypes() diff --git a/handlers/admin-post/doUpdateFee.js b/handlers/admin-post/doUpdateFee.js index 0a97be55..d7a2977c 100644 --- a/handlers/admin-post/doUpdateFee.js +++ b/handlers/admin-post/doUpdateFee.js @@ -1,7 +1,7 @@ -import { updateFee } from '../../helpers/lotOccupancyDB/updateFee.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; +import { updateFee } from '../../helpers/lotOccupancyDB/updateFee.js'; export async function handler(request, response) { - const success = await updateFee(request.body, request.session); + const success = await updateFee(request.body, request.session.user); const feeCategories = await getFeeCategories({}, { includeFees: true }); diff --git a/handlers/admin-post/doUpdateFee.ts b/handlers/admin-post/doUpdateFee.ts index 0e5ce5c9..74b7a117 100644 --- a/handlers/admin-post/doUpdateFee.ts +++ b/handlers/admin-post/doUpdateFee.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' -import { updateFee } from '../../helpers/lotOccupancyDB/updateFee.js' - import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' +import { updateFee } from '../../helpers/lotOccupancyDB/updateFee.js' export async function handler( request: Request, response: Response ): Promise { - const success = await updateFee(request.body, request.session) + const success = await updateFee(request.body, request.session.user as User) const feeCategories = await getFeeCategories( {}, diff --git a/handlers/admin-post/doUpdateFeeCategory.js b/handlers/admin-post/doUpdateFeeCategory.js index e0f9b1d4..beaca921 100644 --- a/handlers/admin-post/doUpdateFeeCategory.js +++ b/handlers/admin-post/doUpdateFeeCategory.js @@ -1,7 +1,7 @@ -import { updateFeeCategory } from '../../helpers/lotOccupancyDB/updateFeeCategory.js'; import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js'; +import { updateFeeCategory } from '../../helpers/lotOccupancyDB/updateFeeCategory.js'; export async function handler(request, response) { - const success = await updateFeeCategory(request.body, request.session); + const success = await updateFeeCategory(request.body, request.session.user); const feeCategories = await getFeeCategories({}, { includeFees: true }); diff --git a/handlers/admin-post/doUpdateFeeCategory.ts b/handlers/admin-post/doUpdateFeeCategory.ts index 671edc97..1204e8fa 100644 --- a/handlers/admin-post/doUpdateFeeCategory.ts +++ b/handlers/admin-post/doUpdateFeeCategory.ts @@ -1,14 +1,16 @@ import type { Request, Response } from 'express' -import { updateFeeCategory } from '../../helpers/lotOccupancyDB/updateFeeCategory.js' - import { getFeeCategories } from '../../helpers/lotOccupancyDB/getFeeCategories.js' +import { updateFeeCategory } from '../../helpers/lotOccupancyDB/updateFeeCategory.js' export async function handler( request: Request, response: Response ): Promise { - const success = await updateFeeCategory(request.body, request.session) + const success = await updateFeeCategory( + request.body, + request.session.user as User + ) const feeCategories = await getFeeCategories( {}, diff --git a/handlers/admin-post/doUpdateLotOccupantType.js b/handlers/admin-post/doUpdateLotOccupantType.js index 3f9655d1..f4114652 100644 --- a/handlers/admin-post/doUpdateLotOccupantType.js +++ b/handlers/admin-post/doUpdateLotOccupantType.js @@ -1,7 +1,7 @@ -import { updateLotOccupantType } from '../../helpers/lotOccupancyDB/updateLotOccupantType.js'; import { getLotOccupantTypes } from '../../helpers/functions.cache.js'; +import { updateLotOccupantType } from '../../helpers/lotOccupancyDB/updateLotOccupantType.js'; export async function handler(request, response) { - const success = await updateLotOccupantType(request.body, request.session); + const success = await updateLotOccupantType(request.body, request.session.user); const lotOccupantTypes = await getLotOccupantTypes(); response.json({ success, diff --git a/handlers/admin-post/doUpdateLotOccupantType.ts b/handlers/admin-post/doUpdateLotOccupantType.ts index 88d96f22..44a7ca5b 100644 --- a/handlers/admin-post/doUpdateLotOccupantType.ts +++ b/handlers/admin-post/doUpdateLotOccupantType.ts @@ -1,14 +1,16 @@ import type { Request, Response } from 'express' -import { updateLotOccupantType } from '../../helpers/lotOccupancyDB/updateLotOccupantType.js' - import { getLotOccupantTypes } from '../../helpers/functions.cache.js' +import { updateLotOccupantType } from '../../helpers/lotOccupancyDB/updateLotOccupantType.js' export async function handler( request: Request, response: Response ): Promise { - const success = await updateLotOccupantType(request.body, request.session) + const success = await updateLotOccupantType( + request.body, + request.session.user as User + ) const lotOccupantTypes = await getLotOccupantTypes() diff --git a/handlers/admin-post/doUpdateLotStatus.js b/handlers/admin-post/doUpdateLotStatus.js index f6888f84..7ab5c84f 100644 --- a/handlers/admin-post/doUpdateLotStatus.js +++ b/handlers/admin-post/doUpdateLotStatus.js @@ -1,7 +1,7 @@ -import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; import { getLotStatuses } from '../../helpers/functions.cache.js'; +import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; export async function handler(request, response) { - const success = await updateRecord('LotStatuses', request.body.lotStatusId, request.body.lotStatus, request.session); + const success = await updateRecord('LotStatuses', request.body.lotStatusId, request.body.lotStatus, request.session.user); const lotStatuses = await getLotStatuses(); response.json({ success, diff --git a/handlers/admin-post/doUpdateLotStatus.ts b/handlers/admin-post/doUpdateLotStatus.ts index 5ac6cb9f..9d5e48b2 100644 --- a/handlers/admin-post/doUpdateLotStatus.ts +++ b/handlers/admin-post/doUpdateLotStatus.ts @@ -1,7 +1,7 @@ import type { Request, Response } from 'express' -import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' import { getLotStatuses } from '../../helpers/functions.cache.js' +import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' export async function handler( request: Request, @@ -11,7 +11,7 @@ export async function handler( 'LotStatuses', request.body.lotStatusId, request.body.lotStatus, - request.session + request.session.user as User ) const lotStatuses = await getLotStatuses() diff --git a/handlers/admin-post/doUpdateLotType.js b/handlers/admin-post/doUpdateLotType.js index a20490f6..3ea08b08 100644 --- a/handlers/admin-post/doUpdateLotType.js +++ b/handlers/admin-post/doUpdateLotType.js @@ -1,7 +1,7 @@ -import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; +import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; export async function handler(request, response) { - const success = await updateRecord('LotTypes', request.body.lotTypeId, request.body.lotType, request.session); + const success = await updateRecord('LotTypes', request.body.lotTypeId, request.body.lotType, request.session.user); const lotTypes = await getLotTypes(); response.json({ success, diff --git a/handlers/admin-post/doUpdateLotType.ts b/handlers/admin-post/doUpdateLotType.ts index fa9e729e..03dcdf30 100644 --- a/handlers/admin-post/doUpdateLotType.ts +++ b/handlers/admin-post/doUpdateLotType.ts @@ -1,7 +1,7 @@ import type { Request, Response } from 'express' -import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' import { getLotTypes } from '../../helpers/functions.cache.js' +import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' export async function handler( request: Request, @@ -11,7 +11,7 @@ export async function handler( 'LotTypes', request.body.lotTypeId, request.body.lotType, - request.session + request.session.user as User ) const lotTypes = await getLotTypes() diff --git a/handlers/admin-post/doUpdateLotTypeField.js b/handlers/admin-post/doUpdateLotTypeField.js index efbdbd6e..9d942e62 100644 --- a/handlers/admin-post/doUpdateLotTypeField.js +++ b/handlers/admin-post/doUpdateLotTypeField.js @@ -1,7 +1,7 @@ -import { updateLotTypeField } from '../../helpers/lotOccupancyDB/updateLotTypeField.js'; import { getLotTypes } from '../../helpers/functions.cache.js'; +import { updateLotTypeField } from '../../helpers/lotOccupancyDB/updateLotTypeField.js'; export async function handler(request, response) { - const success = await updateLotTypeField(request.body, request.session); + const success = await updateLotTypeField(request.body, request.session.user); const lotTypes = await getLotTypes(); response.json({ success, diff --git a/handlers/admin-post/doUpdateLotTypeField.ts b/handlers/admin-post/doUpdateLotTypeField.ts index 8538e383..8d7b2c7e 100644 --- a/handlers/admin-post/doUpdateLotTypeField.ts +++ b/handlers/admin-post/doUpdateLotTypeField.ts @@ -1,14 +1,16 @@ import type { Request, Response } from 'express' -import { updateLotTypeField } from '../../helpers/lotOccupancyDB/updateLotTypeField.js' - import { getLotTypes } from '../../helpers/functions.cache.js' +import { updateLotTypeField } from '../../helpers/lotOccupancyDB/updateLotTypeField.js' export async function handler( request: Request, response: Response ): Promise { - const success = await updateLotTypeField(request.body, request.session) + const success = await updateLotTypeField( + request.body, + request.session.user as User + ) const lotTypes = await getLotTypes() diff --git a/handlers/admin-post/doUpdateOccupancyType.js b/handlers/admin-post/doUpdateOccupancyType.js index 2fb0dd20..4f07dc7f 100644 --- a/handlers/admin-post/doUpdateOccupancyType.js +++ b/handlers/admin-post/doUpdateOccupancyType.js @@ -1,7 +1,7 @@ -import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; +import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; export async function handler(request, response) { - const success = await updateRecord('OccupancyTypes', request.body.occupancyTypeId, request.body.occupancyType, request.session); + const success = await updateRecord('OccupancyTypes', request.body.occupancyTypeId, request.body.occupancyType, request.session.user); const occupancyTypes = await getOccupancyTypes(); const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ diff --git a/handlers/admin-post/doUpdateOccupancyType.ts b/handlers/admin-post/doUpdateOccupancyType.ts index f8fc6ae5..e6cf7747 100644 --- a/handlers/admin-post/doUpdateOccupancyType.ts +++ b/handlers/admin-post/doUpdateOccupancyType.ts @@ -1,10 +1,10 @@ import type { Request, Response } from 'express' -import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js' +import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' export async function handler( request: Request, @@ -14,7 +14,7 @@ export async function handler( 'OccupancyTypes', request.body.occupancyTypeId, request.body.occupancyType, - request.session + request.session.user as User ) const occupancyTypes = await getOccupancyTypes() diff --git a/handlers/admin-post/doUpdateOccupancyTypeField.js b/handlers/admin-post/doUpdateOccupancyTypeField.js index a2964079..b404488a 100644 --- a/handlers/admin-post/doUpdateOccupancyTypeField.js +++ b/handlers/admin-post/doUpdateOccupancyTypeField.js @@ -1,7 +1,7 @@ -import { updateOccupancyTypeField } from '../../helpers/lotOccupancyDB/updateOccupancyTypeField.js'; import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js'; +import { updateOccupancyTypeField } from '../../helpers/lotOccupancyDB/updateOccupancyTypeField.js'; export async function handler(request, response) { - const success = await updateOccupancyTypeField(request.body, request.session); + const success = await updateOccupancyTypeField(request.body, request.session.user); const occupancyTypes = await getOccupancyTypes(); const allOccupancyTypeFields = await getAllOccupancyTypeFields(); response.json({ diff --git a/handlers/admin-post/doUpdateOccupancyTypeField.ts b/handlers/admin-post/doUpdateOccupancyTypeField.ts index 4c370418..27cffa9e 100644 --- a/handlers/admin-post/doUpdateOccupancyTypeField.ts +++ b/handlers/admin-post/doUpdateOccupancyTypeField.ts @@ -1,17 +1,19 @@ import type { Request, Response } from 'express' -import { updateOccupancyTypeField } from '../../helpers/lotOccupancyDB/updateOccupancyTypeField.js' - import { getAllOccupancyTypeFields, getOccupancyTypes } from '../../helpers/functions.cache.js' +import { updateOccupancyTypeField } from '../../helpers/lotOccupancyDB/updateOccupancyTypeField.js' export async function handler( request: Request, response: Response ): Promise { - const success = await updateOccupancyTypeField(request.body, request.session) + const success = await updateOccupancyTypeField( + request.body, + request.session.user as User + ) const occupancyTypes = await getOccupancyTypes() const allOccupancyTypeFields = await getAllOccupancyTypeFields() diff --git a/handlers/admin-post/doUpdateWorkOrderMilestoneType.js b/handlers/admin-post/doUpdateWorkOrderMilestoneType.js index e33a169a..6616d32c 100644 --- a/handlers/admin-post/doUpdateWorkOrderMilestoneType.js +++ b/handlers/admin-post/doUpdateWorkOrderMilestoneType.js @@ -1,7 +1,7 @@ -import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js'; +import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; export async function handler(request, response) { - const success = await updateRecord('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId, request.body.workOrderMilestoneType, request.session); + const success = await updateRecord('WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId, request.body.workOrderMilestoneType, request.session.user); const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes(); response.json({ success, diff --git a/handlers/admin-post/doUpdateWorkOrderMilestoneType.ts b/handlers/admin-post/doUpdateWorkOrderMilestoneType.ts index 50e9cab3..c21b59e3 100644 --- a/handlers/admin-post/doUpdateWorkOrderMilestoneType.ts +++ b/handlers/admin-post/doUpdateWorkOrderMilestoneType.ts @@ -1,7 +1,7 @@ import type { Request, Response } from 'express' -import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' import { getWorkOrderMilestoneTypes } from '../../helpers/functions.cache.js' +import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' export async function handler( request: Request, @@ -11,7 +11,7 @@ export async function handler( 'WorkOrderMilestoneTypes', request.body.workOrderMilestoneTypeId, request.body.workOrderMilestoneType, - request.session + request.session.user as User ) const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes() diff --git a/handlers/admin-post/doUpdateWorkOrderType.js b/handlers/admin-post/doUpdateWorkOrderType.js index 7bc0e1fa..629ec072 100644 --- a/handlers/admin-post/doUpdateWorkOrderType.js +++ b/handlers/admin-post/doUpdateWorkOrderType.js @@ -1,7 +1,7 @@ -import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; import { getWorkOrderTypes } from '../../helpers/functions.cache.js'; +import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js'; export async function handler(request, response) { - const success = await updateRecord('WorkOrderTypes', request.body.workOrderTypeId, request.body.workOrderType, request.session); + const success = await updateRecord('WorkOrderTypes', request.body.workOrderTypeId, request.body.workOrderType, request.session.user); const workOrderTypes = await getWorkOrderTypes(); response.json({ success, diff --git a/handlers/admin-post/doUpdateWorkOrderType.ts b/handlers/admin-post/doUpdateWorkOrderType.ts index 55c28b15..c9463510 100644 --- a/handlers/admin-post/doUpdateWorkOrderType.ts +++ b/handlers/admin-post/doUpdateWorkOrderType.ts @@ -1,7 +1,7 @@ import type { Request, Response } from 'express' -import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' import { getWorkOrderTypes } from '../../helpers/functions.cache.js' +import { updateRecord } from '../../helpers/lotOccupancyDB/updateRecord.js' export async function handler( request: Request, @@ -11,7 +11,7 @@ export async function handler( 'WorkOrderTypes', request.body.workOrderTypeId, request.body.workOrderType, - request.session + request.session.user as User ) const workOrderTypes = await getWorkOrderTypes() diff --git a/handlers/api-get/milestoneICS.js b/handlers/api-get/milestoneICS.js index 8d5459ea..4886ece0 100644 --- a/handlers/api-get/milestoneICS.js +++ b/handlers/api-get/milestoneICS.js @@ -1,12 +1,12 @@ import ical, { ICalEventStatus } from 'ical-generator'; -import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js'; import * as configFunctions from '../../helpers/functions.config.js'; import { getPrintConfig } from '../../helpers/functions.print.js'; +import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js'; const calendarCompany = 'cityssm.github.io'; const calendarProduct = configFunctions.getProperty('application.applicationName'); const timeStringSplitRegex = /[ :-]/; function escapeHTML(stringToEscape) { - return stringToEscape.replace(/[^\d A-Za-z]/g, (c) => `&#${c.codePointAt(0)};`); + return stringToEscape.replaceAll(/[^\d a-z]/gi, (c) => `&#${c.codePointAt(0)};`); } function getUrlRoot(request) { return ('http://' + diff --git a/handlers/api-get/milestoneICS.ts b/handlers/api-get/milestoneICS.ts index 82fd1ffb..b7bfa23b 100644 --- a/handlers/api-get/milestoneICS.ts +++ b/handlers/api-get/milestoneICS.ts @@ -1,18 +1,15 @@ -/* eslint-disable unicorn/filename-case */ +/* eslint-disable unicorn/filename-case, eslint-comments/disable-enable-pair */ +import type { Request, Response } from 'express' import ical, { type ICalEventData, ICalEventStatus } from 'ical-generator' +import * as configFunctions from '../../helpers/functions.config.js' +import { getPrintConfig } from '../../helpers/functions.print.js' import { getWorkOrderMilestones, type WorkOrderMilestoneFilters } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js' - -import type { Request, Response } from 'express' - -import * as configFunctions from '../../helpers/functions.config.js' -import { getPrintConfig } from '../../helpers/functions.print.js' - -import type * as recordTypes from '../../types/recordTypes' +import type { WorkOrderMilestone } from '../../types/recordTypes.js' const calendarCompany = 'cityssm.github.io' const calendarProduct = configFunctions.getProperty( @@ -22,8 +19,8 @@ const calendarProduct = configFunctions.getProperty( const timeStringSplitRegex = /[ :-]/ function escapeHTML(stringToEscape: string): string { - return stringToEscape.replace( - /[^\d A-Za-z]/g, + return stringToEscape.replaceAll( + /[^\d a-z]/gi, (c) => `&#${c.codePointAt(0)!};` ) } @@ -41,12 +38,12 @@ function getUrlRoot(request: Request): string { function getWorkOrderUrl( request: Request, - milestone: recordTypes.WorkOrderMilestone + milestone: WorkOrderMilestone ): string { return `${getUrlRoot(request)}/workOrders/${milestone.workOrderId!}` } -function buildEventSummary(milestone: recordTypes.WorkOrderMilestone): string { +function buildEventSummary(milestone: WorkOrderMilestone): string { let summary = (milestone.workOrderMilestoneCompletionDate ? '✔ ' : '') + ((milestone.workOrderMilestoneTypeId ?? -1) === -1 @@ -83,7 +80,7 @@ function buildEventSummary(milestone: recordTypes.WorkOrderMilestone): string { // eslint-disable-next-line @typescript-eslint/naming-convention function buildEventDescriptionHTML_occupancies( request: Request, - milestone: recordTypes.WorkOrderMilestone + milestone: WorkOrderMilestone ): string { let descriptionHTML = '' @@ -149,7 +146,7 @@ function buildEventDescriptionHTML_occupancies( // eslint-disable-next-line @typescript-eslint/naming-convention function buildEventDescriptionHTML_lots( request: Request, - milestone: recordTypes.WorkOrderMilestone + milestone: WorkOrderMilestone ): string { let descriptionHTML = '' @@ -196,7 +193,7 @@ function buildEventDescriptionHTML_lots( // eslint-disable-next-line @typescript-eslint/naming-convention function buildEventDescriptionHTML_prints( request: Request, - milestone: recordTypes.WorkOrderMilestone + milestone: WorkOrderMilestone ): string { let descriptionHTML = '' @@ -230,7 +227,7 @@ function buildEventDescriptionHTML_prints( function buildEventDescriptionHTML( request: Request, - milestone: recordTypes.WorkOrderMilestone + milestone: WorkOrderMilestone ): string { const workOrderUrl = getWorkOrderUrl(request, milestone) @@ -247,9 +244,7 @@ function buildEventDescriptionHTML( return descriptionHTML } -function buildEventCategoryList( - milestone: recordTypes.WorkOrderMilestone -): string[] { +function buildEventCategoryList(milestone: WorkOrderMilestone): string[] { const categories: string[] = [] if (milestone.workOrderMilestoneTypeId) { @@ -266,7 +261,7 @@ function buildEventCategoryList( return categories } -function buildEventLocation(milestone: recordTypes.WorkOrderMilestone): string { +function buildEventLocation(milestone: WorkOrderMilestone): string { const lotNames: string[] = [] if (milestone.workOrderLots!.length > 0) { @@ -316,7 +311,9 @@ export async function handler( if (request.query.workOrderId && workOrderMilestones.length > 0) { calendar.name(`Work Order #${workOrderMilestones[0].workOrderNumber!}`) - calendar.url(urlRoot + '/workOrders/' + workOrderMilestones[0].workOrderId!.toString()) + calendar.url( + urlRoot + '/workOrders/' + workOrderMilestones[0].workOrderId!.toString() + ) } calendar.prodId({ diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyComment.js b/handlers/lotOccupancies-post/doAddLotOccupancyComment.js index 52a3c676..e7774b57 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyComment.js +++ b/handlers/lotOccupancies-post/doAddLotOccupancyComment.js @@ -1,7 +1,7 @@ import { addLotOccupancyComment } from '../../helpers/lotOccupancyDB/addLotOccupancyComment.js'; import { getLotOccupancyComments } from '../../helpers/lotOccupancyDB/getLotOccupancyComments.js'; export async function handler(request, response) { - await addLotOccupancyComment(request.body, request.session); + await addLotOccupancyComment(request.body, request.session.user); const lotOccupancyComments = await getLotOccupancyComments(request.body.lotOccupancyId); response.json({ success: true, diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyComment.ts b/handlers/lotOccupancies-post/doAddLotOccupancyComment.ts index 019580a0..18e14ce5 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyComment.ts +++ b/handlers/lotOccupancies-post/doAddLotOccupancyComment.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' import { addLotOccupancyComment } from '../../helpers/lotOccupancyDB/addLotOccupancyComment.js' - import { getLotOccupancyComments } from '../../helpers/lotOccupancyDB/getLotOccupancyComments.js' export async function handler( request: Request, response: Response ): Promise { - await addLotOccupancyComment(request.body, request.session) + await addLotOccupancyComment(request.body, request.session.user as User) const lotOccupancyComments = await getLotOccupancyComments( request.body.lotOccupancyId diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyFee.js b/handlers/lotOccupancies-post/doAddLotOccupancyFee.js index e667dc37..12bc8424 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyFee.js +++ b/handlers/lotOccupancies-post/doAddLotOccupancyFee.js @@ -1,7 +1,7 @@ import { addLotOccupancyFee } from '../../helpers/lotOccupancyDB/addLotOccupancyFee.js'; import { getLotOccupancyFees } from '../../helpers/lotOccupancyDB/getLotOccupancyFees.js'; export async function handler(request, response) { - await addLotOccupancyFee(request.body, request.session); + await addLotOccupancyFee(request.body, request.session.user); const lotOccupancyFees = await getLotOccupancyFees(request.body.lotOccupancyId); response.json({ success: true, diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyFee.ts b/handlers/lotOccupancies-post/doAddLotOccupancyFee.ts index 1335860f..d0b2726e 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyFee.ts +++ b/handlers/lotOccupancies-post/doAddLotOccupancyFee.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' import { addLotOccupancyFee } from '../../helpers/lotOccupancyDB/addLotOccupancyFee.js' - import { getLotOccupancyFees } from '../../helpers/lotOccupancyDB/getLotOccupancyFees.js' export async function handler( request: Request, response: Response ): Promise { - await addLotOccupancyFee(request.body, request.session) + await addLotOccupancyFee(request.body, request.session.user as User) const lotOccupancyFees = await getLotOccupancyFees(request.body.lotOccupancyId) diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.js b/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.js index 391a5105..4fad34eb 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.js +++ b/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.js @@ -1,7 +1,7 @@ import { addLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/addLotOccupancyOccupant.js'; import { getLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getLotOccupancyOccupants.js'; export async function handler(request, response) { - await addLotOccupancyOccupant(request.body, request.session); + await addLotOccupancyOccupant(request.body, request.session.user); const lotOccupancyOccupants = await getLotOccupancyOccupants(request.body.lotOccupancyId); response.json({ success: true, diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.ts b/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.ts index 7efc3c0e..276eff3f 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.ts +++ b/handlers/lotOccupancies-post/doAddLotOccupancyOccupant.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' import { addLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/addLotOccupancyOccupant.js' - import { getLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getLotOccupancyOccupants.js' export async function handler( request: Request, response: Response ): Promise { - await addLotOccupancyOccupant(request.body, request.session) + await addLotOccupancyOccupant(request.body, request.session.user as User) const lotOccupancyOccupants = await getLotOccupancyOccupants( request.body.lotOccupancyId diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.js b/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.js index 0589001b..2813d46f 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.js +++ b/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.js @@ -1,7 +1,7 @@ import { addLotOccupancyTransaction } from '../../helpers/lotOccupancyDB/addLotOccupancyTransaction.js'; import { getLotOccupancyTransactions } from '../../helpers/lotOccupancyDB/getLotOccupancyTransactions.js'; export async function handler(request, response) { - await addLotOccupancyTransaction(request.body, request.session); + await addLotOccupancyTransaction(request.body, request.session.user); const lotOccupancyTransactions = await getLotOccupancyTransactions(request.body.lotOccupancyId, { includeIntegrations: true }); response.json({ success: true, diff --git a/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.ts b/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.ts index e26888e3..6483b0c0 100644 --- a/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.ts +++ b/handlers/lotOccupancies-post/doAddLotOccupancyTransaction.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' import { addLotOccupancyTransaction } from '../../helpers/lotOccupancyDB/addLotOccupancyTransaction.js' - import { getLotOccupancyTransactions } from '../../helpers/lotOccupancyDB/getLotOccupancyTransactions.js' export async function handler( request: Request, response: Response ): Promise { - await addLotOccupancyTransaction(request.body, request.session) + await addLotOccupancyTransaction(request.body, request.session.user as User) const lotOccupancyTransactions = await getLotOccupancyTransactions( request.body.lotOccupancyId, diff --git a/handlers/lotOccupancies-post/doCopyLotOccupancy.js b/handlers/lotOccupancies-post/doCopyLotOccupancy.js index fd6c6c89..5f0eec9a 100644 --- a/handlers/lotOccupancies-post/doCopyLotOccupancy.js +++ b/handlers/lotOccupancies-post/doCopyLotOccupancy.js @@ -1,6 +1,6 @@ import { copyLotOccupancy } from '../../helpers/lotOccupancyDB/copyLotOccupancy.js'; export async function handler(request, response) { - const lotOccupancyId = await copyLotOccupancy(request.body.lotOccupancyId, request.session); + const lotOccupancyId = await copyLotOccupancy(request.body.lotOccupancyId, request.session.user); response.json({ success: true, lotOccupancyId diff --git a/handlers/lotOccupancies-post/doCopyLotOccupancy.ts b/handlers/lotOccupancies-post/doCopyLotOccupancy.ts index aac9502d..1de6cc26 100644 --- a/handlers/lotOccupancies-post/doCopyLotOccupancy.ts +++ b/handlers/lotOccupancies-post/doCopyLotOccupancy.ts @@ -8,7 +8,7 @@ export async function handler( ): Promise { const lotOccupancyId = await copyLotOccupancy( request.body.lotOccupancyId, - request.session + request.session.user as User ) response.json({ diff --git a/handlers/lotOccupancies-post/doCreateLotOccupancy.js b/handlers/lotOccupancies-post/doCreateLotOccupancy.js index 58acd4a1..dc43b1ae 100644 --- a/handlers/lotOccupancies-post/doCreateLotOccupancy.js +++ b/handlers/lotOccupancies-post/doCreateLotOccupancy.js @@ -1,6 +1,6 @@ import { addLotOccupancy } from '../../helpers/lotOccupancyDB/addLotOccupancy.js'; export async function handler(request, response) { - const lotOccupancyId = await addLotOccupancy(request.body, request.session); + const lotOccupancyId = await addLotOccupancy(request.body, request.session.user); response.json({ success: true, lotOccupancyId diff --git a/handlers/lotOccupancies-post/doCreateLotOccupancy.ts b/handlers/lotOccupancies-post/doCreateLotOccupancy.ts index 75ec8536..46e9f0dd 100644 --- a/handlers/lotOccupancies-post/doCreateLotOccupancy.ts +++ b/handlers/lotOccupancies-post/doCreateLotOccupancy.ts @@ -6,7 +6,7 @@ export async function handler( request: Request, response: Response ): Promise { - const lotOccupancyId = await addLotOccupancy(request.body, request.session) + const lotOccupancyId = await addLotOccupancy(request.body, request.session.user as User) response.json({ success: true, diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancy.js b/handlers/lotOccupancies-post/doDeleteLotOccupancy.js index 30abd4f5..778a9053 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancy.js +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancy.js @@ -1,6 +1,6 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; export async function handler(request, response) { - const success = await deleteRecord('LotOccupancies', request.body.lotOccupancyId, request.session); + const success = await deleteRecord('LotOccupancies', request.body.lotOccupancyId, request.session.user); response.json({ success }); diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancy.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancy.ts index 27a524db..7ac3f53f 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancy.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancy.ts @@ -9,7 +9,7 @@ export async function handler( const success = await deleteRecord( 'LotOccupancies', request.body.lotOccupancyId, - request.session + request.session.user as User ) response.json({ diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.js b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.js index e5f91bc9..f599793c 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.js +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.js @@ -1,7 +1,7 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getLotOccupancyComments } from '../../helpers/lotOccupancyDB/getLotOccupancyComments.js'; export async function handler(request, response) { - const success = await deleteRecord('LotOccupancyComments', request.body.lotOccupancyCommentId, request.session); + const success = await deleteRecord('LotOccupancyComments', request.body.lotOccupancyCommentId, request.session.user); const lotOccupancyComments = await getLotOccupancyComments(request.body.lotOccupancyId); response.json({ success, diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.ts index 472fd77b..de132af6 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyComment.ts @@ -1,7 +1,6 @@ import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getLotOccupancyComments } from '../../helpers/lotOccupancyDB/getLotOccupancyComments.js' export async function handler( @@ -11,7 +10,7 @@ export async function handler( const success = await deleteRecord( 'LotOccupancyComments', request.body.lotOccupancyCommentId, - request.session + request.session.user as User ) const lotOccupancyComments = await getLotOccupancyComments( diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.js b/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.js index 7ccf66ff..42cedfcd 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.js +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.js @@ -1,7 +1,7 @@ import { deleteLotOccupancyFee } from '../../helpers/lotOccupancyDB/deleteLotOccupancyFee.js'; import { getLotOccupancyFees } from '../../helpers/lotOccupancyDB/getLotOccupancyFees.js'; export async function handler(request, response) { - const success = await deleteLotOccupancyFee(request.body.lotOccupancyId, request.body.feeId, request.session); + const success = await deleteLotOccupancyFee(request.body.lotOccupancyId, request.body.feeId, request.session.user); const lotOccupancyFees = await getLotOccupancyFees(request.body.lotOccupancyId); response.json({ success, diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.ts index c9176fec..93d3943b 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyFee.ts @@ -1,7 +1,6 @@ import type { Request, Response } from 'express' import { deleteLotOccupancyFee } from '../../helpers/lotOccupancyDB/deleteLotOccupancyFee.js' - import { getLotOccupancyFees } from '../../helpers/lotOccupancyDB/getLotOccupancyFees.js' export async function handler( @@ -11,7 +10,7 @@ export async function handler( const success = await deleteLotOccupancyFee( request.body.lotOccupancyId, request.body.feeId, - request.session + request.session.user as User ) const lotOccupancyFees = await getLotOccupancyFees(request.body.lotOccupancyId) diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.js b/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.js index f317fc58..d1452aac 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.js +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.js @@ -1,7 +1,7 @@ import { deleteLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/deleteLotOccupancyOccupant.js'; import { getLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getLotOccupancyOccupants.js'; export async function handler(request, response) { - const success = await deleteLotOccupancyOccupant(request.body.lotOccupancyId, request.body.lotOccupantIndex, request.session); + const success = await deleteLotOccupancyOccupant(request.body.lotOccupancyId, request.body.lotOccupantIndex, request.session.user); const lotOccupancyOccupants = await getLotOccupancyOccupants(request.body.lotOccupancyId); response.json({ success, diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.ts index e1d894be..638cadbc 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyOccupant.ts @@ -1,7 +1,6 @@ import type { Request, Response } from 'express' import { deleteLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/deleteLotOccupancyOccupant.js' - import { getLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getLotOccupancyOccupants.js' export async function handler( @@ -11,7 +10,7 @@ export async function handler( const success = await deleteLotOccupancyOccupant( request.body.lotOccupancyId, request.body.lotOccupantIndex, - request.session + request.session.user as User ) const lotOccupancyOccupants = await getLotOccupancyOccupants( diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.js b/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.js index 2419cc41..82d7b897 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.js +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.js @@ -1,7 +1,7 @@ import { deleteLotOccupancyTransaction } from '../../helpers/lotOccupancyDB/deleteLotOccupancyTransaction.js'; import { getLotOccupancyTransactions } from '../../helpers/lotOccupancyDB/getLotOccupancyTransactions.js'; export async function handler(request, response) { - const success = await deleteLotOccupancyTransaction(request.body.lotOccupancyId, request.body.transactionIndex, request.session); + const success = await deleteLotOccupancyTransaction(request.body.lotOccupancyId, request.body.transactionIndex, request.session.user); const lotOccupancyTransactions = await getLotOccupancyTransactions(request.body.lotOccupancyId, { includeIntegrations: true }); response.json({ success, diff --git a/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.ts b/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.ts index 2f4d5c9d..d28cf8d8 100644 --- a/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.ts +++ b/handlers/lotOccupancies-post/doDeleteLotOccupancyTransaction.ts @@ -1,7 +1,6 @@ import type { Request, Response } from 'express' import { deleteLotOccupancyTransaction } from '../../helpers/lotOccupancyDB/deleteLotOccupancyTransaction.js' - import { getLotOccupancyTransactions } from '../../helpers/lotOccupancyDB/getLotOccupancyTransactions.js' export async function handler( @@ -11,7 +10,7 @@ export async function handler( const success = await deleteLotOccupancyTransaction( request.body.lotOccupancyId, request.body.transactionIndex, - request.session + request.session.user as User ) const lotOccupancyTransactions = await getLotOccupancyTransactions( diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancy.js b/handlers/lotOccupancies-post/doUpdateLotOccupancy.js index ad4f084c..3712e13e 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancy.js +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancy.js @@ -1,6 +1,6 @@ import { updateLotOccupancy } from '../../helpers/lotOccupancyDB/updateLotOccupancy.js'; export async function handler(request, response) { - const success = await updateLotOccupancy(request.body, request.session); + const success = await updateLotOccupancy(request.body, request.session.user); response.json({ success, lotOccupancyId: request.body.lotOccupancyId diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancy.ts b/handlers/lotOccupancies-post/doUpdateLotOccupancy.ts index 0a3a7b98..c22e8913 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancy.ts +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancy.ts @@ -6,7 +6,7 @@ export async function handler( request: Request, response: Response ): Promise { - const success = await updateLotOccupancy(request.body, request.session) + const success = await updateLotOccupancy(request.body, request.session.user as User) response.json({ success, diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.js b/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.js index b020a2a9..b029bedb 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.js +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.js @@ -1,7 +1,7 @@ -import { updateLotOccupancyComment } from '../../helpers/lotOccupancyDB/updateLotOccupancyComment.js'; import { getLotOccupancyComments } from '../../helpers/lotOccupancyDB/getLotOccupancyComments.js'; +import { updateLotOccupancyComment } from '../../helpers/lotOccupancyDB/updateLotOccupancyComment.js'; export async function handler(request, response) { - const success = await updateLotOccupancyComment(request.body, request.session); + const success = await updateLotOccupancyComment(request.body, request.session.user); const lotOccupancyComments = await getLotOccupancyComments(request.body.lotOccupancyId); response.json({ success, diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.ts b/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.ts index 44c6fd45..ef8ff9ab 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.ts +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyComment.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' -import { updateLotOccupancyComment } from '../../helpers/lotOccupancyDB/updateLotOccupancyComment.js' - import { getLotOccupancyComments } from '../../helpers/lotOccupancyDB/getLotOccupancyComments.js' +import { updateLotOccupancyComment } from '../../helpers/lotOccupancyDB/updateLotOccupancyComment.js' export async function handler( request: Request, response: Response ): Promise { - const success = await updateLotOccupancyComment(request.body, request.session) + const success = await updateLotOccupancyComment(request.body, request.session.user as User) const lotOccupancyComments = await getLotOccupancyComments( request.body.lotOccupancyId diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyFeeQuantity.js b/handlers/lotOccupancies-post/doUpdateLotOccupancyFeeQuantity.js index 507a7b20..e4d9db0d 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyFeeQuantity.js +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyFeeQuantity.js @@ -1,7 +1,7 @@ -import { updateLotOccupancyFeeQuantity } from '../../helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.js'; import { getLotOccupancyFees } from '../../helpers/lotOccupancyDB/getLotOccupancyFees.js'; +import { updateLotOccupancyFeeQuantity } from '../../helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.js'; export async function handler(request, response) { - const success = await updateLotOccupancyFeeQuantity(request.body, request.session); + const success = await updateLotOccupancyFeeQuantity(request.body, request.session.user); const lotOccupancyFees = await getLotOccupancyFees(request.body.lotOccupancyId); response.json({ success, diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyFeeQuantity.ts b/handlers/lotOccupancies-post/doUpdateLotOccupancyFeeQuantity.ts index 64f3aa6b..43d15382 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyFeeQuantity.ts +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyFeeQuantity.ts @@ -1,8 +1,7 @@ import type { Request, Response } from 'express' -import { updateLotOccupancyFeeQuantity } from '../../helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.js' - import { getLotOccupancyFees } from '../../helpers/lotOccupancyDB/getLotOccupancyFees.js' +import { updateLotOccupancyFeeQuantity } from '../../helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.js' export async function handler( request: Request, @@ -10,7 +9,7 @@ export async function handler( ): Promise { const success = await updateLotOccupancyFeeQuantity( request.body, - request.session + request.session.user as User ) const lotOccupancyFees = await getLotOccupancyFees( diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.js b/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.js index a7ff8f25..55002820 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.js +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.js @@ -1,7 +1,7 @@ -import { updateLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/updateLotOccupancyOccupant.js'; import { getLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getLotOccupancyOccupants.js'; +import { updateLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/updateLotOccupancyOccupant.js'; export async function handler(request, response) { - const success = await updateLotOccupancyOccupant(request.body, request.session); + const success = await updateLotOccupancyOccupant(request.body, request.session.user); const lotOccupancyOccupants = await getLotOccupancyOccupants(request.body.lotOccupancyId); response.json({ success, diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.ts b/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.ts index 8077ab4c..b67b0e6e 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.ts +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyOccupant.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' -import { updateLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/updateLotOccupancyOccupant.js' - import { getLotOccupancyOccupants } from '../../helpers/lotOccupancyDB/getLotOccupancyOccupants.js' +import { updateLotOccupancyOccupant } from '../../helpers/lotOccupancyDB/updateLotOccupancyOccupant.js' export async function handler( request: Request, response: Response ): Promise { - const success = await updateLotOccupancyOccupant(request.body, request.session) + const success = await updateLotOccupancyOccupant(request.body, request.session.user as User) const lotOccupancyOccupants = await getLotOccupancyOccupants( request.body.lotOccupancyId diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyTransaction.js b/handlers/lotOccupancies-post/doUpdateLotOccupancyTransaction.js index 9f9de2e3..41d435cb 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyTransaction.js +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyTransaction.js @@ -1,7 +1,7 @@ -import { updateLotOccupancyTransaction } from '../../helpers/lotOccupancyDB/updateLotOccupancyTransaction.js'; import { getLotOccupancyTransactions } from '../../helpers/lotOccupancyDB/getLotOccupancyTransactions.js'; +import { updateLotOccupancyTransaction } from '../../helpers/lotOccupancyDB/updateLotOccupancyTransaction.js'; export async function handler(request, response) { - await updateLotOccupancyTransaction(request.body, request.session); + await updateLotOccupancyTransaction(request.body, request.session.user); const lotOccupancyTransactions = await getLotOccupancyTransactions(request.body.lotOccupancyId, { includeIntegrations: true }); response.json({ success: true, diff --git a/handlers/lotOccupancies-post/doUpdateLotOccupancyTransaction.ts b/handlers/lotOccupancies-post/doUpdateLotOccupancyTransaction.ts index 86091fb2..101063af 100644 --- a/handlers/lotOccupancies-post/doUpdateLotOccupancyTransaction.ts +++ b/handlers/lotOccupancies-post/doUpdateLotOccupancyTransaction.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' -import { updateLotOccupancyTransaction } from '../../helpers/lotOccupancyDB/updateLotOccupancyTransaction.js' - import { getLotOccupancyTransactions } from '../../helpers/lotOccupancyDB/getLotOccupancyTransactions.js' +import { updateLotOccupancyTransaction } from '../../helpers/lotOccupancyDB/updateLotOccupancyTransaction.js' export async function handler( request: Request, response: Response ): Promise { - await updateLotOccupancyTransaction(request.body, request.session) + await updateLotOccupancyTransaction(request.body, request.session.user as User) const lotOccupancyTransactions = await getLotOccupancyTransactions( request.body.lotOccupancyId, diff --git a/handlers/lots-post/doAddLotComment.js b/handlers/lots-post/doAddLotComment.js index 138c88eb..45011e98 100644 --- a/handlers/lots-post/doAddLotComment.js +++ b/handlers/lots-post/doAddLotComment.js @@ -1,7 +1,7 @@ import { addLotComment } from '../../helpers/lotOccupancyDB/addLotComment.js'; import { getLotComments } from '../../helpers/lotOccupancyDB/getLotComments.js'; export async function handler(request, response) { - await addLotComment(request.body, request.session); + await addLotComment(request.body, request.session.user); const lotComments = await getLotComments(request.body.lotId); response.json({ success: true, diff --git a/handlers/lots-post/doAddLotComment.ts b/handlers/lots-post/doAddLotComment.ts index ace6e835..edf4f7fb 100644 --- a/handlers/lots-post/doAddLotComment.ts +++ b/handlers/lots-post/doAddLotComment.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' import { addLotComment } from '../../helpers/lotOccupancyDB/addLotComment.js' - import { getLotComments } from '../../helpers/lotOccupancyDB/getLotComments.js' export async function handler( request: Request, response: Response ): Promise { - await addLotComment(request.body, request.session) + await addLotComment(request.body, request.session.user as User) const lotComments = await getLotComments(request.body.lotId) diff --git a/handlers/lots-post/doCreateLot.js b/handlers/lots-post/doCreateLot.js index 97d8fc38..d7975f06 100644 --- a/handlers/lots-post/doCreateLot.js +++ b/handlers/lots-post/doCreateLot.js @@ -1,7 +1,7 @@ import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js'; import { addLot } from '../../helpers/lotOccupancyDB/addLot.js'; export async function handler(request, response) { - const lotId = await addLot(request.body, request.session); + const lotId = await addLot(request.body, request.session.user); response.json({ success: true, lotId diff --git a/handlers/lots-post/doCreateLot.ts b/handlers/lots-post/doCreateLot.ts index f269eded..5ffa31ed 100644 --- a/handlers/lots-post/doCreateLot.ts +++ b/handlers/lots-post/doCreateLot.ts @@ -1,13 +1,13 @@ import type { Request, Response } from 'express' -import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js' +import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js' import { addLot } from '../../helpers/lotOccupancyDB/addLot.js' export async function handler( request: Request, response: Response ): Promise { - const lotId = await addLot(request.body, request.session) + const lotId = await addLot(request.body, request.session.user as User) response.json({ success: true, diff --git a/handlers/lots-post/doDeleteLot.js b/handlers/lots-post/doDeleteLot.js index 73559933..3b87b124 100644 --- a/handlers/lots-post/doDeleteLot.js +++ b/handlers/lots-post/doDeleteLot.js @@ -2,7 +2,7 @@ import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js'; import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; export async function handler(request, response) { const lotId = Number.parseInt(request.body.lotId, 10); - const success = await deleteRecord('Lots', lotId, request.session); + const success = await deleteRecord('Lots', lotId, request.session.user); response.json({ success }); diff --git a/handlers/lots-post/doDeleteLot.ts b/handlers/lots-post/doDeleteLot.ts index 7a8311ca..301ec1e6 100644 --- a/handlers/lots-post/doDeleteLot.ts +++ b/handlers/lots-post/doDeleteLot.ts @@ -1,6 +1,6 @@ import type { Request, Response } from 'express' -import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js' +import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' export async function handler( @@ -9,7 +9,7 @@ export async function handler( ): Promise { const lotId = Number.parseInt(request.body.lotId, 10) - const success = await deleteRecord('Lots', lotId, request.session) + const success = await deleteRecord('Lots', lotId, request.session.user as User) response.json({ success diff --git a/handlers/lots-post/doDeleteLotComment.js b/handlers/lots-post/doDeleteLotComment.js index 9b692638..2f8ea4ba 100644 --- a/handlers/lots-post/doDeleteLotComment.js +++ b/handlers/lots-post/doDeleteLotComment.js @@ -1,7 +1,7 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getLotComments } from '../../helpers/lotOccupancyDB/getLotComments.js'; export async function handler(request, response) { - const success = await deleteRecord('LotComments', request.body.lotCommentId, request.session); + const success = await deleteRecord('LotComments', request.body.lotCommentId, request.session.user); const lotComments = await getLotComments(request.body.lotId); response.json({ success, diff --git a/handlers/lots-post/doDeleteLotComment.ts b/handlers/lots-post/doDeleteLotComment.ts index 17b5d61a..cf2dd999 100644 --- a/handlers/lots-post/doDeleteLotComment.ts +++ b/handlers/lots-post/doDeleteLotComment.ts @@ -1,7 +1,6 @@ import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getLotComments } from '../../helpers/lotOccupancyDB/getLotComments.js' export async function handler( @@ -11,7 +10,7 @@ export async function handler( const success = await deleteRecord( 'LotComments', request.body.lotCommentId, - request.session + request.session.user as User ) const lotComments = await getLotComments(request.body.lotId) diff --git a/handlers/lots-post/doUpdateLot.js b/handlers/lots-post/doUpdateLot.js index 4cfafde9..430b9034 100644 --- a/handlers/lots-post/doUpdateLot.js +++ b/handlers/lots-post/doUpdateLot.js @@ -2,7 +2,7 @@ import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js'; import { updateLot } from '../../helpers/lotOccupancyDB/updateLot.js'; export async function handler(request, response) { const lotId = Number.parseInt(request.body.lotId, 10); - const success = await updateLot(request.body, request.session); + const success = await updateLot(request.body, request.session.user); response.json({ success, lotId: request.body.lotId diff --git a/handlers/lots-post/doUpdateLot.ts b/handlers/lots-post/doUpdateLot.ts index 95337c36..d196ef09 100644 --- a/handlers/lots-post/doUpdateLot.ts +++ b/handlers/lots-post/doUpdateLot.ts @@ -1,6 +1,6 @@ import type { Request, Response } from 'express' -import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js' +import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js' import { updateLot } from '../../helpers/lotOccupancyDB/updateLot.js' export async function handler( @@ -9,7 +9,7 @@ export async function handler( ): Promise { const lotId = Number.parseInt(request.body.lotId, 10) - const success = await updateLot(request.body, request.session) + const success = await updateLot(request.body, request.session.user as User) response.json({ success, diff --git a/handlers/lots-post/doUpdateLotComment.js b/handlers/lots-post/doUpdateLotComment.js index 4fdf082b..24dc4b51 100644 --- a/handlers/lots-post/doUpdateLotComment.js +++ b/handlers/lots-post/doUpdateLotComment.js @@ -1,7 +1,7 @@ -import { updateLotComment } from '../../helpers/lotOccupancyDB/updateLotComment.js'; import { getLotComments } from '../../helpers/lotOccupancyDB/getLotComments.js'; +import { updateLotComment } from '../../helpers/lotOccupancyDB/updateLotComment.js'; export async function handler(request, response) { - const success = await updateLotComment(request.body, request.session); + const success = await updateLotComment(request.body, request.session.user); const lotComments = await getLotComments(request.body.lotId); response.json({ success, diff --git a/handlers/lots-post/doUpdateLotComment.ts b/handlers/lots-post/doUpdateLotComment.ts index 5ac44d16..70a37758 100644 --- a/handlers/lots-post/doUpdateLotComment.ts +++ b/handlers/lots-post/doUpdateLotComment.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' -import { updateLotComment } from '../../helpers/lotOccupancyDB/updateLotComment.js' - import { getLotComments } from '../../helpers/lotOccupancyDB/getLotComments.js' +import { updateLotComment } from '../../helpers/lotOccupancyDB/updateLotComment.js' export async function handler( request: Request, response: Response ): Promise { - const success = await updateLotComment(request.body, request.session) + const success = await updateLotComment(request.body, request.session.user as User) const lotComments = await getLotComments(request.body.lotId) diff --git a/handlers/maps-post/doCreateMap.js b/handlers/maps-post/doCreateMap.js index abb8d0db..329e8f28 100644 --- a/handlers/maps-post/doCreateMap.js +++ b/handlers/maps-post/doCreateMap.js @@ -1,6 +1,6 @@ import { addMap } from '../../helpers/lotOccupancyDB/addMap.js'; export async function handler(request, response) { - const mapId = await addMap(request.body, request.session); + const mapId = await addMap(request.body, request.session.user); response.json({ success: true, mapId diff --git a/handlers/maps-post/doCreateMap.ts b/handlers/maps-post/doCreateMap.ts index 92c88868..237d0812 100644 --- a/handlers/maps-post/doCreateMap.ts +++ b/handlers/maps-post/doCreateMap.ts @@ -6,7 +6,7 @@ export async function handler( request: Request, response: Response ): Promise { - const mapId = await addMap(request.body, request.session) + const mapId = await addMap(request.body, request.session.user as User) response.json({ success: true, diff --git a/handlers/maps-post/doDeleteMap.js b/handlers/maps-post/doDeleteMap.js index b2498529..69f7310b 100644 --- a/handlers/maps-post/doDeleteMap.js +++ b/handlers/maps-post/doDeleteMap.js @@ -1,7 +1,7 @@ import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js'; import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; export async function handler(request, response) { - const success = await deleteRecord('Maps', request.body.mapId, request.session); + const success = await deleteRecord('Maps', request.body.mapId, request.session.user); response.json({ success }); diff --git a/handlers/maps-post/doDeleteMap.ts b/handlers/maps-post/doDeleteMap.ts index 5af19a22..6772dd10 100644 --- a/handlers/maps-post/doDeleteMap.ts +++ b/handlers/maps-post/doDeleteMap.ts @@ -1,6 +1,6 @@ import type { Request, Response } from 'express' -import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js' +import { clearNextPreviousLotIdCache } from '../../helpers/functions.lots.js' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' export async function handler( @@ -10,7 +10,7 @@ export async function handler( const success = await deleteRecord( 'Maps', request.body.mapId, - request.session + request.session.user as User ) response.json({ diff --git a/handlers/maps-post/doUpdateMap.js b/handlers/maps-post/doUpdateMap.js index f9b1e2a9..e29c3b3e 100644 --- a/handlers/maps-post/doUpdateMap.js +++ b/handlers/maps-post/doUpdateMap.js @@ -1,6 +1,6 @@ import { updateMap } from '../../helpers/lotOccupancyDB/updateMap.js'; export async function handler(request, response) { - const success = await updateMap(request.body, request.session); + const success = await updateMap(request.body, request.session.user); response.json({ success, mapId: request.body.mapId diff --git a/handlers/maps-post/doUpdateMap.ts b/handlers/maps-post/doUpdateMap.ts index 69c2de17..b93ab97b 100644 --- a/handlers/maps-post/doUpdateMap.ts +++ b/handlers/maps-post/doUpdateMap.ts @@ -6,7 +6,7 @@ export async function handler( request: Request, response: Response ): Promise { - const success = await updateMap(request.body, request.session) + const success = await updateMap(request.body, request.session.user as User) response.json({ success, diff --git a/handlers/print-get/pdf.js b/handlers/print-get/pdf.js index 74b844be..5708a3a8 100644 --- a/handlers/print-get/pdf.js +++ b/handlers/print-get/pdf.js @@ -37,7 +37,7 @@ export async function handler(request, response, next) { next(ejsError); return; } - await convertHTMLToPDF(ejsData, pdfCallbackFunction, { + const pdf = await convertHTMLToPDF(ejsData, { format: 'letter', printBackground: true, preferCSSPageSize: true @@ -45,6 +45,7 @@ export async function handler(request, response, next) { cacheBrowser: true, remoteContent: false }); + pdfCallbackFunction(pdf); } reportData.configFunctions = configFunctions; reportData.dateTimeFunctions = dateTimeFunctions; diff --git a/handlers/print-get/pdf.ts b/handlers/print-get/pdf.ts index d879df9e..262c5162 100644 --- a/handlers/print-get/pdf.ts +++ b/handlers/print-get/pdf.ts @@ -75,9 +75,8 @@ export async function handler( return } - await convertHTMLToPDF( + const pdf = await convertHTMLToPDF( ejsData, - pdfCallbackFunction, { format: 'letter', printBackground: true, @@ -89,6 +88,8 @@ export async function handler( remoteContent: false } ) + + pdfCallbackFunction(pdf) } reportData.configFunctions = configFunctions diff --git a/handlers/workOrders-post/doAddWorkOrderComment.js b/handlers/workOrders-post/doAddWorkOrderComment.js index 36e0f14b..9e5c24b3 100644 --- a/handlers/workOrders-post/doAddWorkOrderComment.js +++ b/handlers/workOrders-post/doAddWorkOrderComment.js @@ -1,7 +1,7 @@ import { addWorkOrderComment } from '../../helpers/lotOccupancyDB/addWorkOrderComment.js'; import { getWorkOrderComments } from '../../helpers/lotOccupancyDB/getWorkOrderComments.js'; export async function handler(request, response) { - await addWorkOrderComment(request.body, request.session); + await addWorkOrderComment(request.body, request.session.user); const workOrderComments = await getWorkOrderComments(request.body.workOrderId); response.json({ success: true, diff --git a/handlers/workOrders-post/doAddWorkOrderComment.ts b/handlers/workOrders-post/doAddWorkOrderComment.ts index 39ed78ed..fbfeaaff 100644 --- a/handlers/workOrders-post/doAddWorkOrderComment.ts +++ b/handlers/workOrders-post/doAddWorkOrderComment.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' import { addWorkOrderComment } from '../../helpers/lotOccupancyDB/addWorkOrderComment.js' - import { getWorkOrderComments } from '../../helpers/lotOccupancyDB/getWorkOrderComments.js' export async function handler( request: Request, response: Response ): Promise { - await addWorkOrderComment(request.body, request.session) + await addWorkOrderComment(request.body, request.session.user as User) const workOrderComments = await getWorkOrderComments(request.body.workOrderId) diff --git a/handlers/workOrders-post/doAddWorkOrderLot.js b/handlers/workOrders-post/doAddWorkOrderLot.js index 7acf48c5..5d5797f9 100644 --- a/handlers/workOrders-post/doAddWorkOrderLot.js +++ b/handlers/workOrders-post/doAddWorkOrderLot.js @@ -4,7 +4,7 @@ export async function handler(request, response) { const success = await addWorkOrderLot({ workOrderId: request.body.workOrderId, lotId: request.body.lotId - }, request.session); + }, request.session.user); const workOrderLotsResults = await getLots({ workOrderId: request.body.workOrderId }, { diff --git a/handlers/workOrders-post/doAddWorkOrderLot.ts b/handlers/workOrders-post/doAddWorkOrderLot.ts index 1a6314c2..03b6886a 100644 --- a/handlers/workOrders-post/doAddWorkOrderLot.ts +++ b/handlers/workOrders-post/doAddWorkOrderLot.ts @@ -12,7 +12,7 @@ export async function handler( workOrderId: request.body.workOrderId, lotId: request.body.lotId }, - request.session + request.session.user as User ) const workOrderLotsResults = await getLots( diff --git a/handlers/workOrders-post/doAddWorkOrderLotOccupancy.js b/handlers/workOrders-post/doAddWorkOrderLotOccupancy.js index 00fd4596..78c665d5 100644 --- a/handlers/workOrders-post/doAddWorkOrderLotOccupancy.js +++ b/handlers/workOrders-post/doAddWorkOrderLotOccupancy.js @@ -4,7 +4,7 @@ export async function handler(request, response) { const success = await addWorkOrderLotOccupancy({ workOrderId: request.body.workOrderId, lotOccupancyId: request.body.lotOccupancyId - }, request.session); + }, request.session.user); const workOrderLotOccupanciesResults = await getLotOccupancies({ workOrderId: request.body.workOrderId }, { diff --git a/handlers/workOrders-post/doAddWorkOrderLotOccupancy.ts b/handlers/workOrders-post/doAddWorkOrderLotOccupancy.ts index f11c1525..e89b1e0c 100644 --- a/handlers/workOrders-post/doAddWorkOrderLotOccupancy.ts +++ b/handlers/workOrders-post/doAddWorkOrderLotOccupancy.ts @@ -12,7 +12,7 @@ export async function handler( workOrderId: request.body.workOrderId, lotOccupancyId: request.body.lotOccupancyId }, - request.session + request.session.user as User ) const workOrderLotOccupanciesResults = await getLotOccupancies( diff --git a/handlers/workOrders-post/doAddWorkOrderMilestone.js b/handlers/workOrders-post/doAddWorkOrderMilestone.js index 0a3e22bf..abfb77aa 100644 --- a/handlers/workOrders-post/doAddWorkOrderMilestone.js +++ b/handlers/workOrders-post/doAddWorkOrderMilestone.js @@ -1,7 +1,7 @@ import { addWorkOrderMilestone } from '../../helpers/lotOccupancyDB/addWorkOrderMilestone.js'; import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js'; export async function handler(request, response) { - const success = await addWorkOrderMilestone(request.body, request.session); + const success = await addWorkOrderMilestone(request.body, request.session.user); const workOrderMilestones = await getWorkOrderMilestones({ workOrderId: request.body.workOrderId }, { diff --git a/handlers/workOrders-post/doAddWorkOrderMilestone.ts b/handlers/workOrders-post/doAddWorkOrderMilestone.ts index 52cccbc1..6012a109 100644 --- a/handlers/workOrders-post/doAddWorkOrderMilestone.ts +++ b/handlers/workOrders-post/doAddWorkOrderMilestone.ts @@ -7,7 +7,7 @@ export async function handler( request: Request, response: Response ): Promise { - const success = await addWorkOrderMilestone(request.body, request.session) + const success = await addWorkOrderMilestone(request.body, request.session.user as User) const workOrderMilestones = await getWorkOrderMilestones( { diff --git a/handlers/workOrders-post/doCloseWorkOrder.js b/handlers/workOrders-post/doCloseWorkOrder.js index a19ac1da..bd56e5bd 100644 --- a/handlers/workOrders-post/doCloseWorkOrder.js +++ b/handlers/workOrders-post/doCloseWorkOrder.js @@ -1,6 +1,6 @@ import { closeWorkOrder } from '../../helpers/lotOccupancyDB/closeWorkOrder.js'; export async function handler(request, response) { - const success = await closeWorkOrder(request.body, request.session); + const success = await closeWorkOrder(request.body, request.session.user); response.json({ success }); diff --git a/handlers/workOrders-post/doCloseWorkOrder.ts b/handlers/workOrders-post/doCloseWorkOrder.ts index 83e87d8f..2211be19 100644 --- a/handlers/workOrders-post/doCloseWorkOrder.ts +++ b/handlers/workOrders-post/doCloseWorkOrder.ts @@ -6,7 +6,7 @@ export async function handler( request: Request, response: Response ): Promise { - const success = await closeWorkOrder(request.body, request.session) + const success = await closeWorkOrder(request.body, request.session.user as User) response.json({ success diff --git a/handlers/workOrders-post/doCompleteWorkOrderMilestone.js b/handlers/workOrders-post/doCompleteWorkOrderMilestone.js index e640299f..3df97fe1 100644 --- a/handlers/workOrders-post/doCompleteWorkOrderMilestone.js +++ b/handlers/workOrders-post/doCompleteWorkOrderMilestone.js @@ -3,7 +3,7 @@ import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrde export async function handler(request, response) { const success = await completeWorkOrderMilestone({ workOrderMilestoneId: request.body.workOrderMilestoneId - }, request.session); + }, request.session.user); const workOrderMilestones = await getWorkOrderMilestones({ workOrderId: request.body.workOrderId }, { diff --git a/handlers/workOrders-post/doCompleteWorkOrderMilestone.ts b/handlers/workOrders-post/doCompleteWorkOrderMilestone.ts index 001e93b1..5c65bc76 100644 --- a/handlers/workOrders-post/doCompleteWorkOrderMilestone.ts +++ b/handlers/workOrders-post/doCompleteWorkOrderMilestone.ts @@ -1,7 +1,6 @@ import type { Request, Response } from 'express' import { completeWorkOrderMilestone } from '../../helpers/lotOccupancyDB/completeWorkOrderMilestone.js' - import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js' export async function handler( @@ -12,7 +11,7 @@ export async function handler( { workOrderMilestoneId: request.body.workOrderMilestoneId }, - request.session + request.session.user as User ) const workOrderMilestones = await getWorkOrderMilestones( diff --git a/handlers/workOrders-post/doCreateWorkOrder.js b/handlers/workOrders-post/doCreateWorkOrder.js index 9e85b9dc..4cc1defc 100644 --- a/handlers/workOrders-post/doCreateWorkOrder.js +++ b/handlers/workOrders-post/doCreateWorkOrder.js @@ -1,6 +1,6 @@ import { addWorkOrder } from '../../helpers/lotOccupancyDB/addWorkOrder.js'; export async function handler(request, response) { - const workOrderId = await addWorkOrder(request.body, request.session); + const workOrderId = await addWorkOrder(request.body, request.session.user); response.json({ success: true, workOrderId diff --git a/handlers/workOrders-post/doCreateWorkOrder.ts b/handlers/workOrders-post/doCreateWorkOrder.ts index 23c0141f..7aafa442 100644 --- a/handlers/workOrders-post/doCreateWorkOrder.ts +++ b/handlers/workOrders-post/doCreateWorkOrder.ts @@ -6,7 +6,7 @@ export async function handler( request: Request, response: Response ): Promise { - const workOrderId = await addWorkOrder(request.body, request.session) + const workOrderId = await addWorkOrder(request.body, request.session.user as User) response.json({ success: true, diff --git a/handlers/workOrders-post/doDeleteWorkOrder.js b/handlers/workOrders-post/doDeleteWorkOrder.js index 43bd315f..993d634a 100644 --- a/handlers/workOrders-post/doDeleteWorkOrder.js +++ b/handlers/workOrders-post/doDeleteWorkOrder.js @@ -1,6 +1,6 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; export async function handler(request, response) { - const success = await deleteRecord('WorkOrders', request.body.workOrderId, request.session); + const success = await deleteRecord('WorkOrders', request.body.workOrderId, request.session.user); response.json({ success }); diff --git a/handlers/workOrders-post/doDeleteWorkOrder.ts b/handlers/workOrders-post/doDeleteWorkOrder.ts index c093409c..b020b0c2 100644 --- a/handlers/workOrders-post/doDeleteWorkOrder.ts +++ b/handlers/workOrders-post/doDeleteWorkOrder.ts @@ -9,7 +9,7 @@ export async function handler( const success = await deleteRecord( 'WorkOrders', request.body.workOrderId, - request.session + request.session.user as User ) response.json({ diff --git a/handlers/workOrders-post/doDeleteWorkOrderComment.js b/handlers/workOrders-post/doDeleteWorkOrderComment.js index b544f85a..9b526a8e 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderComment.js +++ b/handlers/workOrders-post/doDeleteWorkOrderComment.js @@ -1,7 +1,7 @@ import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js'; import { getWorkOrderComments } from '../../helpers/lotOccupancyDB/getWorkOrderComments.js'; export async function handler(request, response) { - const success = await deleteRecord('WorkOrderComments', request.body.workOrderCommentId, request.session); + const success = await deleteRecord('WorkOrderComments', request.body.workOrderCommentId, request.session.user); const workOrderComments = await getWorkOrderComments(request.body.workOrderId); response.json({ success, diff --git a/handlers/workOrders-post/doDeleteWorkOrderComment.ts b/handlers/workOrders-post/doDeleteWorkOrderComment.ts index 003c65bf..025b96c0 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderComment.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderComment.ts @@ -1,7 +1,6 @@ import type { Request, Response } from 'express' import { deleteRecord } from '../../helpers/lotOccupancyDB/deleteRecord.js' - import { getWorkOrderComments } from '../../helpers/lotOccupancyDB/getWorkOrderComments.js' export async function handler( @@ -11,7 +10,7 @@ export async function handler( const success = await deleteRecord( 'WorkOrderComments', request.body.workOrderCommentId, - request.session + request.session.user as User ) const workOrderComments = await getWorkOrderComments(request.body.workOrderId) diff --git a/handlers/workOrders-post/doDeleteWorkOrderLot.js b/handlers/workOrders-post/doDeleteWorkOrderLot.js index 3ad58c17..cfdc3235 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderLot.js +++ b/handlers/workOrders-post/doDeleteWorkOrderLot.js @@ -1,7 +1,7 @@ import { deleteWorkOrderLot } from '../../helpers/lotOccupancyDB/deleteWorkOrderLot.js'; import { getLots } from '../../helpers/lotOccupancyDB/getLots.js'; export async function handler(request, response) { - const success = await deleteWorkOrderLot(request.body.workOrderId, request.body.lotId, request.session); + const success = await deleteWorkOrderLot(request.body.workOrderId, request.body.lotId, request.session.user); const workOrderLotsResults = await getLots({ workOrderId: request.body.workOrderId }, { diff --git a/handlers/workOrders-post/doDeleteWorkOrderLot.ts b/handlers/workOrders-post/doDeleteWorkOrderLot.ts index 2cfe328a..2b86968c 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderLot.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderLot.ts @@ -10,7 +10,7 @@ export async function handler( const success = await deleteWorkOrderLot( request.body.workOrderId, request.body.lotId, - request.session + request.session.user as User ) const workOrderLotsResults = await getLots( diff --git a/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.js b/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.js index 3fbdd4b1..a994f4ef 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.js +++ b/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.js @@ -1,7 +1,7 @@ import { deleteWorkOrderLotOccupancy } from '../../helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.js'; import { getLotOccupancies } from '../../helpers/lotOccupancyDB/getLotOccupancies.js'; export async function handler(request, response) { - const success = await deleteWorkOrderLotOccupancy(request.body.workOrderId, request.body.lotOccupancyId, request.session); + const success = await deleteWorkOrderLotOccupancy(request.body.workOrderId, request.body.lotOccupancyId, request.session.user); const workOrderLotOccupancies = await getLotOccupancies({ workOrderId: request.body.workOrderId }, { diff --git a/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.ts b/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.ts index ed53d2da..ef65ffbe 100644 --- a/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.ts +++ b/handlers/workOrders-post/doDeleteWorkOrderLotOccupancy.ts @@ -7,7 +7,7 @@ export async function handler(request: Request, response: Response): Promise { - const success = await reopenWorkOrder(request.body.workOrderId, request.session) + const success = await reopenWorkOrder(request.body.workOrderId, request.session.user as User) response.json({ success, diff --git a/handlers/workOrders-post/doReopenWorkOrderMilestone.js b/handlers/workOrders-post/doReopenWorkOrderMilestone.js index 8bf2b6b5..3c0e75bf 100644 --- a/handlers/workOrders-post/doReopenWorkOrderMilestone.js +++ b/handlers/workOrders-post/doReopenWorkOrderMilestone.js @@ -1,7 +1,7 @@ -import { reopenWorkOrderMilestone } from '../../helpers/lotOccupancyDB/reopenWorkOrderMilestone.js'; import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js'; +import { reopenWorkOrderMilestone } from '../../helpers/lotOccupancyDB/reopenWorkOrderMilestone.js'; export async function handler(request, response) { - const success = await reopenWorkOrderMilestone(request.body.workOrderMilestoneId, request.session); + const success = await reopenWorkOrderMilestone(request.body.workOrderMilestoneId, request.session.user); const workOrderMilestones = await getWorkOrderMilestones({ workOrderId: request.body.workOrderId }, { diff --git a/handlers/workOrders-post/doReopenWorkOrderMilestone.ts b/handlers/workOrders-post/doReopenWorkOrderMilestone.ts index 8394b437..95cf66dc 100644 --- a/handlers/workOrders-post/doReopenWorkOrderMilestone.ts +++ b/handlers/workOrders-post/doReopenWorkOrderMilestone.ts @@ -1,8 +1,7 @@ import type { Request, Response } from 'express' -import { reopenWorkOrderMilestone } from '../../helpers/lotOccupancyDB/reopenWorkOrderMilestone.js' - import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js' +import { reopenWorkOrderMilestone } from '../../helpers/lotOccupancyDB/reopenWorkOrderMilestone.js' export async function handler( request: Request, @@ -10,7 +9,7 @@ export async function handler( ): Promise { const success = await reopenWorkOrderMilestone( request.body.workOrderMilestoneId, - request.session + request.session.user as User ) const workOrderMilestones = await getWorkOrderMilestones( diff --git a/handlers/workOrders-post/doUpdateLotStatus.js b/handlers/workOrders-post/doUpdateLotStatus.js index 5245b30d..edfa6623 100644 --- a/handlers/workOrders-post/doUpdateLotStatus.js +++ b/handlers/workOrders-post/doUpdateLotStatus.js @@ -1,7 +1,7 @@ -import { updateLotStatus } from '../../helpers/lotOccupancyDB/updateLot.js'; import { getLots } from '../../helpers/lotOccupancyDB/getLots.js'; +import { updateLotStatus } from '../../helpers/lotOccupancyDB/updateLot.js'; export async function handler(request, response) { - const success = await updateLotStatus(request.body.lotId, request.body.lotStatusId, request.session); + const success = await updateLotStatus(request.body.lotId, request.body.lotStatusId, request.session.user); const workOrderLotsResults = await getLots({ workOrderId: request.body.workOrderId }, { diff --git a/handlers/workOrders-post/doUpdateLotStatus.ts b/handlers/workOrders-post/doUpdateLotStatus.ts index fe1dd9d9..942c870a 100644 --- a/handlers/workOrders-post/doUpdateLotStatus.ts +++ b/handlers/workOrders-post/doUpdateLotStatus.ts @@ -1,7 +1,7 @@ import type { Request, Response } from 'express' -import { updateLotStatus } from '../../helpers/lotOccupancyDB/updateLot.js' import { getLots } from '../../helpers/lotOccupancyDB/getLots.js' +import { updateLotStatus } from '../../helpers/lotOccupancyDB/updateLot.js' export async function handler( request: Request, @@ -10,7 +10,7 @@ export async function handler( const success = await updateLotStatus( request.body.lotId, request.body.lotStatusId, - request.session + request.session.user as User ) const workOrderLotsResults = await getLots( diff --git a/handlers/workOrders-post/doUpdateWorkOrder.js b/handlers/workOrders-post/doUpdateWorkOrder.js index 0c2294c0..e2014299 100644 --- a/handlers/workOrders-post/doUpdateWorkOrder.js +++ b/handlers/workOrders-post/doUpdateWorkOrder.js @@ -1,6 +1,6 @@ import { updateWorkOrder } from '../../helpers/lotOccupancyDB/updateWorkOrder.js'; export async function handler(request, response) { - const success = await updateWorkOrder(request.body, request.session); + const success = await updateWorkOrder(request.body, request.session.user); response.json({ success, workOrderId: request.body.workOrderId diff --git a/handlers/workOrders-post/doUpdateWorkOrder.ts b/handlers/workOrders-post/doUpdateWorkOrder.ts index 65ff4f9f..e845e2c6 100644 --- a/handlers/workOrders-post/doUpdateWorkOrder.ts +++ b/handlers/workOrders-post/doUpdateWorkOrder.ts @@ -6,7 +6,10 @@ export async function handler( request: Request, response: Response ): Promise { - const success = await updateWorkOrder(request.body, request.session) + const success = await updateWorkOrder( + request.body, + request.session.user as User + ) response.json({ success, diff --git a/handlers/workOrders-post/doUpdateWorkOrderComment.js b/handlers/workOrders-post/doUpdateWorkOrderComment.js index f65ec52d..c1e5084c 100644 --- a/handlers/workOrders-post/doUpdateWorkOrderComment.js +++ b/handlers/workOrders-post/doUpdateWorkOrderComment.js @@ -1,7 +1,7 @@ -import { updateWorkOrderComment } from '../../helpers/lotOccupancyDB/updateWorkOrderComment.js'; import { getWorkOrderComments } from '../../helpers/lotOccupancyDB/getWorkOrderComments.js'; +import { updateWorkOrderComment } from '../../helpers/lotOccupancyDB/updateWorkOrderComment.js'; export async function handler(request, response) { - const success = await updateWorkOrderComment(request.body, request.session); + const success = await updateWorkOrderComment(request.body, request.session.user); const workOrderComments = await getWorkOrderComments(request.body.workOrderId); response.json({ success, diff --git a/handlers/workOrders-post/doUpdateWorkOrderComment.ts b/handlers/workOrders-post/doUpdateWorkOrderComment.ts index c36ef80a..46d0a018 100644 --- a/handlers/workOrders-post/doUpdateWorkOrderComment.ts +++ b/handlers/workOrders-post/doUpdateWorkOrderComment.ts @@ -1,14 +1,13 @@ import type { Request, Response } from 'express' -import { updateWorkOrderComment } from '../../helpers/lotOccupancyDB/updateWorkOrderComment.js' - import { getWorkOrderComments } from '../../helpers/lotOccupancyDB/getWorkOrderComments.js' +import { updateWorkOrderComment } from '../../helpers/lotOccupancyDB/updateWorkOrderComment.js' export async function handler( request: Request, response: Response ): Promise { - const success = await updateWorkOrderComment(request.body, request.session) + const success = await updateWorkOrderComment(request.body, request.session.user as User) const workOrderComments = await getWorkOrderComments(request.body.workOrderId) diff --git a/handlers/workOrders-post/doUpdateWorkOrderMilestone.js b/handlers/workOrders-post/doUpdateWorkOrderMilestone.js index 8fc5ef98..a5a24f8c 100644 --- a/handlers/workOrders-post/doUpdateWorkOrderMilestone.js +++ b/handlers/workOrders-post/doUpdateWorkOrderMilestone.js @@ -1,7 +1,7 @@ -import { updateWorkOrderMilestone } from '../../helpers/lotOccupancyDB/updateWorkOrderMilestone.js'; import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js'; +import { updateWorkOrderMilestone } from '../../helpers/lotOccupancyDB/updateWorkOrderMilestone.js'; export async function handler(request, response) { - const success = await updateWorkOrderMilestone(request.body, request.session); + const success = await updateWorkOrderMilestone(request.body, request.session.user); const workOrderMilestones = await getWorkOrderMilestones({ workOrderId: request.body.workOrderId }, { diff --git a/handlers/workOrders-post/doUpdateWorkOrderMilestone.ts b/handlers/workOrders-post/doUpdateWorkOrderMilestone.ts index 98d5e948..541dc3e5 100644 --- a/handlers/workOrders-post/doUpdateWorkOrderMilestone.ts +++ b/handlers/workOrders-post/doUpdateWorkOrderMilestone.ts @@ -1,13 +1,13 @@ import type { Request, Response } from 'express' -import { updateWorkOrderMilestone } from '../../helpers/lotOccupancyDB/updateWorkOrderMilestone.js' import { getWorkOrderMilestones } from '../../helpers/lotOccupancyDB/getWorkOrderMilestones.js' +import { updateWorkOrderMilestone } from '../../helpers/lotOccupancyDB/updateWorkOrderMilestone.js' export async function handler( request: Request, response: Response ): Promise { - const success = await updateWorkOrderMilestone(request.body, request.session) + const success = await updateWorkOrderMilestone(request.body, request.session.user as User) const workOrderMilestones = await getWorkOrderMilestones( { diff --git a/helpers/functions.api.d.ts b/helpers/functions.api.d.ts index 1440191d..fe16f5be 100644 --- a/helpers/functions.api.d.ts +++ b/helpers/functions.api.d.ts @@ -1,6 +1,4 @@ -import './polyfills.js'; -import type * as recordTypes from '../types/recordTypes'; export declare function regenerateApiKey(userName: string): Promise; export declare function getApiKey(userName: string): Promise; -export declare function getApiKeyFromSession(session: recordTypes.PartialSession): Promise; +export declare function getApiKeyFromUser(user: User): Promise; export declare function getUserNameFromApiKey(apiKey: string): Promise; diff --git a/helpers/functions.api.js b/helpers/functions.api.js index 62576861..d3bfe45a 100644 --- a/helpers/functions.api.js +++ b/helpers/functions.api.js @@ -1,7 +1,6 @@ -import './polyfills.js'; import fs from 'node:fs/promises'; -import { v4 as uuidv4 } from 'uuid'; import Debug from 'debug'; +import { v4 as uuidv4 } from 'uuid'; const debug = Debug('lot-occupancy-system:functions.api'); const apiKeyPath = 'data/apiKeys.json'; let apiKeys; @@ -39,8 +38,8 @@ export async function getApiKey(userName) { } return apiKeys[userName]; } -export async function getApiKeyFromSession(session) { - return await getApiKey(session.user.userName); +export async function getApiKeyFromUser(user) { + return await getApiKey(user.userName); } export async function getUserNameFromApiKey(apiKey) { if (apiKeys === undefined) { diff --git a/helpers/functions.api.ts b/helpers/functions.api.ts index 82de8605..a9bf29d4 100644 --- a/helpers/functions.api.ts +++ b/helpers/functions.api.ts @@ -1,11 +1,7 @@ -import './polyfills.js' - import fs from 'node:fs/promises' -import { v4 as uuidv4 } from 'uuid' import Debug from 'debug' - -import type * as recordTypes from '../types/recordTypes' +import { v4 as uuidv4 } from 'uuid' const debug = Debug('lot-occupancy-system:functions.api') @@ -51,10 +47,8 @@ export async function getApiKey(userName: string): Promise { return apiKeys[userName] } -export async function getApiKeyFromSession( - session: recordTypes.PartialSession -): Promise { - return await getApiKey(session.user!.userName) +export async function getApiKeyFromUser(user: User): Promise { + return await getApiKey(user.userName) } export async function getUserNameFromApiKey( diff --git a/helpers/functions.authentication.js b/helpers/functions.authentication.js index 78170067..90a6a8a4 100644 --- a/helpers/functions.authentication.js +++ b/helpers/functions.authentication.js @@ -1,5 +1,5 @@ -import * as configFunctions from './functions.config.js'; import ActiveDirectory from 'activedirectory2'; +import * as configFunctions from './functions.config.js'; const userDomain = configFunctions.getProperty('application.userDomain'); const activeDirectoryConfig = configFunctions.getProperty('activeDirectory'); async function authenticateViaActiveDirectory(userName, password) { diff --git a/helpers/functions.authentication.ts b/helpers/functions.authentication.ts index 9984fb0a..60d0e448 100644 --- a/helpers/functions.authentication.ts +++ b/helpers/functions.authentication.ts @@ -1,7 +1,7 @@ -import * as configFunctions from './functions.config.js' - import ActiveDirectory from 'activedirectory2' +import * as configFunctions from './functions.config.js' + const userDomain = configFunctions.getProperty('application.userDomain') const activeDirectoryConfig = configFunctions.getProperty('activeDirectory') @@ -59,7 +59,10 @@ const safeRedirects = new Set([ '/reports' ]) +// eslint-disable-next-line regexp/no-unused-capturing-group const recordUrl = /^(\/(maps|lots|lotoccupancies|workorders)\/)\d+(\/edit)?$/ + +// eslint-disable-next-line regexp/no-unused-capturing-group const printUrl = /^\/print\/(pdf|screen)\/[\d/=?A-Za-z-]+$/ export function getSafeRedirectURL(possibleRedirectURL = ''): string { diff --git a/helpers/functions.config.d.ts b/helpers/functions.config.d.ts index 0986bf62..f5fab35a 100644 --- a/helpers/functions.config.d.ts +++ b/helpers/functions.config.d.ts @@ -1,4 +1,3 @@ -import './polyfills.js'; import type * as configTypes from '../types/configTypes'; import type { config as MSSQLConfig } from 'mssql'; export declare function getProperty(propertyName: 'application.applicationName'): string; diff --git a/helpers/functions.config.js b/helpers/functions.config.js index 615d5a07..2cf9e8fe 100644 --- a/helpers/functions.config.js +++ b/helpers/functions.config.js @@ -1,4 +1,3 @@ -import './polyfills.js'; import { config } from '../data/config.js'; const configFallbackValues = new Map(); configFallbackValues.set('application.applicationName', 'Lot Occupancy System'); diff --git a/helpers/functions.config.ts b/helpers/functions.config.ts index c568d3c6..d8be4f8a 100644 --- a/helpers/functions.config.ts +++ b/helpers/functions.config.ts @@ -1,7 +1,5 @@ /* eslint-disable @typescript-eslint/indent, node/no-unpublished-import */ -import './polyfills.js' - import { config } from '../data/config.js' import type * as configTypes from '../types/configTypes' diff --git a/helpers/lotOccupancyDB/addFee.d.ts b/helpers/lotOccupancyDB/addFee.d.ts index 86232e70..7ed72e42 100644 --- a/helpers/lotOccupancyDB/addFee.d.ts +++ b/helpers/lotOccupancyDB/addFee.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddFeeForm { feeCategoryId: string; feeName: string; @@ -15,5 +14,5 @@ interface AddFeeForm { isRequired: '' | '1'; orderNumber?: number; } -export declare function addFee(feeForm: AddFeeForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addFee(feeForm: AddFeeForm, user: User): Promise; export default addFee; diff --git a/helpers/lotOccupancyDB/addFee.js b/helpers/lotOccupancyDB/addFee.js index 99cd1857..dac99be9 100644 --- a/helpers/lotOccupancyDB/addFee.js +++ b/helpers/lotOccupancyDB/addFee.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function addFee(feeForm, requestSession) { +export async function addFee(feeForm, user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database @@ -14,7 +14,7 @@ export async function addFee(feeForm, requestSession) { recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) - .run(feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, feeForm.feeAccount, 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); + .run(feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, feeForm.feeAccount, 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, user.userName, rightNowMillis, user.userName, rightNowMillis); database.release(); return result.lastInsertRowid; } diff --git a/helpers/lotOccupancyDB/addFee.ts b/helpers/lotOccupancyDB/addFee.ts index e14648dc..03140058 100644 --- a/helpers/lotOccupancyDB/addFee.ts +++ b/helpers/lotOccupancyDB/addFee.ts @@ -1,9 +1,5 @@ -/* eslint-disable @typescript-eslint/no-non-null-assertion */ - import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - interface AddFeeForm { feeCategoryId: string feeName: string @@ -21,10 +17,7 @@ interface AddFeeForm { orderNumber?: number } -export async function addFee( - feeForm: AddFeeForm, - requestSession: recordTypes.PartialSession -): Promise { +export async function addFee(feeForm: AddFeeForm, user: User): Promise { const database = await acquireConnection() const rightNowMillis = Date.now() @@ -58,9 +51,9 @@ export async function addFee( feeForm.quantityUnit, (feeForm.isRequired ?? '') === '' ? 0 : 1, feeForm.orderNumber ?? -1, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) diff --git a/helpers/lotOccupancyDB/addLot.d.ts b/helpers/lotOccupancyDB/addLot.d.ts index 9db43acb..a1a228f9 100644 --- a/helpers/lotOccupancyDB/addLot.d.ts +++ b/helpers/lotOccupancyDB/addLot.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddLotForm { lotName: string; lotTypeId: string | number; @@ -10,5 +9,5 @@ interface AddLotForm { lotTypeFieldIds?: string; [lotFieldValue_lotTypeFieldId: string]: unknown; } -export declare function addLot(lotForm: AddLotForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addLot(lotForm: AddLotForm, user: User): Promise; export default addLot; diff --git a/helpers/lotOccupancyDB/addLot.js b/helpers/lotOccupancyDB/addLot.js index e6790c31..345edced 100644 --- a/helpers/lotOccupancyDB/addLot.js +++ b/helpers/lotOccupancyDB/addLot.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { addOrUpdateLotField } from './addOrUpdateLotField.js'; -export async function addLot(lotForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function addLot(lotForm, user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database @@ -11,7 +11,7 @@ export async function addLot(lotForm, requestSession) { 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); + .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, user.userName, rightNowMillis, user.userName, rightNowMillis); const lotId = result.lastInsertRowid; const lotTypeFieldIds = (lotForm.lotTypeFieldIds ?? '').split(','); for (const lotTypeFieldId of lotTypeFieldIds) { @@ -21,7 +21,7 @@ export async function addLot(lotForm, requestSession) { lotId, lotTypeFieldId, lotFieldValue - }, requestSession, database); + }, user, database); } } database.release(); diff --git a/helpers/lotOccupancyDB/addLot.ts b/helpers/lotOccupancyDB/addLot.ts index b9c784dc..a54209c0 100644 --- a/helpers/lotOccupancyDB/addLot.ts +++ b/helpers/lotOccupancyDB/addLot.ts @@ -1,8 +1,5 @@ -import { acquireConnection } from './pool.js' - import { addOrUpdateLotField } from './addOrUpdateLotField.js' - -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface AddLotForm { lotName: string @@ -19,10 +16,7 @@ interface AddLotForm { [lotFieldValue_lotTypeFieldId: string]: unknown } -export async function addLot( - lotForm: AddLotForm, - requestSession: recordTypes.PartialSession -): Promise { +export async function addLot(lotForm: AddLotForm, user: User): Promise { const database = await acquireConnection() const rightNowMillis = Date.now() @@ -45,9 +39,9 @@ export async function addLot( lotForm.mapKey, lotForm.lotLatitude === '' ? undefined : lotForm.lotLatitude, lotForm.lotLongitude === '' ? undefined : lotForm.lotLongitude, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) @@ -65,7 +59,7 @@ export async function addLot( lotTypeFieldId, lotFieldValue }, - requestSession, + user, database ) } diff --git a/helpers/lotOccupancyDB/addLotComment.d.ts b/helpers/lotOccupancyDB/addLotComment.d.ts index a2f15620..e8ec2319 100644 --- a/helpers/lotOccupancyDB/addLotComment.d.ts +++ b/helpers/lotOccupancyDB/addLotComment.d.ts @@ -1,7 +1,6 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddLotCommentForm { lotId: string; lotComment: string; } -export declare function addLotComment(lotCommentForm: AddLotCommentForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addLotComment(lotCommentForm: AddLotCommentForm, user: User): Promise; export default addLotComment; diff --git a/helpers/lotOccupancyDB/addLotComment.js b/helpers/lotOccupancyDB/addLotComment.js index ed63e99e..caa5bb09 100644 --- a/helpers/lotOccupancyDB/addLotComment.js +++ b/helpers/lotOccupancyDB/addLotComment.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import * as dateTimeFunctions from '@cityssm/utils-datetime'; -export async function addLotComment(lotCommentForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function addLotComment(lotCommentForm, user) { const database = await acquireConnection(); const rightNow = new Date(); const result = database @@ -10,7 +10,7 @@ export async function addLotComment(lotCommentForm, requestSession) { 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()); + .run(lotCommentForm.lotId, dateTimeFunctions.dateToInteger(rightNow), dateTimeFunctions.dateToTimeInteger(rightNow), lotCommentForm.lotComment, user.userName, rightNow.getTime(), user.userName, rightNow.getTime()); database.release(); return result.lastInsertRowid; } diff --git a/helpers/lotOccupancyDB/addLotComment.ts b/helpers/lotOccupancyDB/addLotComment.ts index e77ddf9c..0623020a 100644 --- a/helpers/lotOccupancyDB/addLotComment.ts +++ b/helpers/lotOccupancyDB/addLotComment.ts @@ -1,8 +1,6 @@ -import { acquireConnection } from './pool.js' - import * as dateTimeFunctions from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface AddLotCommentForm { lotId: string @@ -11,7 +9,7 @@ interface AddLotCommentForm { export async function addLotComment( lotCommentForm: AddLotCommentForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -31,9 +29,9 @@ export async function addLotComment( dateTimeFunctions.dateToInteger(rightNow), dateTimeFunctions.dateToTimeInteger(rightNow), lotCommentForm.lotComment, - requestSession.user!.userName, + user.userName, rightNow.getTime(), - requestSession.user!.userName, + user.userName, rightNow.getTime() ) diff --git a/helpers/lotOccupancyDB/addLotOccupancy.d.ts b/helpers/lotOccupancyDB/addLotOccupancy.d.ts index 9053fa4f..0669ee80 100644 --- a/helpers/lotOccupancyDB/addLotOccupancy.d.ts +++ b/helpers/lotOccupancyDB/addLotOccupancy.d.ts @@ -1,5 +1,4 @@ import type { PoolConnection } from 'better-sqlite-pool'; -import type * as recordTypes from '../../types/recordTypes'; interface AddLotOccupancyForm { occupancyTypeId: string | number; lotId: string | number; @@ -19,5 +18,5 @@ interface AddLotOccupancyForm { occupantEmailAddress?: string; occupantComment?: string; } -export declare function addLotOccupancy(lotOccupancyForm: AddLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: PoolConnection): Promise; +export declare function addLotOccupancy(lotOccupancyForm: AddLotOccupancyForm, user: User, connectedDatabase?: PoolConnection): Promise; export default addLotOccupancy; diff --git a/helpers/lotOccupancyDB/addLotOccupancy.js b/helpers/lotOccupancyDB/addLotOccupancy.js index 36419f1c..8936531a 100644 --- a/helpers/lotOccupancyDB/addLotOccupancy.js +++ b/helpers/lotOccupancyDB/addLotOccupancy.js @@ -1,8 +1,8 @@ -import { acquireConnection } from './pool.js'; import * as dateTimeFunctions from '@cityssm/utils-datetime'; -import { addOrUpdateLotOccupancyField } from './addOrUpdateLotOccupancyField.js'; import { addLotOccupancyOccupant } from './addLotOccupancyOccupant.js'; -export async function addLotOccupancy(lotOccupancyForm, requestSession, connectedDatabase) { +import { addOrUpdateLotOccupancyField } from './addOrUpdateLotOccupancyField.js'; +import { acquireConnection } from './pool.js'; +export async function addLotOccupancy(lotOccupancyForm, user, connectedDatabase) { const database = connectedDatabase ?? (await acquireConnection()); const rightNowMillis = Date.now(); const occupancyStartDate = dateTimeFunctions.dateStringToInteger(lotOccupancyForm.occupancyStartDateString); @@ -18,7 +18,7 @@ export async function addLotOccupancy(lotOccupancyForm, requestSession, connecte values (?, ?, ?, ?, ?, ?, ?, ?)`) .run(lotOccupancyForm.occupancyTypeId, lotOccupancyForm.lotId === '' ? undefined : lotOccupancyForm.lotId, occupancyStartDate, lotOccupancyForm.occupancyEndDateString === '' ? undefined - : dateTimeFunctions.dateStringToInteger(lotOccupancyForm.occupancyEndDateString), requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); + : dateTimeFunctions.dateStringToInteger(lotOccupancyForm.occupancyEndDateString), user.userName, rightNowMillis, user.userName, rightNowMillis); const lotOccupancyId = result.lastInsertRowid; const occupancyTypeFieldIds = (lotOccupancyForm.occupancyTypeFieldIds ?? '').split(','); for (const occupancyTypeFieldId of occupancyTypeFieldIds) { @@ -28,7 +28,7 @@ export async function addLotOccupancy(lotOccupancyForm, requestSession, connecte lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue - }, requestSession, database); + }, user, database); } } if ((lotOccupancyForm.lotOccupantTypeId ?? '') !== '') { @@ -45,7 +45,7 @@ export async function addLotOccupancy(lotOccupancyForm, requestSession, connecte occupantPhoneNumber: lotOccupancyForm.occupantPhoneNumber, occupantEmailAddress: lotOccupancyForm.occupantEmailAddress, occupantComment: lotOccupancyForm.occupantComment - }, requestSession, database); + }, user, database); } if (connectedDatabase === undefined) { database.release(); diff --git a/helpers/lotOccupancyDB/addLotOccupancy.ts b/helpers/lotOccupancyDB/addLotOccupancy.ts index a38d9576..5b138384 100644 --- a/helpers/lotOccupancyDB/addLotOccupancy.ts +++ b/helpers/lotOccupancyDB/addLotOccupancy.ts @@ -1,12 +1,12 @@ -import { acquireConnection } from './pool.js' -import type { PoolConnection } from 'better-sqlite-pool' +// eslint-disable-next-line eslint-comments/disable-enable-pair +/* eslint-disable @typescript-eslint/indent */ import * as dateTimeFunctions from '@cityssm/utils-datetime' +import type { PoolConnection } from 'better-sqlite-pool' -import { addOrUpdateLotOccupancyField } from './addOrUpdateLotOccupancyField.js' import { addLotOccupancyOccupant } from './addLotOccupancyOccupant.js' - -import type * as recordTypes from '../../types/recordTypes' +import { addOrUpdateLotOccupancyField } from './addOrUpdateLotOccupancyField.js' +import { acquireConnection } from './pool.js' interface AddLotOccupancyForm { occupancyTypeId: string | number @@ -33,7 +33,7 @@ interface AddLotOccupancyForm { export async function addLotOccupancy( lotOccupancyForm: AddLotOccupancyForm, - requestSession: recordTypes.PartialSession, + user: User, connectedDatabase?: PoolConnection ): Promise { const database = connectedDatabase ?? (await acquireConnection()) @@ -48,7 +48,6 @@ export async function addLotOccupancy( console.error(lotOccupancyForm) } - /* eslint-disable @typescript-eslint/indent */ const result = database .prepare( `insert into LotOccupancies ( @@ -67,9 +66,9 @@ export async function addLotOccupancy( : dateTimeFunctions.dateStringToInteger( lotOccupancyForm.occupancyEndDateString ), - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) @@ -91,7 +90,7 @@ export async function addLotOccupancy( occupancyTypeFieldId, lotOccupancyFieldValue }, - requestSession, + user, database ) } @@ -113,7 +112,7 @@ export async function addLotOccupancy( occupantEmailAddress: lotOccupancyForm.occupantEmailAddress!, occupantComment: lotOccupancyForm.occupantComment! }, - requestSession, + user, database ) } diff --git a/helpers/lotOccupancyDB/addLotOccupancyComment.d.ts b/helpers/lotOccupancyDB/addLotOccupancyComment.d.ts index 081b50eb..c9bd05a8 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyComment.d.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyComment.d.ts @@ -1,9 +1,8 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddLotOccupancyCommentForm { lotOccupancyId: string | number; lotOccupancyCommentDateString?: string; lotOccupancyCommentTimeString?: string; lotOccupancyComment: string; } -export declare function addLotOccupancyComment(commentForm: AddLotOccupancyCommentForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addLotOccupancyComment(commentForm: AddLotOccupancyCommentForm, user: User): Promise; export default addLotOccupancyComment; diff --git a/helpers/lotOccupancyDB/addLotOccupancyComment.js b/helpers/lotOccupancyDB/addLotOccupancyComment.js index 41dc4272..ffa244f5 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyComment.js +++ b/helpers/lotOccupancyDB/addLotOccupancyComment.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from '@cityssm/utils-datetime'; -export async function addLotOccupancyComment(commentForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function addLotOccupancyComment(commentForm, user) { const rightNow = new Date(); let lotOccupancyCommentDate; let lotOccupancyCommentTime; @@ -21,7 +21,7 @@ export async function addLotOccupancyComment(commentForm, requestSession) { 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()); + .run(commentForm.lotOccupancyId, lotOccupancyCommentDate, lotOccupancyCommentTime, commentForm.lotOccupancyComment, user.userName, rightNow.getTime(), user.userName, rightNow.getTime()); database.release(); return result.lastInsertRowid; } diff --git a/helpers/lotOccupancyDB/addLotOccupancyComment.ts b/helpers/lotOccupancyDB/addLotOccupancyComment.ts index 4577e0ac..132ee159 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyComment.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyComment.ts @@ -1,5 +1,3 @@ -import { acquireConnection } from './pool.js' - import { dateStringToInteger, dateToInteger, @@ -7,7 +5,7 @@ import { timeStringToInteger } from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface AddLotOccupancyCommentForm { lotOccupancyId: string | number @@ -18,7 +16,7 @@ interface AddLotOccupancyCommentForm { export async function addLotOccupancyComment( commentForm: AddLotOccupancyCommentForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const rightNow = new Date() @@ -54,9 +52,9 @@ export async function addLotOccupancyComment( lotOccupancyCommentDate, lotOccupancyCommentTime, commentForm.lotOccupancyComment, - requestSession.user!.userName, + user.userName, rightNow.getTime(), - requestSession.user!.userName, + user.userName, rightNow.getTime() ) diff --git a/helpers/lotOccupancyDB/addLotOccupancyFee.d.ts b/helpers/lotOccupancyDB/addLotOccupancyFee.d.ts index 1ff8982b..a64c9e0d 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyFee.d.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyFee.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddLotOccupancyFeeForm { lotOccupancyId: number | string; feeId: number | string; @@ -6,5 +5,5 @@ interface AddLotOccupancyFeeForm { feeAmount?: number | string; taxAmount?: number | string; } -export declare function addLotOccupancyFee(lotOccupancyFeeForm: AddLotOccupancyFeeForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addLotOccupancyFee(lotOccupancyFeeForm: AddLotOccupancyFeeForm, user: User): Promise; export default addLotOccupancyFee; diff --git a/helpers/lotOccupancyDB/addLotOccupancyFee.js b/helpers/lotOccupancyDB/addLotOccupancyFee.js index 9c045995..51142574 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyFee.js +++ b/helpers/lotOccupancyDB/addLotOccupancyFee.js @@ -1,8 +1,8 @@ -import { acquireConnection } from './pool.js'; import { calculateFeeAmount, calculateTaxAmount } from '../functions.fee.js'; import { getFee } from './getFee.js'; import { getLotOccupancy } from './getLotOccupancy.js'; -export async function addLotOccupancyFee(lotOccupancyFeeForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function addLotOccupancyFee(lotOccupancyFeeForm, user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); let feeAmount; @@ -47,7 +47,7 @@ export async function addLotOccupancyFee(lotOccupancyFeeForm, requestSession) { recordUpdate_timeMillis = ? where lotOccupancyId = ? and feeId = ?`) - .run(lotOccupancyFeeForm.quantity, requestSession.user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); + .run(lotOccupancyFeeForm.quantity, user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); database.release(); return true; } @@ -64,7 +64,7 @@ export async function addLotOccupancyFee(lotOccupancyFeeForm, requestSession) { recordUpdate_timeMillis = ? where lotOccupancyId = ? and feeId = ?`) - .run(feeAmount * quantity, taxAmount * quantity, requestSession.user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); + .run(feeAmount * quantity, taxAmount * quantity, user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); database.release(); return true; } @@ -76,7 +76,7 @@ export async function addLotOccupancyFee(lotOccupancyFeeForm, requestSession) { 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); + .run(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId, lotOccupancyFeeForm.quantity, feeAmount, taxAmount, user.userName, rightNowMillis, user.userName, rightNowMillis); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/addLotOccupancyFee.ts b/helpers/lotOccupancyDB/addLotOccupancyFee.ts index 5a6664bd..dc59b796 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyFee.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyFee.ts @@ -1,12 +1,9 @@ -import { acquireConnection } from './pool.js' - +import type { LotOccupancy } from '../../types/recordTypes.js' import { calculateFeeAmount, calculateTaxAmount } from '../functions.fee.js' import { getFee } from './getFee.js' - import { getLotOccupancy } from './getLotOccupancy.js' - -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface AddLotOccupancyFeeForm { lotOccupancyId: number | string @@ -18,7 +15,7 @@ interface AddLotOccupancyFeeForm { export async function addLotOccupancyFee( lotOccupancyFeeForm: AddLotOccupancyFeeForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -31,7 +28,8 @@ export async function addLotOccupancyFee( if ((lotOccupancyFeeForm.feeAmount ?? '') === '') { const lotOccupancy = (await getLotOccupancy( lotOccupancyFeeForm.lotOccupancyId - ))! + )) as LotOccupancy + const fee = await getFee(lotOccupancyFeeForm.feeId) feeAmount = calculateFeeAmount(fee, lotOccupancy) @@ -86,7 +84,7 @@ export async function addLotOccupancyFee( ) .run( lotOccupancyFeeForm.quantity, - requestSession.user!.userName, + user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId @@ -115,7 +113,7 @@ export async function addLotOccupancyFee( .run( feeAmount * quantity, taxAmount * quantity, - requestSession.user!.userName, + user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId @@ -143,9 +141,9 @@ export async function addLotOccupancyFee( lotOccupancyFeeForm.quantity, feeAmount, taxAmount, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) diff --git a/helpers/lotOccupancyDB/addLotOccupancyOccupant.d.ts b/helpers/lotOccupancyDB/addLotOccupancyOccupant.d.ts index 32c09566..3bcce10e 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyOccupant.d.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyOccupant.d.ts @@ -1,5 +1,4 @@ import type { PoolConnection } from 'better-sqlite-pool'; -import type * as recordTypes from '../../types/recordTypes'; interface AddLotOccupancyOccupantForm { lotOccupancyId: string | number; lotOccupantTypeId: string | number; @@ -14,5 +13,5 @@ interface AddLotOccupancyOccupantForm { occupantEmailAddress: string; occupantComment?: string; } -export declare function addLotOccupancyOccupant(lotOccupancyOccupantForm: AddLotOccupancyOccupantForm, requestSession: recordTypes.PartialSession, connectedDatabase?: PoolConnection): Promise; +export declare function addLotOccupancyOccupant(lotOccupancyOccupantForm: AddLotOccupancyOccupantForm, user: User, connectedDatabase?: PoolConnection): Promise; export default addLotOccupancyOccupant; diff --git a/helpers/lotOccupancyDB/addLotOccupancyOccupant.js b/helpers/lotOccupancyDB/addLotOccupancyOccupant.js index 42f80cb3..abcdd458 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyOccupant.js +++ b/helpers/lotOccupancyDB/addLotOccupancyOccupant.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function addLotOccupancyOccupant(lotOccupancyOccupantForm, requestSession, connectedDatabase) { +export async function addLotOccupancyOccupant(lotOccupancyOccupantForm, user, connectedDatabase) { const database = connectedDatabase ?? (await acquireConnection()); let lotOccupantIndex = 0; const maxIndexResult = database @@ -25,7 +25,7 @@ export async function addLotOccupancyOccupant(lotOccupancyOccupantForm, requestS recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) - .run(lotOccupancyOccupantForm.lotOccupancyId, lotOccupantIndex, lotOccupancyOccupantForm.occupantName, lotOccupancyOccupantForm.occupantFamilyName, 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); + .run(lotOccupancyOccupantForm.lotOccupancyId, lotOccupantIndex, lotOccupancyOccupantForm.occupantName, lotOccupancyOccupantForm.occupantFamilyName, lotOccupancyOccupantForm.occupantAddress1, lotOccupancyOccupantForm.occupantAddress2, lotOccupancyOccupantForm.occupantCity, lotOccupancyOccupantForm.occupantProvince, lotOccupancyOccupantForm.occupantPostalCode, lotOccupancyOccupantForm.occupantPhoneNumber, lotOccupancyOccupantForm.occupantEmailAddress, lotOccupancyOccupantForm.occupantComment ?? '', lotOccupancyOccupantForm.lotOccupantTypeId, user.userName, rightNowMillis, user.userName, rightNowMillis); if (connectedDatabase === undefined) { database.release(); } diff --git a/helpers/lotOccupancyDB/addLotOccupancyOccupant.ts b/helpers/lotOccupancyDB/addLotOccupancyOccupant.ts index aff022c7..4b9ac29c 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyOccupant.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyOccupant.ts @@ -1,7 +1,6 @@ -import { acquireConnection } from './pool.js' import type { PoolConnection } from 'better-sqlite-pool' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface AddLotOccupancyOccupantForm { lotOccupancyId: string | number @@ -20,7 +19,7 @@ interface AddLotOccupancyOccupantForm { export async function addLotOccupancyOccupant( lotOccupancyOccupantForm: AddLotOccupancyOccupantForm, - requestSession: recordTypes.PartialSession, + user: User, connectedDatabase?: PoolConnection ): Promise { const database = connectedDatabase ?? (await acquireConnection()) @@ -73,9 +72,9 @@ export async function addLotOccupancyOccupant( lotOccupancyOccupantForm.occupantEmailAddress, lotOccupancyOccupantForm.occupantComment ?? '', lotOccupancyOccupantForm.lotOccupantTypeId, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) diff --git a/helpers/lotOccupancyDB/addLotOccupancyTransaction.d.ts b/helpers/lotOccupancyDB/addLotOccupancyTransaction.d.ts index e2d17a2b..80228eda 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyTransaction.d.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyTransaction.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddLotOccupancyTransactionForm { lotOccupancyId: string | number; transactionDateString?: string; @@ -7,5 +6,5 @@ interface AddLotOccupancyTransactionForm { externalReceiptNumber: string; transactionNote: string; } -export declare function addLotOccupancyTransaction(lotOccupancyTransactionForm: AddLotOccupancyTransactionForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addLotOccupancyTransaction(lotOccupancyTransactionForm: AddLotOccupancyTransactionForm, user: User): Promise; export default addLotOccupancyTransaction; diff --git a/helpers/lotOccupancyDB/addLotOccupancyTransaction.js b/helpers/lotOccupancyDB/addLotOccupancyTransaction.js index cd92d95e..2200d2d6 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyTransaction.js +++ b/helpers/lotOccupancyDB/addLotOccupancyTransaction.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from '@cityssm/utils-datetime'; -export async function addLotOccupancyTransaction(lotOccupancyTransactionForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function addLotOccupancyTransaction(lotOccupancyTransactionForm, user) { const database = await acquireConnection(); let transactionIndex = 0; const maxIndexResult = database @@ -28,7 +28,7 @@ export async function addLotOccupancyTransaction(lotOccupancyTransactionForm, re 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()); + .run(lotOccupancyTransactionForm.lotOccupancyId, transactionIndex, transactionDate, transactionTime, lotOccupancyTransactionForm.transactionAmount, lotOccupancyTransactionForm.externalReceiptNumber, lotOccupancyTransactionForm.transactionNote, user.userName, rightNow.getTime(), user.userName, rightNow.getTime()); database.release(); return transactionIndex; } diff --git a/helpers/lotOccupancyDB/addLotOccupancyTransaction.ts b/helpers/lotOccupancyDB/addLotOccupancyTransaction.ts index afea9328..b5bb8716 100644 --- a/helpers/lotOccupancyDB/addLotOccupancyTransaction.ts +++ b/helpers/lotOccupancyDB/addLotOccupancyTransaction.ts @@ -1,5 +1,3 @@ -import { acquireConnection } from './pool.js' - import { dateStringToInteger, dateToInteger, @@ -7,7 +5,7 @@ import { timeStringToInteger } from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface AddLotOccupancyTransactionForm { lotOccupancyId: string | number @@ -20,7 +18,7 @@ interface AddLotOccupancyTransactionForm { export async function addLotOccupancyTransaction( lotOccupancyTransactionForm: AddLotOccupancyTransactionForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -70,9 +68,9 @@ export async function addLotOccupancyTransaction( lotOccupancyTransactionForm.transactionAmount, lotOccupancyTransactionForm.externalReceiptNumber, lotOccupancyTransactionForm.transactionNote, - requestSession.user!.userName, + user.userName, rightNow.getTime(), - requestSession.user!.userName, + user.userName, rightNow.getTime() ) diff --git a/helpers/lotOccupancyDB/addLotOccupantType.d.ts b/helpers/lotOccupancyDB/addLotOccupantType.d.ts index 1c66a93d..3909247d 100644 --- a/helpers/lotOccupancyDB/addLotOccupantType.d.ts +++ b/helpers/lotOccupancyDB/addLotOccupantType.d.ts @@ -1,9 +1,8 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddLotOccupantTypeForm { lotOccupantType: string; fontAwesomeIconClass?: string; occupantCommentTitle?: string; orderNumber?: number; } -export declare function addLotOccupantType(lotOccupantTypeForm: AddLotOccupantTypeForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addLotOccupantType(lotOccupantTypeForm: AddLotOccupantTypeForm, user: User): Promise; export default addLotOccupantType; diff --git a/helpers/lotOccupancyDB/addLotOccupantType.js b/helpers/lotOccupancyDB/addLotOccupantType.js index 3b3449f8..1f629ce4 100644 --- a/helpers/lotOccupancyDB/addLotOccupantType.js +++ b/helpers/lotOccupancyDB/addLotOccupantType.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export async function addLotOccupantType(lotOccupantTypeForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function addLotOccupantType(lotOccupantTypeForm, user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database @@ -9,7 +9,7 @@ export async function addLotOccupantType(lotOccupantTypeForm, requestSession) { recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?, ?, ?)`) - .run(lotOccupantTypeForm.lotOccupantType, lotOccupantTypeForm.fontAwesomeIconClass ?? '', lotOccupantTypeForm.occupantCommentTitle ?? '', lotOccupantTypeForm.orderNumber ?? -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); + .run(lotOccupantTypeForm.lotOccupantType, lotOccupantTypeForm.fontAwesomeIconClass ?? '', lotOccupantTypeForm.occupantCommentTitle ?? '', lotOccupantTypeForm.orderNumber ?? -1, user.userName, rightNowMillis, user.userName, rightNowMillis); database.release(); clearCacheByTableName('LotOccupantTypes'); return result.lastInsertRowid; diff --git a/helpers/lotOccupancyDB/addLotOccupantType.ts b/helpers/lotOccupancyDB/addLotOccupantType.ts index d208a82d..ad7fede7 100644 --- a/helpers/lotOccupancyDB/addLotOccupantType.ts +++ b/helpers/lotOccupancyDB/addLotOccupantType.ts @@ -1,8 +1,7 @@ -import { acquireConnection } from './pool.js' - -import type * as recordTypes from '../../types/recordTypes' import { clearCacheByTableName } from '../functions.cache.js' +import { acquireConnection } from './pool.js' + interface AddLotOccupantTypeForm { lotOccupantType: string fontAwesomeIconClass?: string @@ -12,7 +11,7 @@ interface AddLotOccupantTypeForm { export async function addLotOccupantType( lotOccupantTypeForm: AddLotOccupantTypeForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -31,9 +30,9 @@ export async function addLotOccupantType( lotOccupantTypeForm.fontAwesomeIconClass ?? '', lotOccupantTypeForm.occupantCommentTitle ?? '', lotOccupantTypeForm.orderNumber ?? -1, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) diff --git a/helpers/lotOccupancyDB/addLotTypeField.d.ts b/helpers/lotOccupancyDB/addLotTypeField.d.ts index 4117bc5c..2a0b2821 100644 --- a/helpers/lotOccupancyDB/addLotTypeField.d.ts +++ b/helpers/lotOccupancyDB/addLotTypeField.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddLotTypeFieldForm { lotTypeId: string | number; lotTypeField: string; @@ -9,5 +8,5 @@ interface AddLotTypeFieldForm { maximumLength: string | number; orderNumber?: number; } -export declare function addLotTypeField(lotTypeFieldForm: AddLotTypeFieldForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addLotTypeField(lotTypeFieldForm: AddLotTypeFieldForm, user: User): Promise; export default addLotTypeField; diff --git a/helpers/lotOccupancyDB/addLotTypeField.js b/helpers/lotOccupancyDB/addLotTypeField.js index 13be4172..7a4cc3a8 100644 --- a/helpers/lotOccupancyDB/addLotTypeField.js +++ b/helpers/lotOccupancyDB/addLotTypeField.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export async function addLotTypeField(lotTypeFieldForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function addLotTypeField(lotTypeFieldForm, user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database @@ -12,7 +12,7 @@ export async function addLotTypeField(lotTypeFieldForm, requestSession) { 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); + .run(lotTypeFieldForm.lotTypeId, lotTypeFieldForm.lotTypeField, lotTypeFieldForm.lotTypeFieldValues ?? '', lotTypeFieldForm.isRequired === '' ? 0 : 1, lotTypeFieldForm.pattern ?? '', lotTypeFieldForm.minimumLength ?? 0, lotTypeFieldForm.maximumLength ?? 100, lotTypeFieldForm.orderNumber ?? -1, user.userName, rightNowMillis, user.userName, rightNowMillis); database.release(); clearCacheByTableName('LotTypeFields'); return result.lastInsertRowid; diff --git a/helpers/lotOccupancyDB/addLotTypeField.ts b/helpers/lotOccupancyDB/addLotTypeField.ts index dd50b07b..41164bc6 100644 --- a/helpers/lotOccupancyDB/addLotTypeField.ts +++ b/helpers/lotOccupancyDB/addLotTypeField.ts @@ -1,8 +1,6 @@ -import { acquireConnection } from './pool.js' - import { clearCacheByTableName } from '../functions.cache.js' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface AddLotTypeFieldForm { lotTypeId: string | number @@ -17,7 +15,7 @@ interface AddLotTypeFieldForm { export async function addLotTypeField( lotTypeFieldForm: AddLotTypeFieldForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -43,9 +41,9 @@ export async function addLotTypeField( lotTypeFieldForm.minimumLength ?? 0, lotTypeFieldForm.maximumLength ?? 100, lotTypeFieldForm.orderNumber ?? -1, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) diff --git a/helpers/lotOccupancyDB/addMap.d.ts b/helpers/lotOccupancyDB/addMap.d.ts index 29820afb..d2b9bfe1 100644 --- a/helpers/lotOccupancyDB/addMap.d.ts +++ b/helpers/lotOccupancyDB/addMap.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddMapForm { mapName: string; mapDescription: string; @@ -12,5 +11,5 @@ interface AddMapForm { mapPostalCode: string; mapPhoneNumber: string; } -export declare function addMap(mapForm: AddMapForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addMap(mapForm: AddMapForm, user: User): Promise; export default addMap; diff --git a/helpers/lotOccupancyDB/addMap.js b/helpers/lotOccupancyDB/addMap.js index 221ddbdb..0dc890df 100644 --- a/helpers/lotOccupancyDB/addMap.js +++ b/helpers/lotOccupancyDB/addMap.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function addMap(mapForm, requestSession) { +export async function addMap(mapForm, user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database @@ -12,7 +12,7 @@ export async function addMap(mapForm, requestSession) { recordCreate_userName, recordCreate_timeMillis, 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); + .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, user.userName, rightNowMillis, user.userName, rightNowMillis); database.release(); return result.lastInsertRowid; } diff --git a/helpers/lotOccupancyDB/addMap.ts b/helpers/lotOccupancyDB/addMap.ts index 4a1c72c0..3cc57340 100644 --- a/helpers/lotOccupancyDB/addMap.ts +++ b/helpers/lotOccupancyDB/addMap.ts @@ -1,7 +1,5 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - interface AddMapForm { mapName: string mapDescription: string @@ -16,10 +14,7 @@ interface AddMapForm { mapPhoneNumber: string } -export async function addMap( - mapForm: AddMapForm, - requestSession: recordTypes.PartialSession -): Promise { +export async function addMap(mapForm: AddMapForm, user: User): Promise { const database = await acquireConnection() const rightNowMillis = Date.now() @@ -48,9 +43,9 @@ export async function addMap( mapForm.mapProvince, mapForm.mapPostalCode, mapForm.mapPhoneNumber, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) diff --git a/helpers/lotOccupancyDB/addOccupancyTypeField.d.ts b/helpers/lotOccupancyDB/addOccupancyTypeField.d.ts index 1803ee65..6bd23e1e 100644 --- a/helpers/lotOccupancyDB/addOccupancyTypeField.d.ts +++ b/helpers/lotOccupancyDB/addOccupancyTypeField.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddOccupancyTypeFieldForm { occupancyTypeId?: string | number; occupancyTypeField: string; @@ -9,5 +8,5 @@ interface AddOccupancyTypeFieldForm { maximumLength: string | number; orderNumber?: number; } -export declare function addOccupancyTypeField(occupancyTypeFieldForm: AddOccupancyTypeFieldForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addOccupancyTypeField(occupancyTypeFieldForm: AddOccupancyTypeFieldForm, user: User): Promise; export default addOccupancyTypeField; diff --git a/helpers/lotOccupancyDB/addOccupancyTypeField.js b/helpers/lotOccupancyDB/addOccupancyTypeField.js index ce4bf250..3375a136 100644 --- a/helpers/lotOccupancyDB/addOccupancyTypeField.js +++ b/helpers/lotOccupancyDB/addOccupancyTypeField.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export async function addOccupancyTypeField(occupancyTypeFieldForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function addOccupancyTypeField(occupancyTypeFieldForm, user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database @@ -12,7 +12,7 @@ export async function addOccupancyTypeField(occupancyTypeFieldForm, requestSessi 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); + .run(occupancyTypeFieldForm.occupancyTypeId ?? undefined, occupancyTypeFieldForm.occupancyTypeField, occupancyTypeFieldForm.occupancyTypeFieldValues ?? '', occupancyTypeFieldForm.isRequired === '' ? 0 : 1, occupancyTypeFieldForm.pattern ?? '', occupancyTypeFieldForm.minimumLength ?? 0, occupancyTypeFieldForm.maximumLength ?? 100, occupancyTypeFieldForm.orderNumber ?? -1, user.userName, rightNowMillis, user.userName, rightNowMillis); database.release(); clearCacheByTableName('OccupancyTypeFields'); return result.lastInsertRowid; diff --git a/helpers/lotOccupancyDB/addOccupancyTypeField.ts b/helpers/lotOccupancyDB/addOccupancyTypeField.ts index 10d899f6..0ef36bd2 100644 --- a/helpers/lotOccupancyDB/addOccupancyTypeField.ts +++ b/helpers/lotOccupancyDB/addOccupancyTypeField.ts @@ -1,8 +1,7 @@ -import { acquireConnection } from './pool.js' - -import type * as recordTypes from '../../types/recordTypes' import { clearCacheByTableName } from '../functions.cache.js' +import { acquireConnection } from './pool.js' + interface AddOccupancyTypeFieldForm { occupancyTypeId?: string | number occupancyTypeField: string @@ -16,7 +15,7 @@ interface AddOccupancyTypeFieldForm { export async function addOccupancyTypeField( occupancyTypeFieldForm: AddOccupancyTypeFieldForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -42,9 +41,9 @@ export async function addOccupancyTypeField( occupancyTypeFieldForm.minimumLength ?? 0, occupancyTypeFieldForm.maximumLength ?? 100, occupancyTypeFieldForm.orderNumber ?? -1, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) diff --git a/helpers/lotOccupancyDB/addOccupancyTypePrint.d.ts b/helpers/lotOccupancyDB/addOccupancyTypePrint.d.ts index 801257ab..80728f9c 100644 --- a/helpers/lotOccupancyDB/addOccupancyTypePrint.d.ts +++ b/helpers/lotOccupancyDB/addOccupancyTypePrint.d.ts @@ -1,8 +1,7 @@ -import type * as recordTypes from '../../types/recordTypes'; interface OccupancyTypePrintForm { occupancyTypeId: string | number; printEJS: string; orderNumber?: number; } -export declare function addOccupancyTypePrint(occupancyTypePrintForm: OccupancyTypePrintForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addOccupancyTypePrint(occupancyTypePrintForm: OccupancyTypePrintForm, user: User): Promise; export default addOccupancyTypePrint; diff --git a/helpers/lotOccupancyDB/addOccupancyTypePrint.js b/helpers/lotOccupancyDB/addOccupancyTypePrint.js index 5cac1c93..3e33279d 100644 --- a/helpers/lotOccupancyDB/addOccupancyTypePrint.js +++ b/helpers/lotOccupancyDB/addOccupancyTypePrint.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export async function addOccupancyTypePrint(occupancyTypePrintForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function addOccupancyTypePrint(occupancyTypePrintForm, user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); let result = database @@ -11,7 +11,7 @@ export async function addOccupancyTypePrint(occupancyTypePrintForm, requestSessi recordDelete_timeMillis = null where occupancyTypeId = ? and printEJS = ?`) - .run(requestSession.user.userName, rightNowMillis, occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS); + .run(user.userName, rightNowMillis, occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS); if (result.changes === 0) { result = database .prepare(`insert into OccupancyTypePrints ( @@ -19,7 +19,7 @@ export async function addOccupancyTypePrint(occupancyTypePrintForm, requestSessi 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); + .run(occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS, occupancyTypePrintForm.orderNumber ?? -1, user.userName, rightNowMillis, user.userName, rightNowMillis); } database.release(); clearCacheByTableName('OccupancyTypePrints'); diff --git a/helpers/lotOccupancyDB/addOccupancyTypePrint.ts b/helpers/lotOccupancyDB/addOccupancyTypePrint.ts index ca6c0b9c..26c990c0 100644 --- a/helpers/lotOccupancyDB/addOccupancyTypePrint.ts +++ b/helpers/lotOccupancyDB/addOccupancyTypePrint.ts @@ -1,8 +1,6 @@ -import { acquireConnection } from './pool.js' - import { clearCacheByTableName } from '../functions.cache.js' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface OccupancyTypePrintForm { occupancyTypeId: string | number @@ -12,7 +10,7 @@ interface OccupancyTypePrintForm { export async function addOccupancyTypePrint( occupancyTypePrintForm: OccupancyTypePrintForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -29,7 +27,7 @@ export async function addOccupancyTypePrint( and printEJS = ?` ) .run( - requestSession.user!.userName, + user.userName, rightNowMillis, occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS @@ -48,9 +46,9 @@ export async function addOccupancyTypePrint( occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS, occupancyTypePrintForm.orderNumber ?? -1, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) } diff --git a/helpers/lotOccupancyDB/addOrUpdateLotField.d.ts b/helpers/lotOccupancyDB/addOrUpdateLotField.d.ts index 2e9b69d0..f209eaf5 100644 --- a/helpers/lotOccupancyDB/addOrUpdateLotField.d.ts +++ b/helpers/lotOccupancyDB/addOrUpdateLotField.d.ts @@ -1,9 +1,8 @@ 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?: PoolConnection): Promise; +export declare function addOrUpdateLotField(lotFieldForm: LotFieldForm, user: User, connectedDatabase?: PoolConnection): Promise; export default addOrUpdateLotField; diff --git a/helpers/lotOccupancyDB/addOrUpdateLotField.js b/helpers/lotOccupancyDB/addOrUpdateLotField.js index e296924c..af4421c3 100644 --- a/helpers/lotOccupancyDB/addOrUpdateLotField.js +++ b/helpers/lotOccupancyDB/addOrUpdateLotField.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function addOrUpdateLotField(lotFieldForm, requestSession, connectedDatabase) { +export async function addOrUpdateLotField(lotFieldForm, user, connectedDatabase) { const database = connectedDatabase ?? (await acquireConnection()); const rightNowMillis = Date.now(); let result = database @@ -11,7 +11,7 @@ export async function addOrUpdateLotField(lotFieldForm, requestSession, connecte recordDelete_timeMillis = null where lotId = ? and lotTypeFieldId = ?`) - .run(lotFieldForm.lotFieldValue, requestSession.user.userName, rightNowMillis, lotFieldForm.lotId, lotFieldForm.lotTypeFieldId); + .run(lotFieldForm.lotFieldValue, user.userName, rightNowMillis, lotFieldForm.lotId, lotFieldForm.lotTypeFieldId); if (result.changes === 0) { result = database .prepare(`insert into LotFields ( @@ -19,7 +19,7 @@ export async function addOrUpdateLotField(lotFieldForm, requestSession, connecte recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?, ?)`) - .run(lotFieldForm.lotId, lotFieldForm.lotTypeFieldId, lotFieldForm.lotFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); + .run(lotFieldForm.lotId, lotFieldForm.lotTypeFieldId, lotFieldForm.lotFieldValue, user.userName, rightNowMillis, user.userName, rightNowMillis); } if (connectedDatabase === undefined) { database.release(); diff --git a/helpers/lotOccupancyDB/addOrUpdateLotField.ts b/helpers/lotOccupancyDB/addOrUpdateLotField.ts index 055f2125..3ff77bfc 100644 --- a/helpers/lotOccupancyDB/addOrUpdateLotField.ts +++ b/helpers/lotOccupancyDB/addOrUpdateLotField.ts @@ -1,7 +1,6 @@ -import { acquireConnection } from './pool.js' import type { PoolConnection } from 'better-sqlite-pool' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface LotFieldForm { lotId: string | number @@ -11,7 +10,7 @@ interface LotFieldForm { export async function addOrUpdateLotField( lotFieldForm: LotFieldForm, - requestSession: recordTypes.PartialSession, + user: User, connectedDatabase?: PoolConnection ): Promise { const database = connectedDatabase ?? (await acquireConnection()) @@ -31,7 +30,7 @@ export async function addOrUpdateLotField( ) .run( lotFieldForm.lotFieldValue, - requestSession.user!.userName, + user.userName, rightNowMillis, lotFieldForm.lotId, lotFieldForm.lotTypeFieldId @@ -50,9 +49,9 @@ export async function addOrUpdateLotField( lotFieldForm.lotId, lotFieldForm.lotTypeFieldId, lotFieldForm.lotFieldValue, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) } diff --git a/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.d.ts b/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.d.ts index 958a4124..0a01be7c 100644 --- a/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.d.ts +++ b/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.d.ts @@ -1,9 +1,8 @@ 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?: PoolConnection): Promise; +export declare function addOrUpdateLotOccupancyField(lotOccupancyFieldForm: LotOccupancyFieldForm, user: User, connectedDatabase?: PoolConnection): Promise; export default addOrUpdateLotOccupancyField; diff --git a/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.js b/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.js index 086fbefe..9fa29533 100644 --- a/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.js +++ b/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function addOrUpdateLotOccupancyField(lotOccupancyFieldForm, requestSession, connectedDatabase) { +export async function addOrUpdateLotOccupancyField(lotOccupancyFieldForm, user, connectedDatabase) { const database = connectedDatabase ?? (await acquireConnection()); const rightNowMillis = Date.now(); let result = database @@ -11,7 +11,7 @@ export async function addOrUpdateLotOccupancyField(lotOccupancyFieldForm, reques recordDelete_timeMillis = null where lotOccupancyId = ? and occupancyTypeFieldId = ?`) - .run(lotOccupancyFieldForm.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId); + .run(lotOccupancyFieldForm.lotOccupancyFieldValue, user.userName, rightNowMillis, lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId); if (result.changes === 0) { result = database .prepare(`insert into LotOccupancyFields ( @@ -19,7 +19,7 @@ export async function addOrUpdateLotOccupancyField(lotOccupancyFieldForm, reques recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?, ?)`) - .run(lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId, lotOccupancyFieldForm.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); + .run(lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId, lotOccupancyFieldForm.lotOccupancyFieldValue, user.userName, rightNowMillis, user.userName, rightNowMillis); } if (connectedDatabase === undefined) { database.release(); diff --git a/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.ts b/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.ts index b2866b98..dd0578fe 100644 --- a/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.ts +++ b/helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.ts @@ -1,7 +1,6 @@ -import { acquireConnection } from './pool.js' import type { PoolConnection } from 'better-sqlite-pool' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface LotOccupancyFieldForm { lotOccupancyId: string | number @@ -11,7 +10,7 @@ interface LotOccupancyFieldForm { export async function addOrUpdateLotOccupancyField( lotOccupancyFieldForm: LotOccupancyFieldForm, - requestSession: recordTypes.PartialSession, + user: User, connectedDatabase?: PoolConnection ): Promise { const database = connectedDatabase ?? (await acquireConnection()) @@ -31,7 +30,7 @@ export async function addOrUpdateLotOccupancyField( ) .run( lotOccupancyFieldForm.lotOccupancyFieldValue, - requestSession.user!.userName, + user.userName, rightNowMillis, lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId @@ -50,9 +49,9 @@ export async function addOrUpdateLotOccupancyField( lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId, lotOccupancyFieldForm.lotOccupancyFieldValue, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) } diff --git a/helpers/lotOccupancyDB/addRecord.d.ts b/helpers/lotOccupancyDB/addRecord.d.ts index a814ac32..67bfea2d 100644 --- a/helpers/lotOccupancyDB/addRecord.d.ts +++ b/helpers/lotOccupancyDB/addRecord.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; type RecordTable = 'FeeCategories' | 'LotStatuses' | 'LotTypes' | 'OccupancyTypes' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes'; -export declare function addRecord(recordTable: RecordTable, recordName: string, orderNumber: number | string, requestSession: recordTypes.PartialSession): Promise; +export declare function addRecord(recordTable: RecordTable, recordName: string, orderNumber: number | string, user: User): Promise; export {}; diff --git a/helpers/lotOccupancyDB/addRecord.js b/helpers/lotOccupancyDB/addRecord.js index 9fb2cfc0..e4b58064 100644 --- a/helpers/lotOccupancyDB/addRecord.js +++ b/helpers/lotOccupancyDB/addRecord.js @@ -1,5 +1,5 @@ -import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; +import { acquireConnection } from './pool.js'; const recordNameColumns = new Map(); recordNameColumns.set('FeeCategories', 'feeCategory'); recordNameColumns.set('LotStatuses', 'lotStatus'); @@ -7,7 +7,7 @@ recordNameColumns.set('LotTypes', 'lotType'); recordNameColumns.set('OccupancyTypes', 'occupancyType'); recordNameColumns.set('WorkOrderMilestoneTypes', 'workOrderMilestoneType'); recordNameColumns.set('WorkOrderTypes', 'workOrderType'); -export async function addRecord(recordTable, recordName, orderNumber, requestSession) { +export async function addRecord(recordTable, recordName, orderNumber, user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database @@ -17,7 +17,7 @@ export async function addRecord(recordTable, recordName, orderNumber, requestSes recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?)`) - .run(recordName, orderNumber === '' ? -1 : orderNumber, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); + .run(recordName, orderNumber === '' ? -1 : orderNumber, user.userName, rightNowMillis, user.userName, rightNowMillis); database.release(); clearCacheByTableName(recordTable); return result.lastInsertRowid; diff --git a/helpers/lotOccupancyDB/addRecord.ts b/helpers/lotOccupancyDB/addRecord.ts index 35a4993c..ffda80c8 100644 --- a/helpers/lotOccupancyDB/addRecord.ts +++ b/helpers/lotOccupancyDB/addRecord.ts @@ -1,8 +1,7 @@ -import { acquireConnection } from './pool.js' - -import type * as recordTypes from '../../types/recordTypes' import { clearCacheByTableName } from '../functions.cache.js' +import { acquireConnection } from './pool.js' + type RecordTable = | 'FeeCategories' | 'LotStatuses' @@ -11,7 +10,7 @@ type RecordTable = | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes' -const recordNameColumns: Map = new Map() +const recordNameColumns = new Map() recordNameColumns.set('FeeCategories', 'feeCategory') recordNameColumns.set('LotStatuses', 'lotStatus') recordNameColumns.set('LotTypes', 'lotType') @@ -23,7 +22,7 @@ export async function addRecord( recordTable: RecordTable, recordName: string, orderNumber: number | string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -32,7 +31,7 @@ export async function addRecord( const result = database .prepare( `insert into ${recordTable} ( - ${recordNameColumns.get(recordTable)!}, + ${recordNameColumns.get(recordTable)}, orderNumber, recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) @@ -41,9 +40,9 @@ export async function addRecord( .run( recordName, orderNumber === '' ? -1 : orderNumber, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) diff --git a/helpers/lotOccupancyDB/addWorkOrder.d.ts b/helpers/lotOccupancyDB/addWorkOrder.d.ts index a0f5e5e5..6d6a5fdb 100644 --- a/helpers/lotOccupancyDB/addWorkOrder.d.ts +++ b/helpers/lotOccupancyDB/addWorkOrder.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddWorkOrderForm { workOrderTypeId: number | string; workOrderNumber?: string; @@ -7,5 +6,5 @@ interface AddWorkOrderForm { workOrderCloseDateString?: string; lotOccupancyId?: string; } -export declare function addWorkOrder(workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addWorkOrder(workOrderForm: AddWorkOrderForm, user: User): Promise; export default addWorkOrder; diff --git a/helpers/lotOccupancyDB/addWorkOrder.js b/helpers/lotOccupancyDB/addWorkOrder.js index f445e8e7..92c74f91 100644 --- a/helpers/lotOccupancyDB/addWorkOrder.js +++ b/helpers/lotOccupancyDB/addWorkOrder.js @@ -1,8 +1,8 @@ -import { acquireConnection } from './pool.js'; -import { getNextWorkOrderNumber } from './getNextWorkOrderNumber.js'; -import { addWorkOrderLotOccupancy } from './addWorkOrderLotOccupancy.js'; import { dateStringToInteger, dateToInteger } from '@cityssm/utils-datetime'; -export async function addWorkOrder(workOrderForm, requestSession) { +import { addWorkOrderLotOccupancy } from './addWorkOrderLotOccupancy.js'; +import { getNextWorkOrderNumber } from './getNextWorkOrderNumber.js'; +import { acquireConnection } from './pool.js'; +export async function addWorkOrder(workOrderForm, user) { const database = await acquireConnection(); const rightNow = new Date(); let workOrderNumber = workOrderForm.workOrderNumber; @@ -20,13 +20,13 @@ export async function addWorkOrder(workOrderForm, requestSession) { ? dateToInteger(rightNow) : dateStringToInteger(workOrderForm.workOrderOpenDateString), (workOrderForm.workOrderCloseDateString ?? '') === '' ? undefined - : dateStringToInteger(workOrderForm.workOrderCloseDateString), requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime()); + : dateStringToInteger(workOrderForm.workOrderCloseDateString), user.userName, rightNow.getTime(), user.userName, rightNow.getTime()); const workOrderId = result.lastInsertRowid; if ((workOrderForm.lotOccupancyId ?? '') !== '') { await addWorkOrderLotOccupancy({ workOrderId, lotOccupancyId: workOrderForm.lotOccupancyId - }, requestSession, database); + }, user, database); } database.release(); return workOrderId; diff --git a/helpers/lotOccupancyDB/addWorkOrder.ts b/helpers/lotOccupancyDB/addWorkOrder.ts index 7b61ca64..0f6eb4b7 100644 --- a/helpers/lotOccupancyDB/addWorkOrder.ts +++ b/helpers/lotOccupancyDB/addWorkOrder.ts @@ -1,14 +1,11 @@ -import { acquireConnection } from './pool.js' - -import { getNextWorkOrderNumber } from './getNextWorkOrderNumber.js' -import { addWorkOrderLotOccupancy } from './addWorkOrderLotOccupancy.js' - import { dateStringToInteger, dateToInteger } from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { addWorkOrderLotOccupancy } from './addWorkOrderLotOccupancy.js' +import { getNextWorkOrderNumber } from './getNextWorkOrderNumber.js' +import { acquireConnection } from './pool.js' interface AddWorkOrderForm { workOrderTypeId: number | string @@ -21,7 +18,7 @@ interface AddWorkOrderForm { export async function addWorkOrder( workOrderForm: AddWorkOrderForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -52,9 +49,9 @@ export async function addWorkOrder( (workOrderForm.workOrderCloseDateString ?? '') === '' ? undefined : dateStringToInteger(workOrderForm.workOrderCloseDateString!), - requestSession.user!.userName, + user.userName, rightNow.getTime(), - requestSession.user!.userName, + user.userName, rightNow.getTime() ) @@ -66,7 +63,7 @@ export async function addWorkOrder( workOrderId, lotOccupancyId: workOrderForm.lotOccupancyId! }, - requestSession, + user, database ) } diff --git a/helpers/lotOccupancyDB/addWorkOrderComment.d.ts b/helpers/lotOccupancyDB/addWorkOrderComment.d.ts index 844b5691..3af877c8 100644 --- a/helpers/lotOccupancyDB/addWorkOrderComment.d.ts +++ b/helpers/lotOccupancyDB/addWorkOrderComment.d.ts @@ -1,7 +1,6 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddWorkOrderCommentForm { workOrderId: string; workOrderComment: string; } -export declare function addWorkOrderComment(workOrderCommentForm: AddWorkOrderCommentForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addWorkOrderComment(workOrderCommentForm: AddWorkOrderCommentForm, user: User): Promise; export default addWorkOrderComment; diff --git a/helpers/lotOccupancyDB/addWorkOrderComment.js b/helpers/lotOccupancyDB/addWorkOrderComment.js index 80b9a636..3a849c81 100644 --- a/helpers/lotOccupancyDB/addWorkOrderComment.js +++ b/helpers/lotOccupancyDB/addWorkOrderComment.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import * as dateTimeFunctions from '@cityssm/utils-datetime'; -export async function addWorkOrderComment(workOrderCommentForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function addWorkOrderComment(workOrderCommentForm, user) { const database = await acquireConnection(); const rightNow = new Date(); const result = database @@ -11,7 +11,7 @@ export async function addWorkOrderComment(workOrderCommentForm, requestSession) recordCreate_userName, recordCreate_timeMillis, 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()); + .run(workOrderCommentForm.workOrderId, dateTimeFunctions.dateToInteger(rightNow), dateTimeFunctions.dateToTimeInteger(rightNow), workOrderCommentForm.workOrderComment, user.userName, rightNow.getTime(), user.userName, rightNow.getTime()); database.release(); return result.lastInsertRowid; } diff --git a/helpers/lotOccupancyDB/addWorkOrderComment.ts b/helpers/lotOccupancyDB/addWorkOrderComment.ts index 0a8fa0c2..bd8e8d3e 100644 --- a/helpers/lotOccupancyDB/addWorkOrderComment.ts +++ b/helpers/lotOccupancyDB/addWorkOrderComment.ts @@ -1,8 +1,6 @@ -import { acquireConnection } from './pool.js' - import * as dateTimeFunctions from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface AddWorkOrderCommentForm { workOrderId: string @@ -11,7 +9,7 @@ interface AddWorkOrderCommentForm { export async function addWorkOrderComment( workOrderCommentForm: AddWorkOrderCommentForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -32,9 +30,9 @@ export async function addWorkOrderComment( dateTimeFunctions.dateToInteger(rightNow), dateTimeFunctions.dateToTimeInteger(rightNow), workOrderCommentForm.workOrderComment, - requestSession.user!.userName, + user.userName, rightNow.getTime(), - requestSession.user!.userName, + user.userName, rightNow.getTime() ) diff --git a/helpers/lotOccupancyDB/addWorkOrderLot.d.ts b/helpers/lotOccupancyDB/addWorkOrderLot.d.ts index 8fc89c60..1e30c31f 100644 --- a/helpers/lotOccupancyDB/addWorkOrderLot.d.ts +++ b/helpers/lotOccupancyDB/addWorkOrderLot.d.ts @@ -1,7 +1,6 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddWorkOrderLotForm { workOrderId: number | string; lotId: number | string; } -export declare function addWorkOrderLot(workOrderLotForm: AddWorkOrderLotForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addWorkOrderLot(workOrderLotForm: AddWorkOrderLotForm, user: User): Promise; export default addWorkOrderLot; diff --git a/helpers/lotOccupancyDB/addWorkOrderLot.js b/helpers/lotOccupancyDB/addWorkOrderLot.js index fd3a4dac..d769d7f1 100644 --- a/helpers/lotOccupancyDB/addWorkOrderLot.js +++ b/helpers/lotOccupancyDB/addWorkOrderLot.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function addWorkOrderLot(workOrderLotForm, requestSession) { +export async function addWorkOrderLot(workOrderLotForm, user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); const row = database @@ -15,7 +15,7 @@ export async function addWorkOrderLot(workOrderLotForm, requestSession) { recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?)`) - .run(workOrderLotForm.workOrderId, workOrderLotForm.lotId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); + .run(workOrderLotForm.workOrderId, workOrderLotForm.lotId, user.userName, rightNowMillis, user.userName, rightNowMillis); } else { if (row.recordDelete_timeMillis) { @@ -29,7 +29,7 @@ export async function addWorkOrderLot(workOrderLotForm, requestSession) { recordDelete_timeMillis = null where workOrderId = ? and lotId = ?`) - .run(requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis, workOrderLotForm.workOrderId, workOrderLotForm.lotId); + .run(user.userName, rightNowMillis, user.userName, rightNowMillis, workOrderLotForm.workOrderId, workOrderLotForm.lotId); } } database.release(); diff --git a/helpers/lotOccupancyDB/addWorkOrderLot.ts b/helpers/lotOccupancyDB/addWorkOrderLot.ts index 7a1459b9..f3848fc5 100644 --- a/helpers/lotOccupancyDB/addWorkOrderLot.ts +++ b/helpers/lotOccupancyDB/addWorkOrderLot.ts @@ -1,7 +1,5 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - interface AddWorkOrderLotForm { workOrderId: number | string lotId: number | string @@ -9,7 +7,7 @@ interface AddWorkOrderLotForm { export async function addWorkOrderLot( workOrderLotForm: AddWorkOrderLotForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -38,9 +36,9 @@ export async function addWorkOrderLot( .run( workOrderLotForm.workOrderId, workOrderLotForm.lotId, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) } else { @@ -58,9 +56,9 @@ export async function addWorkOrderLot( and lotId = ?` ) .run( - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis, workOrderLotForm.workOrderId, workOrderLotForm.lotId diff --git a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.d.ts b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.d.ts index 46c43528..755f3a41 100644 --- a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.d.ts +++ b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.d.ts @@ -1,8 +1,7 @@ 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?: PoolConnection): Promise; +export declare function addWorkOrderLotOccupancy(workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm, user: User, connectedDatabase?: PoolConnection): Promise; export default addWorkOrderLotOccupancy; diff --git a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js index 952bc190..aaaaef0f 100644 --- a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js +++ b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function addWorkOrderLotOccupancy(workOrderLotOccupancyForm, requestSession, connectedDatabase) { +export async function addWorkOrderLotOccupancy(workOrderLotOccupancyForm, user, connectedDatabase) { const database = connectedDatabase ?? (await acquireConnection()); const rightNowMillis = Date.now(); const row = database @@ -15,10 +15,10 @@ export async function addWorkOrderLotOccupancy(workOrderLotOccupancyForm, reques recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?)`) - .run(workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); + .run(workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId, user.userName, rightNowMillis, user.userName, rightNowMillis); } else { - if (row.recordDelete_timeMillis) { + if (row.recordDelete_timeMillis !== null) { database .prepare(`update WorkOrderLotOccupancies set recordCreate_userName = ?, @@ -29,7 +29,7 @@ export async function addWorkOrderLotOccupancy(workOrderLotOccupancyForm, reques recordDelete_timeMillis = null where workOrderId = ? and lotOccupancyId = ?`) - .run(requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis, workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId); + .run(user.userName, rightNowMillis, user.userName, rightNowMillis, workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId); } } if (connectedDatabase === undefined) { diff --git a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.ts b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.ts index 0e2a91a2..3d728ef1 100644 --- a/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.ts +++ b/helpers/lotOccupancyDB/addWorkOrderLotOccupancy.ts @@ -1,7 +1,6 @@ -import { acquireConnection } from './pool.js' import type { PoolConnection } from 'better-sqlite-pool' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface AddWorkOrderLotOccupancyForm { workOrderId: number | string @@ -10,7 +9,7 @@ interface AddWorkOrderLotOccupancyForm { export async function addWorkOrderLotOccupancy( workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm, - requestSession: recordTypes.PartialSession, + user: User, connectedDatabase?: PoolConnection ): Promise { const database = connectedDatabase ?? (await acquireConnection()) @@ -41,13 +40,13 @@ export async function addWorkOrderLotOccupancy( .run( workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) } else { - if (row.recordDelete_timeMillis) { + if (row.recordDelete_timeMillis !== null) { database .prepare( `update WorkOrderLotOccupancies @@ -61,9 +60,9 @@ export async function addWorkOrderLotOccupancy( and lotOccupancyId = ?` ) .run( - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis, workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId diff --git a/helpers/lotOccupancyDB/addWorkOrderMilestone.d.ts b/helpers/lotOccupancyDB/addWorkOrderMilestone.d.ts index 8c1808df..eb115310 100644 --- a/helpers/lotOccupancyDB/addWorkOrderMilestone.d.ts +++ b/helpers/lotOccupancyDB/addWorkOrderMilestone.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddWorkOrderMilestoneForm { workOrderId: string | number; workOrderMilestoneTypeId: number | string; @@ -8,5 +7,5 @@ interface AddWorkOrderMilestoneForm { workOrderMilestoneCompletionDateString?: string; workOrderMilestoneCompletionTimeString?: string; } -export declare function addWorkOrderMilestone(milestoneForm: AddWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): Promise; +export declare function addWorkOrderMilestone(milestoneForm: AddWorkOrderMilestoneForm, user: User): Promise; export default addWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/addWorkOrderMilestone.js b/helpers/lotOccupancyDB/addWorkOrderMilestone.js index 63d0ed1d..2634ba92 100644 --- a/helpers/lotOccupancyDB/addWorkOrderMilestone.js +++ b/helpers/lotOccupancyDB/addWorkOrderMilestone.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime'; -export async function addWorkOrderMilestone(milestoneForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function addWorkOrderMilestone(milestoneForm, user) { const rightNowMillis = Date.now(); const database = await acquireConnection(); const result = database @@ -22,7 +22,7 @@ export async function addWorkOrderMilestone(milestoneForm, requestSession) { ? undefined : dateStringToInteger(milestoneForm.workOrderMilestoneCompletionDateString), (milestoneForm.workOrderMilestoneCompletionTimeString ?? '') === '' ? undefined - : timeStringToInteger(milestoneForm.workOrderMilestoneCompletionTimeString), requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); + : timeStringToInteger(milestoneForm.workOrderMilestoneCompletionTimeString), user.userName, rightNowMillis, user.userName, rightNowMillis); database.release(); return result.lastInsertRowid; } diff --git a/helpers/lotOccupancyDB/addWorkOrderMilestone.ts b/helpers/lotOccupancyDB/addWorkOrderMilestone.ts index c7208478..908519d2 100644 --- a/helpers/lotOccupancyDB/addWorkOrderMilestone.ts +++ b/helpers/lotOccupancyDB/addWorkOrderMilestone.ts @@ -1,13 +1,12 @@ +// eslint-disable-next-line eslint-comments/disable-enable-pair /* eslint-disable @typescript-eslint/indent */ -import { acquireConnection } from './pool.js' - import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface AddWorkOrderMilestoneForm { workOrderId: string | number @@ -21,7 +20,7 @@ interface AddWorkOrderMilestoneForm { export async function addWorkOrderMilestone( milestoneForm: AddWorkOrderMilestoneForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const rightNowMillis = Date.now() @@ -60,9 +59,9 @@ export async function addWorkOrderMilestone( : timeStringToInteger( milestoneForm.workOrderMilestoneCompletionTimeString! ), - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) diff --git a/helpers/lotOccupancyDB/cleanupDatabase.d.ts b/helpers/lotOccupancyDB/cleanupDatabase.d.ts index b937a415..3061bb32 100644 --- a/helpers/lotOccupancyDB/cleanupDatabase.d.ts +++ b/helpers/lotOccupancyDB/cleanupDatabase.d.ts @@ -1,5 +1,4 @@ -import type * as recordTypes from '../../types/recordTypes'; -export declare function cleanupDatabase(requestSession: recordTypes.PartialSession): Promise<{ +export declare function cleanupDatabase(user: User): Promise<{ inactivatedRecordCount: number; purgedRecordCount: number; }>; diff --git a/helpers/lotOccupancyDB/cleanupDatabase.js b/helpers/lotOccupancyDB/cleanupDatabase.js index 27c9b2bc..9b3b36ce 100644 --- a/helpers/lotOccupancyDB/cleanupDatabase.js +++ b/helpers/lotOccupancyDB/cleanupDatabase.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import * as configFunctions from '../functions.config.js'; -export async function cleanupDatabase(requestSession) { +import { acquireConnection } from './pool.js'; +export async function cleanupDatabase(user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); const recordDeleteTimeMillisMin = rightNowMillis - @@ -16,7 +16,7 @@ export async function cleanupDatabase(requestSession) { where recordDelete_timeMillis is null and workOrderId in ( select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare('delete from WorkOrderComments where recordDelete_timeMillis <= ?') .run(recordDeleteTimeMillisMin).changes; @@ -27,7 +27,7 @@ export async function cleanupDatabase(requestSession) { where recordDelete_timeMillis is null and workOrderId in ( select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare('delete from WorkOrderLotOccupancies where recordDelete_timeMillis <= ?') .run(recordDeleteTimeMillisMin).changes; @@ -38,7 +38,7 @@ export async function cleanupDatabase(requestSession) { where recordDelete_timeMillis is null and workOrderId in ( select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare('delete from WorkOrderLots where recordDelete_timeMillis <= ?') .run(recordDeleteTimeMillisMin).changes; @@ -49,7 +49,7 @@ export async function cleanupDatabase(requestSession) { where recordDelete_timeMillis is null and workOrderId in ( select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare('delete from WorkOrderMilestones where recordDelete_timeMillis <= ?') .run(recordDeleteTimeMillisMin).changes; @@ -79,7 +79,7 @@ export async function cleanupDatabase(requestSession) { where recordDelete_timeMillis is null and lotOccupancyId in ( select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare('delete from LotOccupancyComments where recordDelete_timeMillis <= ?') .run(recordDeleteTimeMillisMin).changes; @@ -89,7 +89,7 @@ export async function cleanupDatabase(requestSession) { recordDelete_timeMillis = ? where recordDelete_timeMillis is null and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare('delete from LotOccupancyFields where recordDelete_timeMillis <= ?') .run(recordDeleteTimeMillisMin).changes; @@ -99,7 +99,7 @@ export async function cleanupDatabase(requestSession) { recordDelete_timeMillis = ? where recordDelete_timeMillis is null and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare('delete from LotOccupancyOccupants where recordDelete_timeMillis <= ?') .run(recordDeleteTimeMillisMin).changes; @@ -125,7 +125,7 @@ export async function cleanupDatabase(requestSession) { recordDelete_timeMillis = ? where recordDelete_timeMillis is null and feeCategoryId in (select feeCategoryId from FeeCategories where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare(`delete from Fees where recordDelete_timeMillis <= ? @@ -142,7 +142,7 @@ export async function cleanupDatabase(requestSession) { recordDelete_timeMillis = ? where recordDelete_timeMillis is null and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare(`delete from OccupancyTypeFields where recordDelete_timeMillis <= ? @@ -154,7 +154,7 @@ export async function cleanupDatabase(requestSession) { recordDelete_timeMillis = ? where recordDelete_timeMillis is null and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare('delete from OccupancyTypePrints where recordDelete_timeMillis <= ?') .run(recordDeleteTimeMillisMin).changes; @@ -177,7 +177,7 @@ export async function cleanupDatabase(requestSession) { recordDelete_timeMillis = ? where recordDelete_timeMillis is null and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare('delete from LotComments where recordDelete_timeMillis <= ?') .run(recordDeleteTimeMillisMin).changes; @@ -187,7 +187,7 @@ export async function cleanupDatabase(requestSession) { recordDelete_timeMillis = ? where recordDelete_timeMillis is null and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare('delete from LotFields where recordDelete_timeMillis <= ?') .run(recordDeleteTimeMillisMin).changes; @@ -197,7 +197,7 @@ export async function cleanupDatabase(requestSession) { recordDelete_timeMillis = ? where recordDelete_timeMillis is null and mapId in (select mapId from Maps where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare(`delete from Lots where recordDelete_timeMillis <= ? @@ -217,7 +217,7 @@ export async function cleanupDatabase(requestSession) { recordDelete_timeMillis = ? where recordDelete_timeMillis is null and lotTypeId in (select lotTypeId from LotTypes where recordDelete_timeMillis is not null)`) - .run(requestSession.user.userName, rightNowMillis).changes; + .run(user.userName, rightNowMillis).changes; purgedRecordCount += database .prepare(`delete from LotTypeFields where recordDelete_timeMillis <= ? diff --git a/helpers/lotOccupancyDB/cleanupDatabase.ts b/helpers/lotOccupancyDB/cleanupDatabase.ts index 8f960160..64b3c292 100644 --- a/helpers/lotOccupancyDB/cleanupDatabase.ts +++ b/helpers/lotOccupancyDB/cleanupDatabase.ts @@ -1,11 +1,9 @@ -import { acquireConnection } from './pool.js' - import * as configFunctions from '../functions.config.js' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' export async function cleanupDatabase( - requestSession: recordTypes.PartialSession + user: User ): Promise<{ inactivatedRecordCount: number; purgedRecordCount: number }> { const database = await acquireConnection() @@ -32,7 +30,7 @@ export async function cleanupDatabase( and workOrderId in ( select workOrderId from WorkOrders where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare('delete from WorkOrderComments where recordDelete_timeMillis <= ?') @@ -51,7 +49,7 @@ export async function cleanupDatabase( and workOrderId in ( select workOrderId from WorkOrders where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare( @@ -72,7 +70,7 @@ export async function cleanupDatabase( and workOrderId in ( select workOrderId from WorkOrders where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare('delete from WorkOrderLots where recordDelete_timeMillis <= ?') @@ -91,7 +89,7 @@ export async function cleanupDatabase( and workOrderId in ( select workOrderId from WorkOrders where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare( @@ -152,7 +150,7 @@ export async function cleanupDatabase( and lotOccupancyId in ( select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare( @@ -172,7 +170,7 @@ export async function cleanupDatabase( where recordDelete_timeMillis is null and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare( @@ -192,7 +190,7 @@ export async function cleanupDatabase( where recordDelete_timeMillis is null and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare( @@ -244,7 +242,7 @@ export async function cleanupDatabase( where recordDelete_timeMillis is null and feeCategoryId in (select feeCategoryId from FeeCategories where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare( @@ -278,7 +276,7 @@ export async function cleanupDatabase( where recordDelete_timeMillis is null and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare( @@ -300,7 +298,7 @@ export async function cleanupDatabase( where recordDelete_timeMillis is null and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare( @@ -347,7 +345,7 @@ export async function cleanupDatabase( where recordDelete_timeMillis is null and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare('delete from LotComments where recordDelete_timeMillis <= ?') @@ -365,7 +363,7 @@ export async function cleanupDatabase( where recordDelete_timeMillis is null and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare('delete from LotFields where recordDelete_timeMillis <= ?') @@ -383,7 +381,7 @@ export async function cleanupDatabase( where recordDelete_timeMillis is null and mapId in (select mapId from Maps where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare( @@ -420,7 +418,7 @@ export async function cleanupDatabase( where recordDelete_timeMillis is null and lotTypeId in (select lotTypeId from LotTypes where recordDelete_timeMillis is not null)` ) - .run(requestSession.user!.userName, rightNowMillis).changes + .run(user.userName, rightNowMillis).changes purgedRecordCount += database .prepare( diff --git a/helpers/lotOccupancyDB/closeWorkOrder.d.ts b/helpers/lotOccupancyDB/closeWorkOrder.d.ts index b7e2158c..7395972d 100644 --- a/helpers/lotOccupancyDB/closeWorkOrder.d.ts +++ b/helpers/lotOccupancyDB/closeWorkOrder.d.ts @@ -1,7 +1,6 @@ -import type * as recordTypes from '../../types/recordTypes'; interface AddWorkOrderForm { workOrderId: number | string; workOrderCloseDateString?: string; } -export declare function closeWorkOrder(workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession): Promise; +export declare function closeWorkOrder(workOrderForm: AddWorkOrderForm, user: User): Promise; export default closeWorkOrder; diff --git a/helpers/lotOccupancyDB/closeWorkOrder.js b/helpers/lotOccupancyDB/closeWorkOrder.js index 77ad4e20..b2f4fa54 100644 --- a/helpers/lotOccupancyDB/closeWorkOrder.js +++ b/helpers/lotOccupancyDB/closeWorkOrder.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { dateStringToInteger, dateToInteger } from '@cityssm/utils-datetime'; -export async function closeWorkOrder(workOrderForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function closeWorkOrder(workOrderForm, user) { const database = await acquireConnection(); const rightNow = new Date(); const result = database @@ -11,7 +11,7 @@ export async function closeWorkOrder(workOrderForm, requestSession) { where workOrderId = ?`) .run(workOrderForm.workOrderCloseDateString ? dateStringToInteger(workOrderForm.workOrderCloseDateString) - : dateToInteger(new Date()), requestSession.user.userName, rightNow.getTime(), workOrderForm.workOrderId); + : dateToInteger(new Date()), user.userName, rightNow.getTime(), workOrderForm.workOrderId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/closeWorkOrder.ts b/helpers/lotOccupancyDB/closeWorkOrder.ts index 546bd490..c83e9179 100644 --- a/helpers/lotOccupancyDB/closeWorkOrder.ts +++ b/helpers/lotOccupancyDB/closeWorkOrder.ts @@ -1,12 +1,7 @@ +import { dateStringToInteger, dateToInteger } from '@cityssm/utils-datetime' + import { acquireConnection } from './pool.js' -import { - dateStringToInteger, - dateToInteger -} from '@cityssm/utils-datetime' - -import type * as recordTypes from '../../types/recordTypes' - interface AddWorkOrderForm { workOrderId: number | string workOrderCloseDateString?: string @@ -14,7 +9,7 @@ interface AddWorkOrderForm { export async function closeWorkOrder( workOrderForm: AddWorkOrderForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -32,7 +27,7 @@ export async function closeWorkOrder( workOrderForm.workOrderCloseDateString ? dateStringToInteger(workOrderForm.workOrderCloseDateString) : dateToInteger(new Date()), - requestSession.user!.userName, + user.userName, rightNow.getTime(), workOrderForm.workOrderId ) diff --git a/helpers/lotOccupancyDB/completeWorkOrderMilestone.d.ts b/helpers/lotOccupancyDB/completeWorkOrderMilestone.d.ts index 01c2b8ac..57cf9fa2 100644 --- a/helpers/lotOccupancyDB/completeWorkOrderMilestone.d.ts +++ b/helpers/lotOccupancyDB/completeWorkOrderMilestone.d.ts @@ -1,8 +1,7 @@ -import type * as recordTypes from '../../types/recordTypes'; interface CompleteWorkOrderMilestoneForm { workOrderMilestoneId: string | number; workOrderMilestoneCompletionDateString?: string; workOrderMilestoneCompletionTimeString?: string; } -export declare function completeWorkOrderMilestone(milestoneForm: CompleteWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): Promise; +export declare function completeWorkOrderMilestone(milestoneForm: CompleteWorkOrderMilestoneForm, user: User): Promise; export default completeWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/completeWorkOrderMilestone.js b/helpers/lotOccupancyDB/completeWorkOrderMilestone.js index 7f4bb091..3f05aef5 100644 --- a/helpers/lotOccupancyDB/completeWorkOrderMilestone.js +++ b/helpers/lotOccupancyDB/completeWorkOrderMilestone.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from '@cityssm/utils-datetime'; -export async function completeWorkOrderMilestone(milestoneForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function completeWorkOrderMilestone(milestoneForm, user) { const rightNow = new Date(); const database = await acquireConnection(); const result = database @@ -14,7 +14,7 @@ export async function completeWorkOrderMilestone(milestoneForm, requestSession) ? dateToInteger(rightNow) : dateStringToInteger(milestoneForm.workOrderMilestoneCompletionDateString), (milestoneForm.workOrderMilestoneCompletionTimeString ?? '') === '' ? dateToTimeInteger(rightNow) - : timeStringToInteger(milestoneForm.workOrderMilestoneCompletionTimeString), requestSession.user.userName, rightNow.getTime(), milestoneForm.workOrderMilestoneId); + : timeStringToInteger(milestoneForm.workOrderMilestoneCompletionTimeString), user.userName, rightNow.getTime(), milestoneForm.workOrderMilestoneId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/completeWorkOrderMilestone.ts b/helpers/lotOccupancyDB/completeWorkOrderMilestone.ts index 325ea1f0..60dd5e4b 100644 --- a/helpers/lotOccupancyDB/completeWorkOrderMilestone.ts +++ b/helpers/lotOccupancyDB/completeWorkOrderMilestone.ts @@ -1,7 +1,6 @@ +// eslint-disable-next-line eslint-comments/disable-enable-pair /* eslint-disable @typescript-eslint/indent */ -import { acquireConnection } from './pool.js' - import { dateStringToInteger, dateToInteger, @@ -9,7 +8,7 @@ import { timeStringToInteger } from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface CompleteWorkOrderMilestoneForm { workOrderMilestoneId: string | number @@ -19,7 +18,7 @@ interface CompleteWorkOrderMilestoneForm { export async function completeWorkOrderMilestone( milestoneForm: CompleteWorkOrderMilestoneForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const rightNow = new Date() @@ -45,7 +44,7 @@ export async function completeWorkOrderMilestone( : timeStringToInteger( milestoneForm.workOrderMilestoneCompletionTimeString! ), - requestSession.user!.userName, + user.userName, rightNow.getTime(), milestoneForm.workOrderMilestoneId ) diff --git a/helpers/lotOccupancyDB/copyLotOccupancy.d.ts b/helpers/lotOccupancyDB/copyLotOccupancy.d.ts index 73907190..2320c3c2 100644 --- a/helpers/lotOccupancyDB/copyLotOccupancy.d.ts +++ b/helpers/lotOccupancyDB/copyLotOccupancy.d.ts @@ -1,3 +1,2 @@ -import type * as recordTypes from '../../types/recordTypes'; -export declare function copyLotOccupancy(oldLotOccupancyId: number | string, requestSession: recordTypes.PartialSession): Promise; +export declare function copyLotOccupancy(oldLotOccupancyId: number | string, user: User): Promise; export default copyLotOccupancy; diff --git a/helpers/lotOccupancyDB/copyLotOccupancy.js b/helpers/lotOccupancyDB/copyLotOccupancy.js index 8b517e78..ce0b30d9 100644 --- a/helpers/lotOccupancyDB/copyLotOccupancy.js +++ b/helpers/lotOccupancyDB/copyLotOccupancy.js @@ -1,9 +1,9 @@ -import { acquireConnection } from './pool.js'; -import { getLotOccupancy } from './getLotOccupancy.js'; +import { dateToString } from '@cityssm/utils-datetime'; import { addLotOccupancy } from './addLotOccupancy.js'; import { addLotOccupancyOccupant } from './addLotOccupancyOccupant.js'; -import { dateToString } from '@cityssm/utils-datetime'; -export async function copyLotOccupancy(oldLotOccupancyId, requestSession) { +import { getLotOccupancy } from './getLotOccupancy.js'; +import { acquireConnection } from './pool.js'; +export async function copyLotOccupancy(oldLotOccupancyId, user) { const database = await acquireConnection(); const oldLotOccupancy = (await getLotOccupancy(oldLotOccupancyId, database)); const newLotOccupancyId = await addLotOccupancy({ @@ -11,7 +11,7 @@ export async function copyLotOccupancy(oldLotOccupancyId, requestSession) { occupancyTypeId: oldLotOccupancy.occupancyTypeId, occupancyStartDateString: dateToString(new Date()), occupancyEndDateString: '' - }, requestSession, database); + }, user, database); const rightNowMillis = Date.now(); for (const occupancyField of oldLotOccupancy.lotOccupancyFields ?? []) { database @@ -20,7 +20,7 @@ export async function copyLotOccupancy(oldLotOccupancyId, requestSession) { recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) values (?, ?, ?, ?, ?, ?, ?)`) - .run(newLotOccupancyId, occupancyField.occupancyTypeFieldId, occupancyField.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); + .run(newLotOccupancyId, occupancyField.occupancyTypeFieldId, occupancyField.lotOccupancyFieldValue, user.userName, rightNowMillis, user.userName, rightNowMillis); } for (const occupant of oldLotOccupancy.lotOccupancyOccupants ?? []) { await addLotOccupancyOccupant({ @@ -35,7 +35,7 @@ export async function copyLotOccupancy(oldLotOccupancyId, requestSession) { occupantPostalCode: occupant.occupantPostalCode, occupantPhoneNumber: occupant.occupantPhoneNumber, occupantEmailAddress: occupant.occupantEmailAddress - }, requestSession, database); + }, user, database); } database.release(); return newLotOccupancyId; diff --git a/helpers/lotOccupancyDB/copyLotOccupancy.ts b/helpers/lotOccupancyDB/copyLotOccupancy.ts index ac1cfe5e..cf01c304 100644 --- a/helpers/lotOccupancyDB/copyLotOccupancy.ts +++ b/helpers/lotOccupancyDB/copyLotOccupancy.ts @@ -1,16 +1,13 @@ -import { acquireConnection } from './pool.js' - -import { getLotOccupancy } from './getLotOccupancy.js' -import { addLotOccupancy } from './addLotOccupancy.js' -import { addLotOccupancyOccupant } from './addLotOccupancyOccupant.js' - import { dateToString } from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { addLotOccupancy } from './addLotOccupancy.js' +import { addLotOccupancyOccupant } from './addLotOccupancyOccupant.js' +import { getLotOccupancy } from './getLotOccupancy.js' +import { acquireConnection } from './pool.js' export async function copyLotOccupancy( oldLotOccupancyId: number | string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -23,7 +20,7 @@ export async function copyLotOccupancy( occupancyStartDateString: dateToString(new Date()), occupancyEndDateString: '' }, - requestSession, + user, database ) @@ -46,9 +43,9 @@ export async function copyLotOccupancy( newLotOccupancyId, occupancyField.occupancyTypeFieldId, occupancyField.lotOccupancyFieldValue, - requestSession.user!.userName, + user.userName, rightNowMillis, - requestSession.user!.userName, + user.userName, rightNowMillis ) } @@ -72,7 +69,7 @@ export async function copyLotOccupancy( occupantPhoneNumber: occupant.occupantPhoneNumber!, occupantEmailAddress: occupant.occupantEmailAddress! }, - requestSession, + user, database ) } diff --git a/helpers/lotOccupancyDB/deleteLotField.d.ts b/helpers/lotOccupancyDB/deleteLotField.d.ts index 83c4f4e7..a838d420 100644 --- a/helpers/lotOccupancyDB/deleteLotField.d.ts +++ b/helpers/lotOccupancyDB/deleteLotField.d.ts @@ -1,4 +1,3 @@ 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?: PoolConnection): Promise; +export declare function deleteLotField(lotId: number | string, lotTypeFieldId: number | string, user: User, connectedDatabase?: PoolConnection): Promise; export default deleteLotField; diff --git a/helpers/lotOccupancyDB/deleteLotField.js b/helpers/lotOccupancyDB/deleteLotField.js index 7197ed72..8a4fc1b8 100644 --- a/helpers/lotOccupancyDB/deleteLotField.js +++ b/helpers/lotOccupancyDB/deleteLotField.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function deleteLotField(lotId, lotTypeFieldId, requestSession, connectedDatabase) { +export async function deleteLotField(lotId, lotTypeFieldId, user, connectedDatabase) { const database = connectedDatabase ?? (await acquireConnection()); const result = database .prepare(`update LotFields @@ -7,7 +7,7 @@ export async function deleteLotField(lotId, lotTypeFieldId, requestSession, conn recordDelete_timeMillis = ? where lotId = ? and lotTypeFieldId = ?`) - .run(requestSession.user.userName, Date.now(), lotId, lotTypeFieldId); + .run(user.userName, Date.now(), lotId, lotTypeFieldId); if (connectedDatabase === undefined) { database.release(); } diff --git a/helpers/lotOccupancyDB/deleteLotField.ts b/helpers/lotOccupancyDB/deleteLotField.ts index 22d7ebab..7c53b763 100644 --- a/helpers/lotOccupancyDB/deleteLotField.ts +++ b/helpers/lotOccupancyDB/deleteLotField.ts @@ -1,12 +1,11 @@ -import { acquireConnection } from './pool.js' import type { PoolConnection } from 'better-sqlite-pool' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' export async function deleteLotField( lotId: number | string, lotTypeFieldId: number | string, - requestSession: recordTypes.PartialSession, + user: User, connectedDatabase?: PoolConnection ): Promise { const database = connectedDatabase ?? (await acquireConnection()) @@ -19,7 +18,7 @@ export async function deleteLotField( where lotId = ? and lotTypeFieldId = ?` ) - .run(requestSession.user!.userName, Date.now(), lotId, lotTypeFieldId) + .run(user.userName, Date.now(), lotId, lotTypeFieldId) if (connectedDatabase === undefined) { database.release() diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyFee.d.ts b/helpers/lotOccupancyDB/deleteLotOccupancyFee.d.ts index 02c70e91..6e6064f0 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyFee.d.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyFee.d.ts @@ -1,3 +1,2 @@ -import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteLotOccupancyFee(lotOccupancyId: number | string, feeId: number | string, requestSession: recordTypes.PartialSession): Promise; +export declare function deleteLotOccupancyFee(lotOccupancyId: number | string, feeId: number | string, user: User): Promise; export default deleteLotOccupancyFee; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyFee.js b/helpers/lotOccupancyDB/deleteLotOccupancyFee.js index d7f6bb27..f84200ce 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyFee.js +++ b/helpers/lotOccupancyDB/deleteLotOccupancyFee.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function deleteLotOccupancyFee(lotOccupancyId, feeId, requestSession) { +export async function deleteLotOccupancyFee(lotOccupancyId, feeId, user) { const database = await acquireConnection(); const result = database .prepare(`update LotOccupancyFees @@ -7,7 +7,7 @@ export async function deleteLotOccupancyFee(lotOccupancyId, feeId, requestSessio recordDelete_timeMillis = ? where lotOccupancyId = ? and feeId = ?`) - .run(requestSession.user.userName, Date.now(), lotOccupancyId, feeId); + .run(user.userName, Date.now(), lotOccupancyId, feeId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyFee.ts b/helpers/lotOccupancyDB/deleteLotOccupancyFee.ts index 62d2ef76..6fc91a10 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyFee.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyFee.ts @@ -1,11 +1,9 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - export async function deleteLotOccupancyFee( lotOccupancyId: number | string, feeId: number | string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -17,7 +15,7 @@ export async function deleteLotOccupancyFee( where lotOccupancyId = ? and feeId = ?` ) - .run(requestSession.user!.userName, Date.now(), lotOccupancyId, feeId) + .run(user.userName, Date.now(), lotOccupancyId, feeId) database.release() diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyField.d.ts b/helpers/lotOccupancyDB/deleteLotOccupancyField.d.ts index f2353ffb..cea22b42 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyField.d.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyField.d.ts @@ -1,4 +1,3 @@ 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?: PoolConnection): Promise; +export declare function deleteLotOccupancyField(lotOccupancyId: number | string, occupancyTypeFieldId: number | string, user: User, connectedDatabase?: PoolConnection): Promise; export default deleteLotOccupancyField; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyField.js b/helpers/lotOccupancyDB/deleteLotOccupancyField.js index 2d1ecbfd..28959748 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyField.js +++ b/helpers/lotOccupancyDB/deleteLotOccupancyField.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function deleteLotOccupancyField(lotOccupancyId, occupancyTypeFieldId, requestSession, connectedDatabase) { +export async function deleteLotOccupancyField(lotOccupancyId, occupancyTypeFieldId, user, connectedDatabase) { const database = connectedDatabase ?? (await acquireConnection()); const result = database .prepare(`update LotOccupancyFields @@ -7,7 +7,7 @@ export async function deleteLotOccupancyField(lotOccupancyId, occupancyTypeField recordDelete_timeMillis = ? where lotOccupancyId = ? and occupancyTypeFieldId = ?`) - .run(requestSession.user.userName, Date.now(), lotOccupancyId, occupancyTypeFieldId); + .run(user.userName, Date.now(), lotOccupancyId, occupancyTypeFieldId); if (connectedDatabase === undefined) { database.release(); } diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyField.ts b/helpers/lotOccupancyDB/deleteLotOccupancyField.ts index 9839f5ed..931b426d 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyField.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyField.ts @@ -1,12 +1,11 @@ -import { acquireConnection } from './pool.js' import type { PoolConnection } from 'better-sqlite-pool' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' export async function deleteLotOccupancyField( lotOccupancyId: number | string, occupancyTypeFieldId: number | string, - requestSession: recordTypes.PartialSession, + user: User, connectedDatabase?: PoolConnection ): Promise { const database = connectedDatabase ?? (await acquireConnection()) @@ -20,7 +19,7 @@ export async function deleteLotOccupancyField( and occupancyTypeFieldId = ?` ) .run( - requestSession.user!.userName, + user.userName, Date.now(), lotOccupancyId, occupancyTypeFieldId diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.d.ts b/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.d.ts index 908689cf..de96a640 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.d.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.d.ts @@ -1,3 +1,2 @@ -import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteLotOccupancyOccupant(lotOccupancyId: number | string, lotOccupantIndex: number | string, requestSession: recordTypes.PartialSession): Promise; +export declare function deleteLotOccupancyOccupant(lotOccupancyId: number | string, lotOccupantIndex: number | string, user: User): Promise; export default deleteLotOccupancyOccupant; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.js b/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.js index 857fa684..f86c21c1 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.js +++ b/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function deleteLotOccupancyOccupant(lotOccupancyId, lotOccupantIndex, requestSession) { +export async function deleteLotOccupancyOccupant(lotOccupancyId, lotOccupantIndex, user) { const database = await acquireConnection(); const result = database .prepare(`update LotOccupancyOccupants @@ -7,7 +7,7 @@ export async function deleteLotOccupancyOccupant(lotOccupancyId, lotOccupantInde recordDelete_timeMillis = ? where lotOccupancyId = ? and lotOccupantIndex = ?`) - .run(requestSession.user.userName, Date.now(), lotOccupancyId, lotOccupantIndex); + .run(user.userName, Date.now(), lotOccupancyId, lotOccupantIndex); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.ts b/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.ts index 93beb124..ad581579 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyOccupant.ts @@ -1,11 +1,9 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - export async function deleteLotOccupancyOccupant( lotOccupancyId: number | string, lotOccupantIndex: number | string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -17,12 +15,7 @@ export async function deleteLotOccupancyOccupant( where lotOccupancyId = ? and lotOccupantIndex = ?` ) - .run( - requestSession.user!.userName, - Date.now(), - lotOccupancyId, - lotOccupantIndex - ) + .run(user.userName, Date.now(), lotOccupancyId, lotOccupantIndex) database.release() diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.d.ts b/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.d.ts index a4f47266..577a743e 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.d.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.d.ts @@ -1,3 +1,2 @@ -import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteLotOccupancyTransaction(lotOccupancyId: number | string, transactionIndex: number | string, requestSession: recordTypes.PartialSession): Promise; +export declare function deleteLotOccupancyTransaction(lotOccupancyId: number | string, transactionIndex: number | string, user: User): Promise; export default deleteLotOccupancyTransaction; diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.js b/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.js index a64aec3c..143e7a2b 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.js +++ b/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function deleteLotOccupancyTransaction(lotOccupancyId, transactionIndex, requestSession) { +export async function deleteLotOccupancyTransaction(lotOccupancyId, transactionIndex, user) { const database = await acquireConnection(); const result = database .prepare(`update LotOccupancyTransactions @@ -7,7 +7,7 @@ export async function deleteLotOccupancyTransaction(lotOccupancyId, transactionI recordDelete_timeMillis = ? where lotOccupancyId = ? and transactionIndex = ?`) - .run(requestSession.user.userName, Date.now(), lotOccupancyId, transactionIndex); + .run(user.userName, Date.now(), lotOccupancyId, transactionIndex); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.ts b/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.ts index cb50c285..43df8d40 100644 --- a/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.ts +++ b/helpers/lotOccupancyDB/deleteLotOccupancyTransaction.ts @@ -1,11 +1,9 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - export async function deleteLotOccupancyTransaction( lotOccupancyId: number | string, transactionIndex: number | string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -17,12 +15,7 @@ export async function deleteLotOccupancyTransaction( where lotOccupancyId = ? and transactionIndex = ?` ) - .run( - requestSession.user!.userName, - Date.now(), - lotOccupancyId, - transactionIndex - ) + .run(user.userName, Date.now(), lotOccupancyId, transactionIndex) database.release() diff --git a/helpers/lotOccupancyDB/deleteOccupancyTypePrint.d.ts b/helpers/lotOccupancyDB/deleteOccupancyTypePrint.d.ts index 9d72e2b6..377cb5e8 100644 --- a/helpers/lotOccupancyDB/deleteOccupancyTypePrint.d.ts +++ b/helpers/lotOccupancyDB/deleteOccupancyTypePrint.d.ts @@ -1,3 +1,2 @@ -import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteOccupancyTypePrint(occupancyTypeId: number | string, printEJS: string, requestSession: recordTypes.PartialSession): Promise; +export declare function deleteOccupancyTypePrint(occupancyTypeId: number | string, printEJS: string, user: User): Promise; export default deleteOccupancyTypePrint; diff --git a/helpers/lotOccupancyDB/deleteOccupancyTypePrint.js b/helpers/lotOccupancyDB/deleteOccupancyTypePrint.js index 696433d3..aa508fb3 100644 --- a/helpers/lotOccupancyDB/deleteOccupancyTypePrint.js +++ b/helpers/lotOccupancyDB/deleteOccupancyTypePrint.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export async function deleteOccupancyTypePrint(occupancyTypeId, printEJS, requestSession) { +import { acquireConnection } from './pool.js'; +export async function deleteOccupancyTypePrint(occupancyTypeId, printEJS, user) { const database = await acquireConnection(); const result = database .prepare(`update OccupancyTypePrints @@ -8,7 +8,7 @@ export async function deleteOccupancyTypePrint(occupancyTypeId, printEJS, reques recordDelete_timeMillis = ? where occupancyTypeId = ? and printEJS = ?`) - .run(requestSession.user.userName, Date.now(), occupancyTypeId, printEJS); + .run(user.userName, Date.now(), occupancyTypeId, printEJS); database.release(); clearCacheByTableName('OccupancyTypePrints'); return result.changes > 0; diff --git a/helpers/lotOccupancyDB/deleteOccupancyTypePrint.ts b/helpers/lotOccupancyDB/deleteOccupancyTypePrint.ts index 81fbab9c..8aed5861 100644 --- a/helpers/lotOccupancyDB/deleteOccupancyTypePrint.ts +++ b/helpers/lotOccupancyDB/deleteOccupancyTypePrint.ts @@ -1,13 +1,11 @@ -import { acquireConnection } from './pool.js' - import { clearCacheByTableName } from '../functions.cache.js' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' export async function deleteOccupancyTypePrint( occupancyTypeId: number | string, printEJS: string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -19,12 +17,7 @@ export async function deleteOccupancyTypePrint( where occupancyTypeId = ? and printEJS = ?` ) - .run( - requestSession.user!.userName, - Date.now(), - occupancyTypeId, - printEJS - ) + .run(user.userName, Date.now(), occupancyTypeId, printEJS) database.release() diff --git a/helpers/lotOccupancyDB/deleteRecord.d.ts b/helpers/lotOccupancyDB/deleteRecord.d.ts index a88a4c9b..434506f3 100644 --- a/helpers/lotOccupancyDB/deleteRecord.d.ts +++ b/helpers/lotOccupancyDB/deleteRecord.d.ts @@ -1,4 +1,3 @@ -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'; -export declare function deleteRecord(recordTable: RecordTable, recordId: number | string, requestSession: recordTypes.PartialSession): Promise; +export declare function deleteRecord(recordTable: RecordTable, recordId: number | string, user: User): Promise; export {}; diff --git a/helpers/lotOccupancyDB/deleteRecord.js b/helpers/lotOccupancyDB/deleteRecord.js index d3c6c8c0..c2da0dcd 100644 --- a/helpers/lotOccupancyDB/deleteRecord.js +++ b/helpers/lotOccupancyDB/deleteRecord.js @@ -1,5 +1,5 @@ -import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; +import { acquireConnection } from './pool.js'; const recordIdColumns = new Map(); recordIdColumns.set('FeeCategories', 'feeCategoryId'); recordIdColumns.set('Fees', 'feeId'); @@ -39,7 +39,7 @@ relatedTables.set('WorkOrders', [ 'WorkOrderLotOccupancies', 'WorkOrderComments' ]); -export async function deleteRecord(recordTable, recordId, requestSession) { +export async function deleteRecord(recordTable, recordId, user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database @@ -48,7 +48,7 @@ export async function deleteRecord(recordTable, recordId, requestSession) { recordDelete_timeMillis = ? where ${recordIdColumns.get(recordTable)} = ? and recordDelete_timeMillis is null`) - .run(requestSession.user.userName, rightNowMillis, recordId); + .run(user.userName, rightNowMillis, recordId); for (const relatedTable of relatedTables.get(recordTable) ?? []) { database .prepare(`update ${relatedTable} @@ -56,7 +56,7 @@ export async function deleteRecord(recordTable, recordId, requestSession) { recordDelete_timeMillis = ? where ${recordIdColumns.get(recordTable)} = ? and recordDelete_timeMillis is null`) - .run(requestSession.user.userName, rightNowMillis, recordId); + .run(user.userName, rightNowMillis, recordId); } database.release(); clearCacheByTableName(recordTable); diff --git a/helpers/lotOccupancyDB/deleteRecord.ts b/helpers/lotOccupancyDB/deleteRecord.ts index a19ea159..627bbeaf 100644 --- a/helpers/lotOccupancyDB/deleteRecord.ts +++ b/helpers/lotOccupancyDB/deleteRecord.ts @@ -1,8 +1,6 @@ -import { acquireConnection } from './pool.js' - import { clearCacheByTableName } from '../functions.cache.js' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' type RecordTable = | 'FeeCategories' @@ -68,7 +66,7 @@ relatedTables.set('WorkOrders', [ export async function deleteRecord( recordTable: RecordTable, recordId: number | string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -82,7 +80,7 @@ export async function deleteRecord( where ${recordIdColumns.get(recordTable)!} = ? and recordDelete_timeMillis is null` ) - .run(requestSession.user!.userName, rightNowMillis, recordId) + .run(user.userName, rightNowMillis, recordId) for (const relatedTable of relatedTables.get(recordTable) ?? []) { database @@ -93,7 +91,7 @@ export async function deleteRecord( where ${recordIdColumns.get(recordTable)!} = ? and recordDelete_timeMillis is null` ) - .run(requestSession.user!.userName, rightNowMillis, recordId) + .run(user.userName, rightNowMillis, recordId) } database.release() diff --git a/helpers/lotOccupancyDB/deleteWorkOrderLot.d.ts b/helpers/lotOccupancyDB/deleteWorkOrderLot.d.ts index 2c6f75da..209e96bd 100644 --- a/helpers/lotOccupancyDB/deleteWorkOrderLot.d.ts +++ b/helpers/lotOccupancyDB/deleteWorkOrderLot.d.ts @@ -1,3 +1,2 @@ -import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteWorkOrderLot(workOrderId: number | string, lotId: number | string, requestSession: recordTypes.PartialSession): Promise; +export declare function deleteWorkOrderLot(workOrderId: number | string, lotId: number | string, user: User): Promise; export default deleteWorkOrderLot; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderLot.js b/helpers/lotOccupancyDB/deleteWorkOrderLot.js index 9831f63f..5df271b4 100644 --- a/helpers/lotOccupancyDB/deleteWorkOrderLot.js +++ b/helpers/lotOccupancyDB/deleteWorkOrderLot.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function deleteWorkOrderLot(workOrderId, lotId, requestSession) { +export async function deleteWorkOrderLot(workOrderId, lotId, user) { const database = await acquireConnection(); const result = database .prepare(`update WorkOrderLots @@ -7,7 +7,7 @@ export async function deleteWorkOrderLot(workOrderId, lotId, requestSession) { recordDelete_timeMillis = ? where workOrderId = ? and lotId = ?`) - .run(requestSession.user.userName, Date.now(), workOrderId, lotId); + .run(user.userName, Date.now(), workOrderId, lotId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/deleteWorkOrderLot.ts b/helpers/lotOccupancyDB/deleteWorkOrderLot.ts index dd53769a..0d3e011b 100644 --- a/helpers/lotOccupancyDB/deleteWorkOrderLot.ts +++ b/helpers/lotOccupancyDB/deleteWorkOrderLot.ts @@ -1,11 +1,9 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - export async function deleteWorkOrderLot( workOrderId: number | string, lotId: number | string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -17,7 +15,7 @@ export async function deleteWorkOrderLot( where workOrderId = ? and lotId = ?` ) - .run(requestSession.user!.userName, Date.now(), workOrderId, lotId) + .run(user.userName, Date.now(), workOrderId, lotId) database.release() diff --git a/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.d.ts b/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.d.ts index c3fe5357..e64ac4d0 100644 --- a/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.d.ts +++ b/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.d.ts @@ -1,3 +1,2 @@ -import type * as recordTypes from '../../types/recordTypes'; -export declare function deleteWorkOrderLotOccupancy(workOrderId: number | string, lotOccupancyId: number | string, requestSession: recordTypes.PartialSession): Promise; +export declare function deleteWorkOrderLotOccupancy(workOrderId: number | string, lotOccupancyId: number | string, user: User): Promise; export default deleteWorkOrderLotOccupancy; diff --git a/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.js b/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.js index 45be3e60..ef24ad81 100644 --- a/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.js +++ b/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function deleteWorkOrderLotOccupancy(workOrderId, lotOccupancyId, requestSession) { +export async function deleteWorkOrderLotOccupancy(workOrderId, lotOccupancyId, user) { const database = await acquireConnection(); const result = database .prepare(`update WorkOrderLotOccupancies @@ -7,7 +7,7 @@ export async function deleteWorkOrderLotOccupancy(workOrderId, lotOccupancyId, r recordDelete_timeMillis = ? where workOrderId = ? and lotOccupancyId = ?`) - .run(requestSession.user.userName, Date.now(), workOrderId, lotOccupancyId); + .run(user.userName, Date.now(), workOrderId, lotOccupancyId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.ts b/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.ts index 03308534..a9386920 100644 --- a/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.ts +++ b/helpers/lotOccupancyDB/deleteWorkOrderLotOccupancy.ts @@ -1,11 +1,9 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - export async function deleteWorkOrderLotOccupancy( workOrderId: number | string, lotOccupancyId: number | string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -17,7 +15,7 @@ export async function deleteWorkOrderLotOccupancy( where workOrderId = ? and lotOccupancyId = ?` ) - .run(requestSession.user!.userName, Date.now(), workOrderId, lotOccupancyId) + .run(user.userName, Date.now(), workOrderId, lotOccupancyId) database.release() diff --git a/helpers/lotOccupancyDB/reopenWorkOrder.d.ts b/helpers/lotOccupancyDB/reopenWorkOrder.d.ts index ae0ba5e3..28e58e0b 100644 --- a/helpers/lotOccupancyDB/reopenWorkOrder.d.ts +++ b/helpers/lotOccupancyDB/reopenWorkOrder.d.ts @@ -1,3 +1,2 @@ -import type * as recordTypes from '../../types/recordTypes'; -export declare function reopenWorkOrder(workOrderId: number | string, requestSession: recordTypes.PartialSession): Promise; +export declare function reopenWorkOrder(workOrderId: number | string, user: User): Promise; export default reopenWorkOrder; diff --git a/helpers/lotOccupancyDB/reopenWorkOrder.js b/helpers/lotOccupancyDB/reopenWorkOrder.js index 4ef973c9..9ec07ef3 100644 --- a/helpers/lotOccupancyDB/reopenWorkOrder.js +++ b/helpers/lotOccupancyDB/reopenWorkOrder.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function reopenWorkOrder(workOrderId, requestSession) { +export async function reopenWorkOrder(workOrderId, user) { const database = await acquireConnection(); const result = database .prepare(`update WorkOrders @@ -8,7 +8,7 @@ export async function reopenWorkOrder(workOrderId, requestSession) { recordUpdate_timeMillis = ? where workOrderId = ? and workOrderCloseDate is not null`) - .run(requestSession.user.userName, Date.now(), workOrderId); + .run(user.userName, Date.now(), workOrderId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/reopenWorkOrder.ts b/helpers/lotOccupancyDB/reopenWorkOrder.ts index 0ebabbc0..9cb073ae 100644 --- a/helpers/lotOccupancyDB/reopenWorkOrder.ts +++ b/helpers/lotOccupancyDB/reopenWorkOrder.ts @@ -1,10 +1,8 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - export async function reopenWorkOrder( workOrderId: number | string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -17,7 +15,7 @@ export async function reopenWorkOrder( where workOrderId = ? and workOrderCloseDate is not null` ) - .run(requestSession.user!.userName, Date.now(), workOrderId) + .run(user.userName, Date.now(), workOrderId) database.release() diff --git a/helpers/lotOccupancyDB/reopenWorkOrderMilestone.d.ts b/helpers/lotOccupancyDB/reopenWorkOrderMilestone.d.ts index 6ff3dd29..0e0f7945 100644 --- a/helpers/lotOccupancyDB/reopenWorkOrderMilestone.d.ts +++ b/helpers/lotOccupancyDB/reopenWorkOrderMilestone.d.ts @@ -1,3 +1,2 @@ -import type * as recordTypes from '../../types/recordTypes'; -export declare function reopenWorkOrderMilestone(workOrderMilestoneId: number | string, requestSession: recordTypes.PartialSession): Promise; +export declare function reopenWorkOrderMilestone(workOrderMilestoneId: number | string, user: User): Promise; export default reopenWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/reopenWorkOrderMilestone.js b/helpers/lotOccupancyDB/reopenWorkOrderMilestone.js index 43346a13..5d50b63e 100644 --- a/helpers/lotOccupancyDB/reopenWorkOrderMilestone.js +++ b/helpers/lotOccupancyDB/reopenWorkOrderMilestone.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function reopenWorkOrderMilestone(workOrderMilestoneId, requestSession) { +export async function reopenWorkOrderMilestone(workOrderMilestoneId, user) { const database = await acquireConnection(); const result = database .prepare(`update WorkOrderMilestones @@ -9,7 +9,7 @@ export async function reopenWorkOrderMilestone(workOrderMilestoneId, requestSess recordUpdate_timeMillis = ? where workOrderMilestoneId = ? and workOrderMilestoneCompletionDate is not null`) - .run(requestSession.user.userName, Date.now(), workOrderMilestoneId); + .run(user.userName, Date.now(), workOrderMilestoneId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/reopenWorkOrderMilestone.ts b/helpers/lotOccupancyDB/reopenWorkOrderMilestone.ts index e0a13ab0..00a781e6 100644 --- a/helpers/lotOccupancyDB/reopenWorkOrderMilestone.ts +++ b/helpers/lotOccupancyDB/reopenWorkOrderMilestone.ts @@ -1,10 +1,8 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - export async function reopenWorkOrderMilestone( workOrderMilestoneId: number | string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -18,7 +16,7 @@ export async function reopenWorkOrderMilestone( where workOrderMilestoneId = ? and workOrderMilestoneCompletionDate is not null` ) - .run(requestSession.user!.userName, Date.now(), workOrderMilestoneId) + .run(user.userName, Date.now(), workOrderMilestoneId) database.release() diff --git a/helpers/lotOccupancyDB/updateFee.d.ts b/helpers/lotOccupancyDB/updateFee.d.ts index 9e183f6c..240b44cb 100644 --- a/helpers/lotOccupancyDB/updateFee.d.ts +++ b/helpers/lotOccupancyDB/updateFee.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateFeeForm { feeId: string; feeCategoryId: string; @@ -15,5 +14,5 @@ interface UpdateFeeForm { quantityUnit?: string; isRequired: '' | '1'; } -export declare function updateFee(feeForm: UpdateFeeForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateFee(feeForm: UpdateFeeForm, user: User): Promise; export default updateFee; diff --git a/helpers/lotOccupancyDB/updateFee.js b/helpers/lotOccupancyDB/updateFee.js index d9e0a75d..ea92cfee 100644 --- a/helpers/lotOccupancyDB/updateFee.js +++ b/helpers/lotOccupancyDB/updateFee.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function updateFee(feeForm, requestSession) { +export async function updateFee(feeForm, user) { const database = await acquireConnection(); const result = database .prepare(`update Fees @@ -22,7 +22,7 @@ export async function updateFee(feeForm, requestSession) { and feeId = ?`) .run(feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, feeForm.feeAccount, feeForm.occupancyTypeId === '' ? undefined : feeForm.occupancyTypeId, feeForm.lotTypeId === '' ? undefined : feeForm.lotTypeId, feeForm.feeAmount === undefined || feeForm.feeAmount === '' ? 0 - : feeForm.feeAmount, feeForm.feeFunction ?? undefined, feeForm.taxAmount ?? undefined, feeForm.taxPercentage ?? undefined, feeForm.includeQuantity === '' ? 0 : 1, feeForm.quantityUnit, feeForm.isRequired === '' ? 0 : 1, requestSession.user.userName, Date.now(), feeForm.feeId); + : feeForm.feeAmount, feeForm.feeFunction ?? undefined, feeForm.taxAmount ?? undefined, feeForm.taxPercentage ?? undefined, feeForm.includeQuantity === '' ? 0 : 1, feeForm.quantityUnit, feeForm.isRequired === '' ? 0 : 1, user.userName, Date.now(), feeForm.feeId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateFee.ts b/helpers/lotOccupancyDB/updateFee.ts index 198c6d59..8b259fd1 100644 --- a/helpers/lotOccupancyDB/updateFee.ts +++ b/helpers/lotOccupancyDB/updateFee.ts @@ -1,7 +1,5 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - interface UpdateFeeForm { feeId: string feeCategoryId: string @@ -21,7 +19,7 @@ interface UpdateFeeForm { export async function updateFee( feeForm: UpdateFeeForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -62,7 +60,7 @@ export async function updateFee( feeForm.includeQuantity === '' ? 0 : 1, feeForm.quantityUnit, feeForm.isRequired === '' ? 0 : 1, - requestSession.user!.userName, + user.userName, Date.now(), feeForm.feeId ) diff --git a/helpers/lotOccupancyDB/updateFeeCategory.d.ts b/helpers/lotOccupancyDB/updateFeeCategory.d.ts index b4f6bd4a..4d174a19 100644 --- a/helpers/lotOccupancyDB/updateFeeCategory.d.ts +++ b/helpers/lotOccupancyDB/updateFeeCategory.d.ts @@ -1,7 +1,6 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateFeeCategoryForm { feeCategoryId: number | string; feeCategory: string; } -export declare function updateFeeCategory(feeCategoryForm: UpdateFeeCategoryForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateFeeCategory(feeCategoryForm: UpdateFeeCategoryForm, user: User): Promise; export default updateFeeCategory; diff --git a/helpers/lotOccupancyDB/updateFeeCategory.js b/helpers/lotOccupancyDB/updateFeeCategory.js index 77ae09c0..24b7a944 100644 --- a/helpers/lotOccupancyDB/updateFeeCategory.js +++ b/helpers/lotOccupancyDB/updateFeeCategory.js @@ -1,6 +1,5 @@ import { updateRecord } from './updateRecord.js'; -export async function updateFeeCategory(feeCategoryForm, requestSession) { - const success = await updateRecord('FeeCategories', feeCategoryForm.feeCategoryId, feeCategoryForm.feeCategory, requestSession); - return success; +export async function updateFeeCategory(feeCategoryForm, user) { + return await updateRecord('FeeCategories', feeCategoryForm.feeCategoryId, feeCategoryForm.feeCategory, user); } export default updateFeeCategory; diff --git a/helpers/lotOccupancyDB/updateFeeCategory.ts b/helpers/lotOccupancyDB/updateFeeCategory.ts index 314c9799..fb094e73 100644 --- a/helpers/lotOccupancyDB/updateFeeCategory.ts +++ b/helpers/lotOccupancyDB/updateFeeCategory.ts @@ -1,7 +1,5 @@ import { updateRecord } from './updateRecord.js' -import type * as recordTypes from '../../types/recordTypes' - interface UpdateFeeCategoryForm { feeCategoryId: number | string feeCategory: string @@ -9,15 +7,14 @@ interface UpdateFeeCategoryForm { export async function updateFeeCategory( feeCategoryForm: UpdateFeeCategoryForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { - const success = await updateRecord( + return await updateRecord( 'FeeCategories', feeCategoryForm.feeCategoryId, feeCategoryForm.feeCategory, - requestSession + user ) - return success } export default updateFeeCategory diff --git a/helpers/lotOccupancyDB/updateLot.d.ts b/helpers/lotOccupancyDB/updateLot.d.ts index bff7b074..6dfc197c 100644 --- a/helpers/lotOccupancyDB/updateLot.d.ts +++ b/helpers/lotOccupancyDB/updateLot.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateLotForm { lotId: string | number; lotName: string; @@ -11,6 +10,6 @@ interface UpdateLotForm { lotTypeFieldIds?: string; [lotFieldValue_lotTypeFieldId: string]: unknown; } -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 declare function updateLot(lotForm: UpdateLotForm, user: User): Promise; +export declare function updateLotStatus(lotId: number | string, lotStatusId: number | string, user: User): Promise; export default updateLot; diff --git a/helpers/lotOccupancyDB/updateLot.js b/helpers/lotOccupancyDB/updateLot.js index d6be13f4..d2b6d4da 100644 --- a/helpers/lotOccupancyDB/updateLot.js +++ b/helpers/lotOccupancyDB/updateLot.js @@ -1,7 +1,7 @@ -import { acquireConnection } from './pool.js'; import { addOrUpdateLotField } from './addOrUpdateLotField.js'; import { deleteLotField } from './deleteLotField.js'; -export async function updateLot(lotForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function updateLot(lotForm, user) { const database = await acquireConnection(); const result = database .prepare(`update Lots @@ -16,24 +16,24 @@ export async function updateLot(lotForm, requestSession) { 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, Date.now(), lotForm.lotId); + .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, user.userName, Date.now(), lotForm.lotId); if (result.changes > 0) { const lotTypeFieldIds = (lotForm.lotTypeFieldIds ?? '').split(','); for (const lotTypeFieldId of lotTypeFieldIds) { const lotFieldValue = lotForm['lotFieldValue_' + lotTypeFieldId]; await ((lotFieldValue ?? '') === '' - ? deleteLotField(lotForm.lotId, lotTypeFieldId, requestSession, database) + ? deleteLotField(lotForm.lotId, lotTypeFieldId, user, database) : addOrUpdateLotField({ lotId: lotForm.lotId, lotTypeFieldId, lotFieldValue: lotFieldValue - }, requestSession, database)); + }, user, database)); } } database.release(); return result.changes > 0; } -export async function updateLotStatus(lotId, lotStatusId, requestSession) { +export async function updateLotStatus(lotId, lotStatusId, user) { const database = await acquireConnection(); const rightNowMillis = Date.now(); const result = database @@ -43,7 +43,7 @@ export async function updateLotStatus(lotId, lotStatusId, requestSession) { recordUpdate_timeMillis = ? where lotId = ? and recordDelete_timeMillis is null`) - .run(lotStatusId === '' ? undefined : lotStatusId, requestSession.user.userName, rightNowMillis, lotId); + .run(lotStatusId === '' ? undefined : lotStatusId, user.userName, rightNowMillis, lotId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateLot.ts b/helpers/lotOccupancyDB/updateLot.ts index cda43267..1f912a50 100644 --- a/helpers/lotOccupancyDB/updateLot.ts +++ b/helpers/lotOccupancyDB/updateLot.ts @@ -1,10 +1,9 @@ +// eslint-disable-next-line eslint-comments/disable-enable-pair /* eslint-disable @typescript-eslint/indent */ -import { acquireConnection } from './pool.js' import { addOrUpdateLotField } from './addOrUpdateLotField.js' import { deleteLotField } from './deleteLotField.js' - -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface UpdateLotForm { lotId: string | number @@ -24,7 +23,7 @@ interface UpdateLotForm { export async function updateLot( lotForm: UpdateLotForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -51,7 +50,7 @@ export async function updateLot( lotForm.mapKey, lotForm.lotLatitude === '' ? undefined : lotForm.lotLatitude, lotForm.lotLongitude === '' ? undefined : lotForm.lotLongitude, - requestSession.user!.userName, + user.userName, Date.now(), lotForm.lotId ) @@ -65,19 +64,14 @@ export async function updateLot( | undefined await ((lotFieldValue ?? '') === '' - ? deleteLotField( - lotForm.lotId, - lotTypeFieldId, - requestSession, - database - ) + ? deleteLotField(lotForm.lotId, lotTypeFieldId, user, database) : addOrUpdateLotField( { lotId: lotForm.lotId, lotTypeFieldId, lotFieldValue: lotFieldValue! }, - requestSession, + user, database )) } @@ -91,7 +85,7 @@ export async function updateLot( export async function updateLotStatus( lotId: number | string, lotStatusId: number | string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -108,7 +102,7 @@ export async function updateLotStatus( ) .run( lotStatusId === '' ? undefined : lotStatusId, - requestSession.user!.userName, + user.userName, rightNowMillis, lotId ) diff --git a/helpers/lotOccupancyDB/updateLotComment.d.ts b/helpers/lotOccupancyDB/updateLotComment.d.ts index 42804280..6dc0643b 100644 --- a/helpers/lotOccupancyDB/updateLotComment.d.ts +++ b/helpers/lotOccupancyDB/updateLotComment.d.ts @@ -1,9 +1,8 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateLotCommentForm { lotCommentId: string | number; lotCommentDateString: string; lotCommentTimeString: string; lotComment: string; } -export declare function updateLotComment(commentForm: UpdateLotCommentForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateLotComment(commentForm: UpdateLotCommentForm, user: User): Promise; export default updateLotComment; diff --git a/helpers/lotOccupancyDB/updateLotComment.js b/helpers/lotOccupancyDB/updateLotComment.js index 0deb3311..01b5f1ea 100644 --- a/helpers/lotOccupancyDB/updateLotComment.js +++ b/helpers/lotOccupancyDB/updateLotComment.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime'; -export async function updateLotComment(commentForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function updateLotComment(commentForm, user) { const database = await acquireConnection(); const result = database .prepare(`update LotComments @@ -11,7 +11,7 @@ export async function updateLotComment(commentForm, requestSession) { recordUpdate_timeMillis = ? where recordDelete_timeMillis is null and lotCommentId = ?`) - .run(dateStringToInteger(commentForm.lotCommentDateString), timeStringToInteger(commentForm.lotCommentTimeString), commentForm.lotComment, requestSession.user.userName, Date.now(), commentForm.lotCommentId); + .run(dateStringToInteger(commentForm.lotCommentDateString), timeStringToInteger(commentForm.lotCommentTimeString), commentForm.lotComment, user.userName, Date.now(), commentForm.lotCommentId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateLotComment.ts b/helpers/lotOccupancyDB/updateLotComment.ts index 4183914f..19936f82 100644 --- a/helpers/lotOccupancyDB/updateLotComment.ts +++ b/helpers/lotOccupancyDB/updateLotComment.ts @@ -1,11 +1,9 @@ -import { acquireConnection } from './pool.js' - import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface UpdateLotCommentForm { lotCommentId: string | number @@ -16,7 +14,7 @@ interface UpdateLotCommentForm { export async function updateLotComment( commentForm: UpdateLotCommentForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -35,7 +33,7 @@ export async function updateLotComment( dateStringToInteger(commentForm.lotCommentDateString), timeStringToInteger(commentForm.lotCommentTimeString), commentForm.lotComment, - requestSession.user!.userName, + user.userName, Date.now(), commentForm.lotCommentId ) diff --git a/helpers/lotOccupancyDB/updateLotOccupancy.d.ts b/helpers/lotOccupancyDB/updateLotOccupancy.d.ts index 4684c26a..3098953c 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancy.d.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancy.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateLotOccupancyForm { lotOccupancyId: string | number; occupancyTypeId: string | number; @@ -8,5 +7,5 @@ interface UpdateLotOccupancyForm { occupancyTypeFieldIds?: string; [lotOccupancyFieldValue_occupancyTypeFieldId: string]: unknown; } -export declare function updateLotOccupancy(lotOccupancyForm: UpdateLotOccupancyForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateLotOccupancy(lotOccupancyForm: UpdateLotOccupancyForm, user: User): Promise; export default updateLotOccupancy; diff --git a/helpers/lotOccupancyDB/updateLotOccupancy.js b/helpers/lotOccupancyDB/updateLotOccupancy.js index 58096e81..ffe7da8d 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancy.js +++ b/helpers/lotOccupancyDB/updateLotOccupancy.js @@ -1,8 +1,8 @@ -import { acquireConnection } from './pool.js'; import { dateStringToInteger } from '@cityssm/utils-datetime'; import { addOrUpdateLotOccupancyField } from './addOrUpdateLotOccupancyField.js'; import { deleteLotOccupancyField } from './deleteLotOccupancyField.js'; -export async function updateLotOccupancy(lotOccupancyForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function updateLotOccupancy(lotOccupancyForm, user) { const database = await acquireConnection(); const result = database .prepare(`update LotOccupancies @@ -16,18 +16,18 @@ export async function updateLotOccupancy(lotOccupancyForm, requestSession) { and recordDelete_timeMillis is null`) .run(lotOccupancyForm.occupancyTypeId, lotOccupancyForm.lotId === '' ? undefined : lotOccupancyForm.lotId, dateStringToInteger(lotOccupancyForm.occupancyStartDateString), lotOccupancyForm.occupancyEndDateString === '' ? undefined - : dateStringToInteger(lotOccupancyForm.occupancyEndDateString), requestSession.user.userName, Date.now(), lotOccupancyForm.lotOccupancyId); + : dateStringToInteger(lotOccupancyForm.occupancyEndDateString), user.userName, Date.now(), lotOccupancyForm.lotOccupancyId); if (result.changes > 0) { const occupancyTypeFieldIds = (lotOccupancyForm.occupancyTypeFieldIds ?? '').split(','); for (const occupancyTypeFieldId of occupancyTypeFieldIds) { const lotOccupancyFieldValue = lotOccupancyForm['lotOccupancyFieldValue_' + occupancyTypeFieldId]; await ((lotOccupancyFieldValue ?? '') === '' - ? deleteLotOccupancyField(lotOccupancyForm.lotOccupancyId, occupancyTypeFieldId, requestSession, database) + ? deleteLotOccupancyField(lotOccupancyForm.lotOccupancyId, occupancyTypeFieldId, user, database) : addOrUpdateLotOccupancyField({ lotOccupancyId: lotOccupancyForm.lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue - }, requestSession, database)); + }, user, database)); } } database.release(); diff --git a/helpers/lotOccupancyDB/updateLotOccupancy.ts b/helpers/lotOccupancyDB/updateLotOccupancy.ts index 5936c6dd..17ad7c49 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancy.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancy.ts @@ -1,14 +1,11 @@ +// eslint-disable-next-line eslint-comments/disable-enable-pair /* eslint-disable @typescript-eslint/indent */ -import { acquireConnection } from './pool.js' - import { dateStringToInteger } from '@cityssm/utils-datetime' import { addOrUpdateLotOccupancyField } from './addOrUpdateLotOccupancyField.js' - import { deleteLotOccupancyField } from './deleteLotOccupancyField.js' - -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface UpdateLotOccupancyForm { lotOccupancyId: string | number @@ -24,7 +21,7 @@ interface UpdateLotOccupancyForm { export async function updateLotOccupancy( lotOccupancyForm: UpdateLotOccupancyForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -47,7 +44,7 @@ export async function updateLotOccupancy( lotOccupancyForm.occupancyEndDateString === '' ? undefined : dateStringToInteger(lotOccupancyForm.occupancyEndDateString), - requestSession.user!.userName, + user.userName, Date.now(), lotOccupancyForm.lotOccupancyId ) @@ -66,7 +63,7 @@ export async function updateLotOccupancy( ? deleteLotOccupancyField( lotOccupancyForm.lotOccupancyId, occupancyTypeFieldId, - requestSession, + user, database ) : addOrUpdateLotOccupancyField( @@ -75,7 +72,7 @@ export async function updateLotOccupancy( occupancyTypeFieldId, lotOccupancyFieldValue }, - requestSession, + user, database )) } diff --git a/helpers/lotOccupancyDB/updateLotOccupancyComment.d.ts b/helpers/lotOccupancyDB/updateLotOccupancyComment.d.ts index 998e0551..908cf50a 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyComment.d.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancyComment.d.ts @@ -1,9 +1,8 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateLotOccupancyCommentForm { lotOccupancyCommentId: string | number; lotOccupancyCommentDateString: string; lotOccupancyCommentTimeString: string; lotOccupancyComment: string; } -export declare function updateLotOccupancyComment(commentForm: UpdateLotOccupancyCommentForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateLotOccupancyComment(commentForm: UpdateLotOccupancyCommentForm, user: User): Promise; export default updateLotOccupancyComment; diff --git a/helpers/lotOccupancyDB/updateLotOccupancyComment.js b/helpers/lotOccupancyDB/updateLotOccupancyComment.js index cab89a72..fb82021b 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyComment.js +++ b/helpers/lotOccupancyDB/updateLotOccupancyComment.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime'; -export async function updateLotOccupancyComment(commentForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function updateLotOccupancyComment(commentForm, user) { const database = await acquireConnection(); const result = database .prepare(`update LotOccupancyComments @@ -11,7 +11,7 @@ export async function updateLotOccupancyComment(commentForm, requestSession) { recordUpdate_timeMillis = ? where recordDelete_timeMillis is null and lotOccupancyCommentId = ?`) - .run(dateStringToInteger(commentForm.lotOccupancyCommentDateString), timeStringToInteger(commentForm.lotOccupancyCommentTimeString), commentForm.lotOccupancyComment, requestSession.user.userName, Date.now(), commentForm.lotOccupancyCommentId); + .run(dateStringToInteger(commentForm.lotOccupancyCommentDateString), timeStringToInteger(commentForm.lotOccupancyCommentTimeString), commentForm.lotOccupancyComment, user.userName, Date.now(), commentForm.lotOccupancyCommentId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateLotOccupancyComment.ts b/helpers/lotOccupancyDB/updateLotOccupancyComment.ts index 870ae5a9..fc9de96f 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyComment.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancyComment.ts @@ -1,11 +1,9 @@ -import { acquireConnection } from './pool.js' - import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface UpdateLotOccupancyCommentForm { lotOccupancyCommentId: string | number @@ -16,7 +14,7 @@ interface UpdateLotOccupancyCommentForm { export async function updateLotOccupancyComment( commentForm: UpdateLotOccupancyCommentForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -35,7 +33,7 @@ export async function updateLotOccupancyComment( dateStringToInteger(commentForm.lotOccupancyCommentDateString), timeStringToInteger(commentForm.lotOccupancyCommentTimeString), commentForm.lotOccupancyComment, - requestSession.user!.userName, + user.userName, Date.now(), commentForm.lotOccupancyCommentId ) diff --git a/helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.d.ts b/helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.d.ts index c845b661..b36c14e2 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.d.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.d.ts @@ -1,8 +1,7 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateLotOccupancyFeeQuantityForm { lotOccupancyId: string | number; feeId: string | number; quantity: string | number; } -export declare function updateLotOccupancyFeeQuantity(feeQuantityForm: UpdateLotOccupancyFeeQuantityForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateLotOccupancyFeeQuantity(feeQuantityForm: UpdateLotOccupancyFeeQuantityForm, user: User): Promise; export default updateLotOccupancyFeeQuantity; diff --git a/helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.js b/helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.js index 9d344c81..28618a66 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.js +++ b/helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function updateLotOccupancyFeeQuantity(feeQuantityForm, requestSession) { +export async function updateLotOccupancyFeeQuantity(feeQuantityForm, user) { const database = await acquireConnection(); const result = database .prepare(`update LotOccupancyFees @@ -9,7 +9,7 @@ export async function updateLotOccupancyFeeQuantity(feeQuantityForm, requestSess where recordDelete_timeMillis is null and lotOccupancyId = ? and feeId = ?`) - .run(feeQuantityForm.quantity, requestSession.user.userName, Date.now(), feeQuantityForm.lotOccupancyId, feeQuantityForm.feeId); + .run(feeQuantityForm.quantity, user.userName, Date.now(), feeQuantityForm.lotOccupancyId, feeQuantityForm.feeId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.ts b/helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.ts index c0b0ca2e..e7300c2e 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancyFeeQuantity.ts @@ -1,7 +1,5 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - interface UpdateLotOccupancyFeeQuantityForm { lotOccupancyId: string | number feeId: string | number @@ -10,7 +8,7 @@ interface UpdateLotOccupancyFeeQuantityForm { export async function updateLotOccupancyFeeQuantity( feeQuantityForm: UpdateLotOccupancyFeeQuantityForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -26,7 +24,7 @@ export async function updateLotOccupancyFeeQuantity( ) .run( feeQuantityForm.quantity, - requestSession.user!.userName, + user.userName, Date.now(), feeQuantityForm.lotOccupancyId, feeQuantityForm.feeId diff --git a/helpers/lotOccupancyDB/updateLotOccupancyOccupant.d.ts b/helpers/lotOccupancyDB/updateLotOccupancyOccupant.d.ts index 652843b2..8fb53ed8 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyOccupant.d.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancyOccupant.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateLotOccupancyOccupantForm { lotOccupancyId: string | number; lotOccupantIndex: string | number; @@ -14,5 +13,5 @@ interface UpdateLotOccupancyOccupantForm { occupantEmailAddress: string; occupantComment: string; } -export declare function updateLotOccupancyOccupant(lotOccupancyOccupantForm: UpdateLotOccupancyOccupantForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateLotOccupancyOccupant(lotOccupancyOccupantForm: UpdateLotOccupancyOccupantForm, user: User): Promise; export default updateLotOccupancyOccupant; diff --git a/helpers/lotOccupancyDB/updateLotOccupancyOccupant.js b/helpers/lotOccupancyDB/updateLotOccupancyOccupant.js index d0508d48..c47f6ac4 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyOccupant.js +++ b/helpers/lotOccupancyDB/updateLotOccupancyOccupant.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function updateLotOccupancyOccupant(lotOccupancyOccupantForm, requestSession) { +export async function updateLotOccupancyOccupant(lotOccupancyOccupantForm, user) { const database = await acquireConnection(); const results = database .prepare(`update LotOccupancyOccupants @@ -19,7 +19,7 @@ export async function updateLotOccupancyOccupant(lotOccupancyOccupantForm, reque where recordDelete_timeMillis is null and lotOccupancyId = ? and lotOccupantIndex = ?`) - .run(lotOccupancyOccupantForm.occupantName, lotOccupancyOccupantForm.occupantFamilyName, lotOccupancyOccupantForm.occupantAddress1, lotOccupancyOccupantForm.occupantAddress2, lotOccupancyOccupantForm.occupantCity, lotOccupancyOccupantForm.occupantProvince, lotOccupancyOccupantForm.occupantPostalCode, lotOccupancyOccupantForm.occupantPhoneNumber, lotOccupancyOccupantForm.occupantEmailAddress, lotOccupancyOccupantForm.occupantComment, lotOccupancyOccupantForm.lotOccupantTypeId, requestSession.user.userName, Date.now(), lotOccupancyOccupantForm.lotOccupancyId, lotOccupancyOccupantForm.lotOccupantIndex); + .run(lotOccupancyOccupantForm.occupantName, lotOccupancyOccupantForm.occupantFamilyName, lotOccupancyOccupantForm.occupantAddress1, lotOccupancyOccupantForm.occupantAddress2, lotOccupancyOccupantForm.occupantCity, lotOccupancyOccupantForm.occupantProvince, lotOccupancyOccupantForm.occupantPostalCode, lotOccupancyOccupantForm.occupantPhoneNumber, lotOccupancyOccupantForm.occupantEmailAddress, lotOccupancyOccupantForm.occupantComment, lotOccupancyOccupantForm.lotOccupantTypeId, user.userName, Date.now(), lotOccupancyOccupantForm.lotOccupancyId, lotOccupancyOccupantForm.lotOccupantIndex); database.release(); return results.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateLotOccupancyOccupant.ts b/helpers/lotOccupancyDB/updateLotOccupancyOccupant.ts index 1a03d545..acc1cce8 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyOccupant.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancyOccupant.ts @@ -1,7 +1,5 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - interface UpdateLotOccupancyOccupantForm { lotOccupancyId: string | number lotOccupantIndex: string | number @@ -20,7 +18,7 @@ interface UpdateLotOccupancyOccupantForm { export async function updateLotOccupancyOccupant( lotOccupancyOccupantForm: UpdateLotOccupancyOccupantForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -56,7 +54,7 @@ export async function updateLotOccupancyOccupant( lotOccupancyOccupantForm.occupantEmailAddress, lotOccupancyOccupantForm.occupantComment, lotOccupancyOccupantForm.lotOccupantTypeId, - requestSession.user!.userName, + user.userName, Date.now(), lotOccupancyOccupantForm.lotOccupancyId, lotOccupancyOccupantForm.lotOccupantIndex diff --git a/helpers/lotOccupancyDB/updateLotOccupancyTransaction.d.ts b/helpers/lotOccupancyDB/updateLotOccupancyTransaction.d.ts index 98e9def5..dc20e788 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyTransaction.d.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancyTransaction.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateLotOccupancyTransactionForm { lotOccupancyId: string | number; transactionIndex: string | number; @@ -8,5 +7,5 @@ interface UpdateLotOccupancyTransactionForm { externalReceiptNumber: string; transactionNote: string; } -export declare function updateLotOccupancyTransaction(lotOccupancyTransactionForm: UpdateLotOccupancyTransactionForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateLotOccupancyTransaction(lotOccupancyTransactionForm: UpdateLotOccupancyTransactionForm, user: User): Promise; export default updateLotOccupancyTransaction; diff --git a/helpers/lotOccupancyDB/updateLotOccupancyTransaction.js b/helpers/lotOccupancyDB/updateLotOccupancyTransaction.js index 1c1ae03d..e1261257 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyTransaction.js +++ b/helpers/lotOccupancyDB/updateLotOccupancyTransaction.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime'; -export async function updateLotOccupancyTransaction(lotOccupancyTransactionForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function updateLotOccupancyTransaction(lotOccupancyTransactionForm, user) { const database = await acquireConnection(); const result = database .prepare(`update LotOccupancyTransactions @@ -14,7 +14,7 @@ export async function updateLotOccupancyTransaction(lotOccupancyTransactionForm, where recordDelete_timeMillis is null and lotOccupancyId = ? and transactionIndex = ?`) - .run(lotOccupancyTransactionForm.transactionAmount, lotOccupancyTransactionForm.externalReceiptNumber, lotOccupancyTransactionForm.transactionNote, dateStringToInteger(lotOccupancyTransactionForm.transactionDateString), timeStringToInteger(lotOccupancyTransactionForm.transactionTimeString), requestSession.user.userName, Date.now(), lotOccupancyTransactionForm.lotOccupancyId, lotOccupancyTransactionForm.transactionIndex); + .run(lotOccupancyTransactionForm.transactionAmount, lotOccupancyTransactionForm.externalReceiptNumber, lotOccupancyTransactionForm.transactionNote, dateStringToInteger(lotOccupancyTransactionForm.transactionDateString), timeStringToInteger(lotOccupancyTransactionForm.transactionTimeString), user.userName, Date.now(), lotOccupancyTransactionForm.lotOccupancyId, lotOccupancyTransactionForm.transactionIndex); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateLotOccupancyTransaction.ts b/helpers/lotOccupancyDB/updateLotOccupancyTransaction.ts index ff6caa29..2808e80b 100644 --- a/helpers/lotOccupancyDB/updateLotOccupancyTransaction.ts +++ b/helpers/lotOccupancyDB/updateLotOccupancyTransaction.ts @@ -1,11 +1,9 @@ -import { acquireConnection } from './pool.js' - import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface UpdateLotOccupancyTransactionForm { lotOccupancyId: string | number @@ -19,7 +17,7 @@ interface UpdateLotOccupancyTransactionForm { export async function updateLotOccupancyTransaction( lotOccupancyTransactionForm: UpdateLotOccupancyTransactionForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -43,7 +41,7 @@ export async function updateLotOccupancyTransaction( lotOccupancyTransactionForm.transactionNote, dateStringToInteger(lotOccupancyTransactionForm.transactionDateString), timeStringToInteger(lotOccupancyTransactionForm.transactionTimeString), - requestSession.user!.userName, + user.userName, Date.now(), lotOccupancyTransactionForm.lotOccupancyId, lotOccupancyTransactionForm.transactionIndex diff --git a/helpers/lotOccupancyDB/updateLotOccupantType.d.ts b/helpers/lotOccupancyDB/updateLotOccupantType.d.ts index 76ed6498..8dd02e10 100644 --- a/helpers/lotOccupancyDB/updateLotOccupantType.d.ts +++ b/helpers/lotOccupancyDB/updateLotOccupantType.d.ts @@ -1,9 +1,8 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateLotOccupantTypeForm { lotOccupantTypeId: number | string; lotOccupantType: string; fontAwesomeIconClass: string; occupantCommentTitle: string; } -export declare function updateLotOccupantType(lotOccupantTypeForm: UpdateLotOccupantTypeForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateLotOccupantType(lotOccupantTypeForm: UpdateLotOccupantTypeForm, user: User): Promise; export default updateLotOccupantType; diff --git a/helpers/lotOccupancyDB/updateLotOccupantType.js b/helpers/lotOccupancyDB/updateLotOccupantType.js index 4cd293d0..a24afdc9 100644 --- a/helpers/lotOccupancyDB/updateLotOccupantType.js +++ b/helpers/lotOccupancyDB/updateLotOccupantType.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export async function updateLotOccupantType(lotOccupantTypeForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function updateLotOccupantType(lotOccupantTypeForm, user) { const database = await acquireConnection(); const result = database .prepare(`update LotOccupantTypes @@ -11,7 +11,7 @@ export async function updateLotOccupantType(lotOccupantTypeForm, requestSession) recordUpdate_timeMillis = ? where lotOccupantTypeId = ? and recordDelete_timeMillis is null`) - .run(lotOccupantTypeForm.lotOccupantType, lotOccupantTypeForm.fontAwesomeIconClass, lotOccupantTypeForm.occupantCommentTitle, requestSession.user.userName, Date.now(), lotOccupantTypeForm.lotOccupantTypeId); + .run(lotOccupantTypeForm.lotOccupantType, lotOccupantTypeForm.fontAwesomeIconClass, lotOccupantTypeForm.occupantCommentTitle, user.userName, Date.now(), lotOccupantTypeForm.lotOccupantTypeId); database.release(); clearCacheByTableName('LotOccupantTypes'); return result.changes > 0; diff --git a/helpers/lotOccupancyDB/updateLotOccupantType.ts b/helpers/lotOccupancyDB/updateLotOccupantType.ts index 13cf7e7d..91ce1ebd 100644 --- a/helpers/lotOccupancyDB/updateLotOccupantType.ts +++ b/helpers/lotOccupancyDB/updateLotOccupantType.ts @@ -1,8 +1,6 @@ -import { acquireConnection } from './pool.js' - import { clearCacheByTableName } from '../functions.cache.js' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface UpdateLotOccupantTypeForm { lotOccupantTypeId: number | string @@ -13,7 +11,7 @@ interface UpdateLotOccupantTypeForm { export async function updateLotOccupantType( lotOccupantTypeForm: UpdateLotOccupantTypeForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -32,7 +30,7 @@ export async function updateLotOccupantType( lotOccupantTypeForm.lotOccupantType, lotOccupantTypeForm.fontAwesomeIconClass, lotOccupantTypeForm.occupantCommentTitle, - requestSession.user!.userName, + user.userName, Date.now(), lotOccupantTypeForm.lotOccupantTypeId ) diff --git a/helpers/lotOccupancyDB/updateLotTypeField.d.ts b/helpers/lotOccupancyDB/updateLotTypeField.d.ts index ab106c63..e3cd13ec 100644 --- a/helpers/lotOccupancyDB/updateLotTypeField.d.ts +++ b/helpers/lotOccupancyDB/updateLotTypeField.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateLotTypeFieldForm { lotTypeFieldId: number | string; lotTypeField: string; @@ -8,5 +7,5 @@ interface UpdateLotTypeFieldForm { pattern?: string; lotTypeFieldValues: string; } -export declare function updateLotTypeField(lotTypeFieldForm: UpdateLotTypeFieldForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateLotTypeField(lotTypeFieldForm: UpdateLotTypeFieldForm, user: User): Promise; export default updateLotTypeField; diff --git a/helpers/lotOccupancyDB/updateLotTypeField.js b/helpers/lotOccupancyDB/updateLotTypeField.js index 70b14a5c..1dd6303f 100644 --- a/helpers/lotOccupancyDB/updateLotTypeField.js +++ b/helpers/lotOccupancyDB/updateLotTypeField.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export async function updateLotTypeField(lotTypeFieldForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function updateLotTypeField(lotTypeFieldForm, user) { const database = await acquireConnection(); const result = database .prepare(`update LotTypeFields @@ -14,7 +14,7 @@ export async function updateLotTypeField(lotTypeFieldForm, requestSession) { recordUpdate_timeMillis = ? 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, Date.now(), lotTypeFieldForm.lotTypeFieldId); + .run(lotTypeFieldForm.lotTypeField, Number.parseInt(lotTypeFieldForm.isRequired, 10), lotTypeFieldForm.minimumLength ?? 0, lotTypeFieldForm.maximumLength ?? 100, lotTypeFieldForm.pattern ?? '', lotTypeFieldForm.lotTypeFieldValues, user.userName, Date.now(), lotTypeFieldForm.lotTypeFieldId); database.release(); clearCacheByTableName('LotTypeFields'); return result.changes > 0; diff --git a/helpers/lotOccupancyDB/updateLotTypeField.ts b/helpers/lotOccupancyDB/updateLotTypeField.ts index a02a8d7f..42b10284 100644 --- a/helpers/lotOccupancyDB/updateLotTypeField.ts +++ b/helpers/lotOccupancyDB/updateLotTypeField.ts @@ -1,8 +1,6 @@ -import { acquireConnection } from './pool.js' - import { clearCacheByTableName } from '../functions.cache.js' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface UpdateLotTypeFieldForm { lotTypeFieldId: number | string @@ -16,7 +14,7 @@ interface UpdateLotTypeFieldForm { export async function updateLotTypeField( lotTypeFieldForm: UpdateLotTypeFieldForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -41,7 +39,7 @@ export async function updateLotTypeField( lotTypeFieldForm.maximumLength ?? 100, lotTypeFieldForm.pattern ?? '', lotTypeFieldForm.lotTypeFieldValues, - requestSession.user!.userName, + user.userName, Date.now(), lotTypeFieldForm.lotTypeFieldId ) diff --git a/helpers/lotOccupancyDB/updateMap.d.ts b/helpers/lotOccupancyDB/updateMap.d.ts index be888334..5e151b1c 100644 --- a/helpers/lotOccupancyDB/updateMap.d.ts +++ b/helpers/lotOccupancyDB/updateMap.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateMapForm { mapId: string; mapName: string; @@ -13,5 +12,5 @@ interface UpdateMapForm { mapPostalCode: string; mapPhoneNumber: string; } -export declare function updateMap(mapForm: UpdateMapForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateMap(mapForm: UpdateMapForm, user: User): Promise; export default updateMap; diff --git a/helpers/lotOccupancyDB/updateMap.js b/helpers/lotOccupancyDB/updateMap.js index 3f0d6edf..87aea9df 100644 --- a/helpers/lotOccupancyDB/updateMap.js +++ b/helpers/lotOccupancyDB/updateMap.js @@ -1,5 +1,5 @@ import { acquireConnection } from './pool.js'; -export async function updateMap(mapForm, requestSession) { +export async function updateMap(mapForm, user) { const database = await acquireConnection(); const result = database .prepare(`update Maps @@ -18,7 +18,7 @@ export async function updateMap(mapForm, requestSession) { recordUpdate_timeMillis = ? 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, Date.now(), mapForm.mapId); + .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, user.userName, Date.now(), mapForm.mapId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateMap.ts b/helpers/lotOccupancyDB/updateMap.ts index 5dc4ff73..b1d8356c 100644 --- a/helpers/lotOccupancyDB/updateMap.ts +++ b/helpers/lotOccupancyDB/updateMap.ts @@ -1,7 +1,5 @@ import { acquireConnection } from './pool.js' -import type * as recordTypes from '../../types/recordTypes' - interface UpdateMapForm { mapId: string mapName: string @@ -19,7 +17,7 @@ interface UpdateMapForm { export async function updateMap( mapForm: UpdateMapForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -54,7 +52,7 @@ export async function updateMap( mapForm.mapProvince, mapForm.mapPostalCode, mapForm.mapPhoneNumber, - requestSession.user!.userName, + user.userName, Date.now(), mapForm.mapId ) diff --git a/helpers/lotOccupancyDB/updateOccupancyTypeField.d.ts b/helpers/lotOccupancyDB/updateOccupancyTypeField.d.ts index 4b22518c..43a3248e 100644 --- a/helpers/lotOccupancyDB/updateOccupancyTypeField.d.ts +++ b/helpers/lotOccupancyDB/updateOccupancyTypeField.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateOccupancyTypeFieldForm { occupancyTypeFieldId: number | string; occupancyTypeField: string; @@ -8,5 +7,5 @@ interface UpdateOccupancyTypeFieldForm { pattern?: string; occupancyTypeFieldValues: string; } -export declare function updateOccupancyTypeField(occupancyTypeFieldForm: UpdateOccupancyTypeFieldForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateOccupancyTypeField(occupancyTypeFieldForm: UpdateOccupancyTypeFieldForm, user: User): Promise; export default updateOccupancyTypeField; diff --git a/helpers/lotOccupancyDB/updateOccupancyTypeField.js b/helpers/lotOccupancyDB/updateOccupancyTypeField.js index bf72087b..6bc7d9f9 100644 --- a/helpers/lotOccupancyDB/updateOccupancyTypeField.js +++ b/helpers/lotOccupancyDB/updateOccupancyTypeField.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; -export async function updateOccupancyTypeField(occupancyTypeFieldForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function updateOccupancyTypeField(occupancyTypeFieldForm, user) { const database = await acquireConnection(); const result = database .prepare(`update OccupancyTypeFields @@ -14,7 +14,7 @@ export async function updateOccupancyTypeField(occupancyTypeFieldForm, requestSe recordUpdate_timeMillis = ? 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, Date.now(), occupancyTypeFieldForm.occupancyTypeFieldId); + .run(occupancyTypeFieldForm.occupancyTypeField, Number.parseInt(occupancyTypeFieldForm.isRequired, 10), occupancyTypeFieldForm.minimumLength ?? 0, occupancyTypeFieldForm.maximumLength ?? 100, occupancyTypeFieldForm.pattern ?? '', occupancyTypeFieldForm.occupancyTypeFieldValues, user.userName, Date.now(), occupancyTypeFieldForm.occupancyTypeFieldId); database.release(); clearCacheByTableName('OccupancyTypeFields'); return result.changes > 0; diff --git a/helpers/lotOccupancyDB/updateOccupancyTypeField.ts b/helpers/lotOccupancyDB/updateOccupancyTypeField.ts index 054788d5..2bcc9e85 100644 --- a/helpers/lotOccupancyDB/updateOccupancyTypeField.ts +++ b/helpers/lotOccupancyDB/updateOccupancyTypeField.ts @@ -1,8 +1,6 @@ -import { acquireConnection } from './pool.js' - import { clearCacheByTableName } from '../functions.cache.js' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface UpdateOccupancyTypeFieldForm { occupancyTypeFieldId: number | string @@ -16,7 +14,7 @@ interface UpdateOccupancyTypeFieldForm { export async function updateOccupancyTypeField( occupancyTypeFieldForm: UpdateOccupancyTypeFieldForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -41,7 +39,7 @@ export async function updateOccupancyTypeField( occupancyTypeFieldForm.maximumLength ?? 100, occupancyTypeFieldForm.pattern ?? '', occupancyTypeFieldForm.occupancyTypeFieldValues, - requestSession.user!.userName, + user.userName, Date.now(), occupancyTypeFieldForm.occupancyTypeFieldId ) diff --git a/helpers/lotOccupancyDB/updateRecord.d.ts b/helpers/lotOccupancyDB/updateRecord.d.ts index da4dda6f..68b0d130 100644 --- a/helpers/lotOccupancyDB/updateRecord.d.ts +++ b/helpers/lotOccupancyDB/updateRecord.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; type RecordTable = 'FeeCategories' | 'LotStatuses' | 'LotTypes' | 'OccupancyTypes' | 'WorkOrderMilestoneTypes' | 'WorkOrderTypes'; -export declare function updateRecord(recordTable: RecordTable, recordId: number | string, recordName: string, requestSession: recordTypes.PartialSession): Promise; +export declare function updateRecord(recordTable: RecordTable, recordId: number | string, recordName: string, user: User): Promise; export {}; diff --git a/helpers/lotOccupancyDB/updateRecord.js b/helpers/lotOccupancyDB/updateRecord.js index b62b01a2..55940af1 100644 --- a/helpers/lotOccupancyDB/updateRecord.js +++ b/helpers/lotOccupancyDB/updateRecord.js @@ -1,5 +1,5 @@ -import { acquireConnection } from './pool.js'; import { clearCacheByTableName } from '../functions.cache.js'; +import { acquireConnection } from './pool.js'; const recordNameIdColumns = new Map(); recordNameIdColumns.set('FeeCategories', ['feeCategory', 'feeCategoryId']); recordNameIdColumns.set('LotStatuses', ['lotStatus', 'lotStatusId']); @@ -10,7 +10,7 @@ recordNameIdColumns.set('WorkOrderMilestoneTypes', [ 'workOrderMilestoneTypeId' ]); recordNameIdColumns.set('WorkOrderTypes', ['workOrderType', 'workOrderTypeId']); -export async function updateRecord(recordTable, recordId, recordName, requestSession) { +export async function updateRecord(recordTable, recordId, recordName, user) { const database = await acquireConnection(); const result = database .prepare(`update ${recordTable} @@ -19,7 +19,7 @@ export async function updateRecord(recordTable, recordId, recordName, requestSes recordUpdate_timeMillis = ? where recordDelete_timeMillis is null and ${recordNameIdColumns.get(recordTable)[1]} = ?`) - .run(recordName, requestSession.user.userName, Date.now(), recordId); + .run(recordName, user.userName, Date.now(), recordId); database.release(); clearCacheByTableName(recordTable); return result.changes > 0; diff --git a/helpers/lotOccupancyDB/updateRecord.ts b/helpers/lotOccupancyDB/updateRecord.ts index c206ba31..add0d563 100644 --- a/helpers/lotOccupancyDB/updateRecord.ts +++ b/helpers/lotOccupancyDB/updateRecord.ts @@ -1,8 +1,6 @@ -import { acquireConnection } from './pool.js' - import { clearCacheByTableName } from '../functions.cache.js' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' type RecordTable = | 'FeeCategories' @@ -27,7 +25,7 @@ export async function updateRecord( recordTable: RecordTable, recordId: number | string, recordName: string, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -40,7 +38,7 @@ export async function updateRecord( where recordDelete_timeMillis is null and ${recordNameIdColumns.get(recordTable)![1]} = ?` ) - .run(recordName, requestSession.user!.userName, Date.now(), recordId) + .run(recordName, user.userName, Date.now(), recordId) database.release() diff --git a/helpers/lotOccupancyDB/updateWorkOrder.d.ts b/helpers/lotOccupancyDB/updateWorkOrder.d.ts index a2c0941b..4efad549 100644 --- a/helpers/lotOccupancyDB/updateWorkOrder.d.ts +++ b/helpers/lotOccupancyDB/updateWorkOrder.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateWorkOrderForm { workOrderId: string; workOrderNumber: string; @@ -6,5 +5,5 @@ interface UpdateWorkOrderForm { workOrderDescription: string; workOrderOpenDateString: string; } -export declare function updateWorkOrder(workOrderForm: UpdateWorkOrderForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateWorkOrder(workOrderForm: UpdateWorkOrderForm, user: User): Promise; export default updateWorkOrder; diff --git a/helpers/lotOccupancyDB/updateWorkOrder.js b/helpers/lotOccupancyDB/updateWorkOrder.js index 50742119..d5f299e6 100644 --- a/helpers/lotOccupancyDB/updateWorkOrder.js +++ b/helpers/lotOccupancyDB/updateWorkOrder.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { dateStringToInteger } from '@cityssm/utils-datetime'; -export async function updateWorkOrder(workOrderForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function updateWorkOrder(workOrderForm, user) { const database = await acquireConnection(); const result = database .prepare(`update WorkOrders @@ -12,7 +12,7 @@ export async function updateWorkOrder(workOrderForm, requestSession) { recordUpdate_timeMillis = ? where workOrderId = ? and recordDelete_timeMillis is null`) - .run(workOrderForm.workOrderNumber, workOrderForm.workOrderTypeId, workOrderForm.workOrderDescription, dateStringToInteger(workOrderForm.workOrderOpenDateString), requestSession.user.userName, Date.now(), workOrderForm.workOrderId); + .run(workOrderForm.workOrderNumber, workOrderForm.workOrderTypeId, workOrderForm.workOrderDescription, dateStringToInteger(workOrderForm.workOrderOpenDateString), user.userName, Date.now(), workOrderForm.workOrderId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateWorkOrder.ts b/helpers/lotOccupancyDB/updateWorkOrder.ts index e6863f0d..604a2c7a 100644 --- a/helpers/lotOccupancyDB/updateWorkOrder.ts +++ b/helpers/lotOccupancyDB/updateWorkOrder.ts @@ -1,8 +1,6 @@ -import { acquireConnection } from './pool.js' - import { dateStringToInteger } from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface UpdateWorkOrderForm { workOrderId: string @@ -14,7 +12,7 @@ interface UpdateWorkOrderForm { export async function updateWorkOrder( workOrderForm: UpdateWorkOrderForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -35,7 +33,7 @@ export async function updateWorkOrder( workOrderForm.workOrderTypeId, workOrderForm.workOrderDescription, dateStringToInteger(workOrderForm.workOrderOpenDateString), - requestSession.user!.userName, + user.userName, Date.now(), workOrderForm.workOrderId ) diff --git a/helpers/lotOccupancyDB/updateWorkOrderComment.d.ts b/helpers/lotOccupancyDB/updateWorkOrderComment.d.ts index 1d4572f0..37e54013 100644 --- a/helpers/lotOccupancyDB/updateWorkOrderComment.d.ts +++ b/helpers/lotOccupancyDB/updateWorkOrderComment.d.ts @@ -1,9 +1,8 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateWorkOrderCommentForm { workOrderCommentId: string | number; workOrderCommentDateString: string; workOrderCommentTimeString: string; workOrderComment: string; } -export declare function updateWorkOrderComment(commentForm: UpdateWorkOrderCommentForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateWorkOrderComment(commentForm: UpdateWorkOrderCommentForm, user: User): Promise; export default updateWorkOrderComment; diff --git a/helpers/lotOccupancyDB/updateWorkOrderComment.js b/helpers/lotOccupancyDB/updateWorkOrderComment.js index 2f312c32..cc97a4dc 100644 --- a/helpers/lotOccupancyDB/updateWorkOrderComment.js +++ b/helpers/lotOccupancyDB/updateWorkOrderComment.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime'; -export async function updateWorkOrderComment(commentForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function updateWorkOrderComment(commentForm, user) { const database = await acquireConnection(); const result = database .prepare(`update WorkOrderComments @@ -11,7 +11,7 @@ export async function updateWorkOrderComment(commentForm, requestSession) { recordUpdate_timeMillis = ? where recordDelete_timeMillis is null and workOrderCommentId = ?`) - .run(dateStringToInteger(commentForm.workOrderCommentDateString), timeStringToInteger(commentForm.workOrderCommentTimeString), commentForm.workOrderComment, requestSession.user.userName, Date.now(), commentForm.workOrderCommentId); + .run(dateStringToInteger(commentForm.workOrderCommentDateString), timeStringToInteger(commentForm.workOrderCommentTimeString), commentForm.workOrderComment, user.userName, Date.now(), commentForm.workOrderCommentId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateWorkOrderComment.ts b/helpers/lotOccupancyDB/updateWorkOrderComment.ts index 49dcaa10..0ad16016 100644 --- a/helpers/lotOccupancyDB/updateWorkOrderComment.ts +++ b/helpers/lotOccupancyDB/updateWorkOrderComment.ts @@ -1,11 +1,9 @@ -import { acquireConnection } from './pool.js' - import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface UpdateWorkOrderCommentForm { workOrderCommentId: string | number @@ -16,7 +14,7 @@ interface UpdateWorkOrderCommentForm { export async function updateWorkOrderComment( commentForm: UpdateWorkOrderCommentForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -35,7 +33,7 @@ export async function updateWorkOrderComment( dateStringToInteger(commentForm.workOrderCommentDateString), timeStringToInteger(commentForm.workOrderCommentTimeString), commentForm.workOrderComment, - requestSession.user!.userName, + user.userName, Date.now(), commentForm.workOrderCommentId ) diff --git a/helpers/lotOccupancyDB/updateWorkOrderMilestone.d.ts b/helpers/lotOccupancyDB/updateWorkOrderMilestone.d.ts index df41bbc8..4fa27d4b 100644 --- a/helpers/lotOccupancyDB/updateWorkOrderMilestone.d.ts +++ b/helpers/lotOccupancyDB/updateWorkOrderMilestone.d.ts @@ -1,4 +1,3 @@ -import type * as recordTypes from '../../types/recordTypes'; interface UpdateWorkOrderMilestoneForm { workOrderMilestoneId: string | number; workOrderMilestoneTypeId: number | string; @@ -6,5 +5,5 @@ interface UpdateWorkOrderMilestoneForm { workOrderMilestoneTimeString?: string; workOrderMilestoneDescription: string; } -export declare function updateWorkOrderMilestone(milestoneForm: UpdateWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): Promise; +export declare function updateWorkOrderMilestone(milestoneForm: UpdateWorkOrderMilestoneForm, user: User): Promise; export default updateWorkOrderMilestone; diff --git a/helpers/lotOccupancyDB/updateWorkOrderMilestone.js b/helpers/lotOccupancyDB/updateWorkOrderMilestone.js index 7941dffb..10c39a62 100644 --- a/helpers/lotOccupancyDB/updateWorkOrderMilestone.js +++ b/helpers/lotOccupancyDB/updateWorkOrderMilestone.js @@ -1,6 +1,6 @@ -import { acquireConnection } from './pool.js'; import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime'; -export async function updateWorkOrderMilestone(milestoneForm, requestSession) { +import { acquireConnection } from './pool.js'; +export async function updateWorkOrderMilestone(milestoneForm, user) { const database = await acquireConnection(); const result = database .prepare(`update WorkOrderMilestones @@ -17,7 +17,7 @@ export async function updateWorkOrderMilestone(milestoneForm, requestSession) { ? 0 : dateStringToInteger(milestoneForm.workOrderMilestoneDateString), (milestoneForm.workOrderMilestoneTimeString ?? '') === '' ? 0 - : timeStringToInteger(milestoneForm.workOrderMilestoneTimeString), milestoneForm.workOrderMilestoneDescription, requestSession.user.userName, Date.now(), milestoneForm.workOrderMilestoneId); + : timeStringToInteger(milestoneForm.workOrderMilestoneTimeString), milestoneForm.workOrderMilestoneDescription, user.userName, Date.now(), milestoneForm.workOrderMilestoneId); database.release(); return result.changes > 0; } diff --git a/helpers/lotOccupancyDB/updateWorkOrderMilestone.ts b/helpers/lotOccupancyDB/updateWorkOrderMilestone.ts index c309dd47..4ca82cbe 100644 --- a/helpers/lotOccupancyDB/updateWorkOrderMilestone.ts +++ b/helpers/lotOccupancyDB/updateWorkOrderMilestone.ts @@ -1,11 +1,9 @@ -import { acquireConnection } from './pool.js' - import { dateStringToInteger, timeStringToInteger } from '@cityssm/utils-datetime' -import type * as recordTypes from '../../types/recordTypes' +import { acquireConnection } from './pool.js' interface UpdateWorkOrderMilestoneForm { workOrderMilestoneId: string | number @@ -17,7 +15,7 @@ interface UpdateWorkOrderMilestoneForm { export async function updateWorkOrderMilestone( milestoneForm: UpdateWorkOrderMilestoneForm, - requestSession: recordTypes.PartialSession + user: User ): Promise { const database = await acquireConnection() @@ -44,7 +42,7 @@ export async function updateWorkOrderMilestone( : timeStringToInteger(milestoneForm.workOrderMilestoneTimeString!), milestoneForm.workOrderMilestoneDescription, - requestSession.user!.userName, + user.userName, Date.now(), milestoneForm.workOrderMilestoneId ) diff --git a/helpers/polyfills.d.ts b/helpers/polyfills.d.ts deleted file mode 100644 index 9ecbea09..00000000 --- a/helpers/polyfills.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function applyPolyfills(): void; -export default applyPolyfills; diff --git a/helpers/polyfills.js b/helpers/polyfills.js deleted file mode 100644 index 56ddd85c..00000000 --- a/helpers/polyfills.js +++ /dev/null @@ -1,17 +0,0 @@ -import hasOwn from 'object.hasown'; -import cluster from 'cluster'; -import Debug from 'debug'; -const debug = Debug('lot-occupancy-system:polyfills'); -export function applyPolyfills() { - if (Object.hasOwn === undefined) { - debug('Applying Object.hasOwn(o, v) polyfill'); - Object.hasOwn = hasOwn; - } - if (!Object.hasOwn(cluster, 'setupPrimary') && - Object.hasOwn(cluster, 'setupMaster')) { - debug('Applying cluster.setupPrimary() polyfill'); - cluster.setupPrimary = cluster.setupMaster; - } -} -applyPolyfills(); -export default applyPolyfills; diff --git a/helpers/polyfills.ts b/helpers/polyfills.ts deleted file mode 100644 index 43f447cb..00000000 --- a/helpers/polyfills.ts +++ /dev/null @@ -1,26 +0,0 @@ -import hasOwn from 'object.hasown' - -// eslint-disable-next-line unicorn/prefer-node-protocol -import cluster from 'cluster' - -import Debug from 'debug' -const debug = Debug('lot-occupancy-system:polyfills') - -export function applyPolyfills(): void { - if (Object.hasOwn === undefined) { - debug('Applying Object.hasOwn(o, v) polyfill') - Object.hasOwn = hasOwn - } - - if ( - !Object.hasOwn(cluster, 'setupPrimary') && - Object.hasOwn(cluster, 'setupMaster') - ) { - debug('Applying cluster.setupPrimary() polyfill') - cluster.setupPrimary = cluster.setupMaster - } -} - -applyPolyfills() - -export default applyPolyfills diff --git a/package-lock.json b/package-lock.json index 6be27329..984329b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,95 +14,96 @@ "@cityssm/date-diff": "^2.2.3", "@cityssm/dynamics-gp": "^0.5.1", "@cityssm/expressjs-server-js": "^2.3.3", - "@cityssm/ntfy-publish": "^0.2.2", - "@cityssm/pdf-puppeteer": "^2.0.0-beta.1", - "@cityssm/utils-datetime": "^0.1.1", + "@cityssm/ntfy-publish": "^1.0.0", + "@cityssm/pdf-puppeteer": "^2.0.0", + "@cityssm/utils-datetime": "^1.0.0", "@fortawesome/fontawesome-free": "^5.15.4", "activedirectory2": "^2.2.0", "better-sqlite-pool": "^0.3.2", - "better-sqlite3": "^8.4.0", + "better-sqlite3": "^9.1.1", "bulma-calendar": "^6.1.19", - "camelcase": "^7.0.1", + "camelcase": "^8.0.0", "compression": "^1.7.4", "cookie-parser": "^1.4.6", "cross-env": "^7.0.3", "csurf": "^1.11.0", "debug": "^4.3.4", "ejs": "^3.1.9", - "exit-hook": "^3.2.0", + "eslint-config-cityssm": "^1.1.1", + "exit-hook": "^4.0.0", "express": "^4.18.2", - "express-rate-limit": "^6.7.0", + "express-rate-limit": "^7.1.5", "express-session": "^1.17.3", "font-awesome-v5-icons": "^1.3.0", "http-errors": "^2.0.0", - "ical-generator": "^5.0.0", + "ical-generator": "^6.0.0", "leaflet": "^1.9.4", "node-cache": "^5.1.2", - "object.hasown": "^1.1.2", "papaparse": "^5.4.1", "randomcolor": "^0.6.2", "session-file-store": "^1.5.0", "set-interval-async": "^3.0.3", - "uuid": "^9.0.0" + "uuid": "^9.0.1" }, "devDependencies": { "@cityssm/bulma-a11y": "^0.4.0", "@cityssm/bulma-sticky-table": "^2.1.0", "@cityssm/bulma-webapp-css": "^0.12.0", "@cityssm/fa-glow": "^0.1.0", - "@cityssm/mssql-multi-pool": "^2.2.3", + "@cityssm/mssql-multi-pool": "^3.0.0", "@cityssm/simple-fa5-checkbox": "^0.2.1", - "@types/activedirectory2": "^1.2.3", - "@types/better-sqlite3": "^7.6.4", - "@types/compression": "^1.7.2", - "@types/cookie-parser": "^1.4.3", - "@types/csurf": "^1.11.2", - "@types/debug": "^4.1.8", - "@types/ejs": "^3.1.2", - "@types/express": "^4.17.17", - "@types/express-session": "^1.17.7", - "@types/gulp": "^4.0.11", - "@types/gulp-changed": "^0.0.36", - "@types/gulp-minify": "^3.1.2", - "@types/gulp-sass": "^5.0.1", - "@types/http-errors": "^2.0.1", - "@types/leaflet": "^1.9.3", - "@types/mocha": "^10.0.1", - "@types/mssql": "^8.1.2", - "@types/node-windows": "^0.1.2", - "@types/papaparse": "^5.3.7", - "@types/randomcolor": "^0.5.7", - "@types/session-file-store": "^1.2.2", - "@types/uuid": "^9.0.2", - "@typescript-eslint/eslint-plugin": "^5.60.0", - "@typescript-eslint/parser": "^5.60.0", - "axe-core": "^4.7.2", + "@types/activedirectory2": "^1.2.6", + "@types/better-sqlite3": "^7.6.8", + "@types/compression": "^1.7.5", + "@types/cookie-parser": "^1.4.6", + "@types/csurf": "^1.11.5", + "@types/debug": "^4.1.12", + "@types/ejs": "^3.1.5", + "@types/express": "^4.17.21", + "@types/express-session": "^1.17.10", + "@types/gulp": "^4.0.17", + "@types/gulp-changed": "^0.0.39", + "@types/gulp-minify": "^3.1.5", + "@types/gulp-sass": "^5.0.4", + "@types/http-errors": "^2.0.4", + "@types/leaflet": "^1.9.8", + "@types/mocha": "^10.0.6", + "@types/mssql": "^9.1.4", + "@types/node-windows": "^0.1.6", + "@types/papaparse": "^5.3.14", + "@types/randomcolor": "^0.5.9", + "@types/session-file-store": "^1.2.5", + "@types/uuid": "^9.0.7", + "axe-core": "^4.8.2", "bulma": "^0.9.4", "bulma-divider": "^0.2.0", "bulma-helpers": "^0.4.3", "bulma-steps": "^2.2.1", "bulma-switch": "^2.0.4", "bulma-tooltip": "^3.0.2", - "cypress": "^12.14.0", - "cypress-axe": "^1.4.0", - "eslint": "^8.43.0", - "eslint-config-standard-with-typescript": "^35.0.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-unicorn": "^47.0.0", + "cypress": "^13.6.0", + "cypress-axe": "^1.5.0", "gulp": "^4.0.2", - "gulp-changed": "^4.0.3", + "gulp-changed": "^5.0.1", "gulp-include": "^2.4.1", "gulp-minify": "^3.1.0", "gulp-sass": "^5.1.0", - "nodemon": "^2.0.22", - "sass": "^1.63.4" + "nodemon": "^3.0.1", + "sass": "^1.69.5" }, "engines": { "node": "^14.13.1 || >=16.0.0" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@azure/abort-controller": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", @@ -115,15 +116,16 @@ } }, "node_modules/@azure/core-auth": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.4.0.tgz", - "integrity": "sha512-HFrcTgmuSuukRf/EdPmqBrc5l6Q5Uu+2TbuhaKbgaCpP2TfAeiNaQPAadxO+CYBRHGUzIDteMAjFspFLDLnKVQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.5.0.tgz", + "integrity": "sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==", "dependencies": { "@azure/abort-controller": "^1.0.0", + "@azure/core-util": "^1.1.0", "tslib": "^2.2.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/@azure/core-client": { @@ -233,15 +235,15 @@ } }, "node_modules/@azure/core-util": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.1.1.tgz", - "integrity": "sha512-A4TBYVQCtHOigFb2ETiiKFDocBoI1Zk2Ui1KpI42aJSIDexF7DHQFpnjonltXAIU/ceH+1fsZAWWgvX6/AKzog==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.6.1.tgz", + "integrity": "sha512-h5taHeySlsV9qxuK64KZxy4iln1BtMYlNt5jbuEFN3UFSAd1EwKg/Gjl5a6tZ/W8t6li3xPnutOx7zbDyXnPmQ==", "dependencies": { "@azure/abort-controller": "^1.0.0", "tslib": "^2.2.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=16.0.0" } }, "node_modules/@azure/identity": { @@ -370,7 +372,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, "dependencies": { "@babel/highlight": "^7.18.6" }, @@ -379,10 +380,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true, + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "engines": { "node": ">=6.9.0" } @@ -391,7 +391,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -405,7 +404,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -417,7 +415,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -431,7 +428,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -439,14 +435,12 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -455,7 +449,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -464,7 +457,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -536,6 +528,30 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, + "node_modules/@cityssm/dynamics-gp/node_modules/@cityssm/mssql-multi-pool": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@cityssm/mssql-multi-pool/-/mssql-multi-pool-2.2.4.tgz", + "integrity": "sha512-2FaRFzkl0E5R5tHO8aW5nLDhvXJKgSI1Oq+DiWR/avcvZNW9sqYoKYYskSu2KmOb25mxd0AeURgQkoUrPQIu8A==", + "dependencies": { + "debug": "^4.3.4", + "exit-hook": "^3.2.0", + "mssql": "^9.1.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@cityssm/dynamics-gp/node_modules/exit-hook": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-3.2.0.tgz", + "integrity": "sha512-aIQN7Q04HGAV/I5BszisuHTZHXNoC23WtLkxdCLuYZMdWviRD0TMIt2bnUBi9MrHaF/hH8b3gwG9iaAUHKnJGA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@cityssm/expressjs-server-js": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/@cityssm/expressjs-server-js/-/expressjs-server-js-2.3.3.tgz", @@ -557,37 +573,257 @@ "dev": true }, "node_modules/@cityssm/mssql-multi-pool": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@cityssm/mssql-multi-pool/-/mssql-multi-pool-2.2.3.tgz", - "integrity": "sha512-S1UZLkQUjq4qaCUqgNDEG1T2avFx0U9wYOskTtGKwt/ppvAv2caIV+LOJSf2gteuc2rzW5IuWWyqTPp2PyAfjg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cityssm/mssql-multi-pool/-/mssql-multi-pool-3.0.0.tgz", + "integrity": "sha512-GYk7omiitxMzISRBUgW+U1xrXu3A+LIApzQKw0KjCtrcjmx7uPYtEbmKFJ6fLHzsOyx0PdWe9yHLeHJw4J/OJQ==", + "dev": true, "dependencies": { "debug": "^4.3.4", - "exit-hook": "^3.2.0", - "mssql": "^9.1.1" + "exit-hook": "^4.0.0", + "mssql": "^10.0.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18.0.0" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/@azure/identity": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-3.4.1.tgz", + "integrity": "sha512-oQ/r5MBdfZTMIUcY5Ch8G7Vv9aIXDkEYyU4Dfqjim4MQN+LY2uiQ57P1JDopMLeHCsZxM4yy8lEdne3tM9Xhzg==", + "dev": true, + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.5.0", + "@azure/core-client": "^1.4.0", + "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.6.1", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^3.5.0", + "@azure/msal-node": "^2.5.1", + "events": "^3.0.0", + "jws": "^4.0.0", + "open": "^8.0.0", + "stoppable": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/@azure/msal-browser": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.5.0.tgz", + "integrity": "sha512-2NtMuel4CI3UEelCPKkNRXgKzpWEX48fvxIvPz7s0/sTcCaI08r05IOkH2GkXW+czUOtuY6+oGafJCpumnjRLg==", + "dev": true, + "dependencies": { + "@azure/msal-common": "14.4.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/@azure/msal-common": { + "version": "14.4.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.4.0.tgz", + "integrity": "sha512-ffCymScQuMKVj+YVfwNI52A5Tu+uiZO2eTf+c+3TXxdAssks4nokJhtr+uOOMxH0zDi6d1OjFKFKeXODK0YLSg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/@azure/msal-node": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.5.1.tgz", + "integrity": "sha512-PsPRISqCG253HQk1cAS7eJW7NWTbnBGpG+vcGGz5z4JYRdnM2EIXlj1aBpXCdozenEPtXEVvHn2ELleW1w82nQ==", + "dev": true, + "dependencies": { + "@azure/msal-common": "14.4.0", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": "16|| 18 || 20" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/@tediousjs/connection-string": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@tediousjs/connection-string/-/connection-string-0.5.0.tgz", + "integrity": "sha512-7qSgZbincDDDFyRweCIEvZULFAw5iz/DeunhvuxpL31nfntX3P4Yd4HkHBRg9H8CdqY1e5WFN1PZIz/REL9MVQ==", + "dev": true + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/bl": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.9.tgz", + "integrity": "sha512-Vh+M9HMfeTST9rkkQ1utRnOeABNcBO3i0dJMFkenCv7JIp76XWx8uQOGpaXyXVyenrLDZsdAHXbf0Cz18Eb0fw==", + "dev": true, + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^4.2.0" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/mssql": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/mssql/-/mssql-10.0.1.tgz", + "integrity": "sha512-k0Xkav/3OppZs8Kj+FIo7k7ejbcsVNxp5/ePayxfXzuBZhxD/Y/RhIhrtfHyH6FmlJnBQPj7eDI2IN7B0BiSxQ==", + "dev": true, + "dependencies": { + "@tediousjs/connection-string": "^0.5.0", + "commander": "^11.0.0", + "debug": "^4.3.3", + "rfdc": "^1.3.0", + "tarn": "^3.0.2", + "tedious": "^16.4.0" + }, + "bin": { + "mssql": "bin/mssql" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/readable-stream": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.2.tgz", + "integrity": "sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==", + "dev": true, + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/tedious": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/tedious/-/tedious-16.6.1.tgz", + "integrity": "sha512-KKSDB1OPrPk0WbMPug9YqRbPl44zMjdL2hFyzLEidr2IkItzpV0ZbzW8VA47QIS2oyWhCU7ifIEQY12n23IRDA==", + "dev": true, + "dependencies": { + "@azure/identity": "^3.4.1", + "@azure/keyvault-keys": "^4.4.0", + "@js-joda/core": "^5.5.3", + "bl": "^6.0.3", + "es-aggregate-error": "^1.0.9", + "iconv-lite": "^0.6.3", + "js-md4": "^0.3.2", + "jsbi": "^4.3.0", + "native-duplexpair": "^1.0.0", + "node-abort-controller": "^3.1.1", + "punycode": "^2.3.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@cityssm/mssql-multi-pool/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" } }, "node_modules/@cityssm/ntfy-publish": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@cityssm/ntfy-publish/-/ntfy-publish-0.2.2.tgz", - "integrity": "sha512-ccEESstMum2mbhMnVbLXPJa3uIr2qfSfEuTNYVAoQbNNk7mw19YFybCCiwFlIl/hoRrW9PrBqoJkysVhm7qtcA==", - "dependencies": { - "node-fetch": "^3.3.1" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cityssm/ntfy-publish/-/ntfy-publish-1.0.0.tgz", + "integrity": "sha512-JfoJMFbut7SQzXClzJfunscqpIHJrsXguR3vBceVL7NNnASraTmfn0j8TqX5Ef0IH/OpAXkGKZkESae5vWSt7Q==", + "engines": { + "node": ">=18.0.0" } }, "node_modules/@cityssm/pdf-puppeteer": { - "version": "2.0.0-beta.1", - "resolved": "https://registry.npmjs.org/@cityssm/pdf-puppeteer/-/pdf-puppeteer-2.0.0-beta.1.tgz", - "integrity": "sha512-MT6mfYbYcnGO4u4dolhCGdV+o+BBe4MZ4t2hTAp3AT0FY0gcLa3riBj3FNksrqomjL+CLAz7SL4jSElKFo3AsA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@cityssm/pdf-puppeteer/-/pdf-puppeteer-2.0.0.tgz", + "integrity": "sha512-rfJDH1CMSSrLXRTJBLbdzJ4KKK3ALBsOl5BlvEs+5s00HaTAvhAka4wYfkfeph6R0i7GQHjKlMds6wJY10y2oA==", "dependencies": { "debug": "^4.3.4", - "exit-hook": "^3.1.0", - "puppeteer": "^18.2.1" + "exit-hook": "^4.0.0", + "puppeteer": "^21.5.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18.0.0" } }, "node_modules/@cityssm/random-words": { @@ -628,11 +864,11 @@ } }, "node_modules/@cityssm/utils-datetime": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@cityssm/utils-datetime/-/utils-datetime-0.1.1.tgz", - "integrity": "sha512-XPN0NwDBsHItUlssKIZ1J9gdXfM3/hO9/kSIW6U89bftUqfR2x08mgecMBcPbkxuz6egJMX9+kDf8ZXe1b1Ugg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@cityssm/utils-datetime/-/utils-datetime-1.0.0.tgz", + "integrity": "sha512-PZZ67mnKpYAut1aM5S+KTCWUPWvUzya/smp3V5IWGO0iZFep4oNG4xMmzpB+gqE379Vvupu86vC1izjX6pGzgA==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18.0.0" } }, "node_modules/@colors/colors": { @@ -646,9 +882,9 @@ } }, "node_modules/@cypress/request": { - "version": "2.88.11", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", - "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", + "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", "dev": true, "dependencies": { "aws-sign2": "~0.7.0", @@ -664,9 +900,9 @@ "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "~6.10.3", + "qs": "6.10.4", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", + "tough-cookie": "^4.1.3", "tunnel-agent": "^0.6.0", "uuid": "^8.3.2" }, @@ -706,7 +942,6 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -718,23 +953,22 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.4.0.tgz", - "integrity": "sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==", - "dev": true, + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", - "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", - "dev": true, + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", + "peer": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.2", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -750,10 +984,10 @@ } }, "node_modules/@eslint/js": { - "version": "8.43.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz", - "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==", - "dev": true, + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", + "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", + "peer": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -768,12 +1002,12 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "peer": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" }, @@ -785,7 +1019,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, + "peer": true, "engines": { "node": ">=12.22" }, @@ -795,21 +1029,20 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "peer": true }, "node_modules/@js-joda/core": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.5.2.tgz", - "integrity": "sha512-retLUN4TwCJ0QJDi9OCJwYVaXAz93NeOkEtEQL98M2bykBOxmURlP0YlfsuE46kItOOVZIWRYC3KsSLhQ1R2Qw==" + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.6.1.tgz", + "integrity": "sha512-Xla/d7ZMMR6+zRd6lTio0wRZECfcfFJP7GGe9A9L4tDOlD5CX4YcZ4YZle9w58bBYzssojVapI84RraKWDQZRg==" }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -822,7 +1055,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, "engines": { "node": ">= 8" } @@ -831,7 +1063,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -840,6 +1071,100 @@ "node": ">= 8" } }, + "node_modules/@puppeteer/browsers": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.8.0.tgz", + "integrity": "sha512-TkRHIV6k2D8OlUe8RtG+5jgOF/H98Myx0M6AOafC8DdNVOFiBSFa5cpRDtpm8LXOa9sVwe0+e6Q3FC56X/DZfg==", + "dependencies": { + "debug": "4.3.4", + "extract-zip": "2.0.1", + "progress": "2.0.3", + "proxy-agent": "6.3.1", + "tar-fs": "3.0.4", + "unbzip2-stream": "1.4.3", + "yargs": "17.7.2" + }, + "bin": { + "browsers": "lib/cjs/main-cli.js" + }, + "engines": { + "node": ">=16.3.0" + } + }, + "node_modules/@puppeteer/browsers/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@puppeteer/browsers/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/@puppeteer/browsers/node_modules/tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "dependencies": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "node_modules/@puppeteer/browsers/node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/@puppeteer/browsers/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@puppeteer/browsers/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@puppeteer/browsers/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, "node_modules/@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", @@ -875,19 +1200,24 @@ "node": ">= 10" } }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==" + }, "node_modules/@types/activedirectory2": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/activedirectory2/-/activedirectory2-1.2.3.tgz", - "integrity": "sha512-yZERTOJFrOAax2HbDyBBhAKyUEa1PC/GXMe9UGBGyeOF0ZRRBKnIMNXVAYfveJMyrhUBhdRoObwe3CBPoekyjQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/activedirectory2/-/activedirectory2-1.2.6.tgz", + "integrity": "sha512-mJsoOWf9LRpYBkExOWstWe6g6TQnZyZjVULNrX8otcCJgVliesk9T/+W+1ahrx2zaevxsp28sSKOwo/b7TOnSg==", "dev": true, "dependencies": { "@types/ldapjs": "*" } }, "node_modules/@types/better-sqlite3": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/better-sqlite3/-/better-sqlite3-7.6.4.tgz", - "integrity": "sha512-dzrRZCYPXIXfSR1/surNbJ/grU3scTaygS0OMzjlGf71i9sc2fGyHPXXiXmEvNIoE0cGwsanEFMVJxPXmco9Eg==", + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/better-sqlite3/-/better-sqlite3-7.6.8.tgz", + "integrity": "sha512-ASndM4rdGrzk7iXXqyNC4fbwt4UEjpK0i3j4q4FyeQrLAthfB6s7EF135ZJE0qQxtKIMFwmyT6x0switET7uIw==", "dev": true, "dependencies": { "@types/node": "*" @@ -915,9 +1245,9 @@ } }, "node_modules/@types/compression": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.2.tgz", - "integrity": "sha512-lwEL4M/uAGWngWFLSG87ZDr2kLrbuR8p7X+QZB1OQlT+qkHsCPDVFnHPyXf4Vyl4yDDorNY+mAhosxkCvppatg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-AAQvK5pxMpaT+nDvhHrsBhLSYG5yQdtkaJE1WYieSNY2mVFKAgmU4ks65rkZD5oqnGCFLyQpUr1CqI4DmUMyDg==", "dev": true, "dependencies": { "@types/express": "*" @@ -933,36 +1263,36 @@ } }, "node_modules/@types/cookie-parser": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@types/cookie-parser/-/cookie-parser-1.4.3.tgz", - "integrity": "sha512-CqSKwFwefj4PzZ5n/iwad/bow2hTCh0FlNAeWLtQM3JA/NX/iYagIpWG2cf1bQKQ2c9gU2log5VUCrn7LDOs0w==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@types/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-KoooCrD56qlLskXPLGUiJxOMnv5l/8m7cQD2OxJ73NPMhuSz9PmvwRD6EpjDyKBVrdJDdQ4bQK7JFNHnNmax0w==", "dev": true, "dependencies": { "@types/express": "*" } }, "node_modules/@types/csurf": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@types/csurf/-/csurf-1.11.2.tgz", - "integrity": "sha512-9bc98EnwmC1S0aSJiA8rWwXtgXtXHHOQOsGHptImxFgqm6CeH+mIOunHRg6+/eg2tlmDMX3tY7XrWxo2M/nUNQ==", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@types/csurf/-/csurf-1.11.5.tgz", + "integrity": "sha512-5rw87+5YGixyL2W8wblSUl5DSZi5YOlXE6Awwn2ofLvqKr/1LruKffrQipeJKUX44VaxKj8m5es3vfhltJTOoA==", "dev": true, "dependencies": { "@types/express-serve-static-core": "*" } }, "node_modules/@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "dev": true, "dependencies": { "@types/ms": "*" } }, "node_modules/@types/ejs": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.2.tgz", - "integrity": "sha512-ZmiaE3wglXVWBM9fyVC17aGPkLo/UgaOjEiI2FXQfyczrCefORPxIe+2dVmnmk3zkVIbizjrlQzmPGhSYGXG5g==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==", "dev": true }, "node_modules/@types/expect": { @@ -972,9 +1302,9 @@ "dev": true }, "node_modules/@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dev": true, "dependencies": { "@types/body-parser": "*", @@ -995,9 +1325,9 @@ } }, "node_modules/@types/express-session": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.17.7.tgz", - "integrity": "sha512-L25080PBYoRLu472HY/HNCxaXY8AaGgqGC8/p/8+BYMhG0RDOLQ1wpXOpAzr4Gi5TGozTKyJv5BVODM5UNyVMw==", + "version": "1.17.10", + "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.17.10.tgz", + "integrity": "sha512-U32bC/s0ejXijw5MAzyaV4tuZopCh/K7fPoUDyNbsRXHvPSeymygYD1RFL99YOLhF5PNOkzswvOTRaVHdL1zMw==", "dev": true, "dependencies": { "@types/express": "*" @@ -1030,20 +1360,21 @@ } }, "node_modules/@types/gulp": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-4.0.11.tgz", - "integrity": "sha512-jy0nfcsjiGqO1prNsYMK/bHkTblIBgG04sL2nxPpnP9MyNicHp1SUblomjOla6JoW1qkR67HjFHqIibpPoShNQ==", + "version": "4.0.17", + "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-4.0.17.tgz", + "integrity": "sha512-+pKQynu2C/HS16kgmDlAicjtFYP8kaa86eE9P0Ae7GB5W29we/E2TIdbOWtEZD5XkpY+jr8fyqfwO6SWZecLpQ==", "dev": true, "dependencies": { + "@types/node": "*", "@types/undertaker": ">=1.2.6", "@types/vinyl-fs": "*", "chokidar": "^3.3.1" } }, "node_modules/@types/gulp-changed": { - "version": "0.0.36", - "resolved": "https://registry.npmjs.org/@types/gulp-changed/-/gulp-changed-0.0.36.tgz", - "integrity": "sha512-bAXRJVAQRD2LEoLBNUIt3z2SKD9LM4CSv1IcyvjwBIyLpurHQm0zEQKGWVZUxKYqd/Uh30K2SmPnw0x425kjew==", + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/gulp-changed/-/gulp-changed-0.0.39.tgz", + "integrity": "sha512-iW/0E8aQAZIVD6OAK2azY/5JCH77y2OPIjnNrjfQHmE6k05+51ABfsPospkZm+3S0jHrKuJ7ucImRLvKaR61Hg==", "dev": true, "dependencies": { "@types/node": "*", @@ -1051,18 +1382,18 @@ } }, "node_modules/@types/gulp-minify": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@types/gulp-minify/-/gulp-minify-3.1.2.tgz", - "integrity": "sha512-uVfkur2Ml0p/2+YzFZnbqYNmRnP0fomsfbTb8ZKHgAkIclQ3p0V7B58iB7yUoMEj9wxJMZsqQB416a4GmxC3Mg==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/gulp-minify/-/gulp-minify-3.1.5.tgz", + "integrity": "sha512-Dx6dQ/o+FcXJQ0XntPCu7hL5iYMFIudQTnc11Cx9ZoOGA6ycnllqlm6zRwiQpwVm6HrA/GLUwYdU2E2DwXGBAg==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/gulp-sass": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/gulp-sass/-/gulp-sass-5.0.1.tgz", - "integrity": "sha512-CRGgIG1U0mqviX8e9J3xkuFv41bvciyE6s4+TiPr49grokV6T/53UZnmOi2LEgbkqx+oZd/d7Ly48k5PIA1mEQ==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/gulp-sass/-/gulp-sass-5.0.4.tgz", + "integrity": "sha512-wDgpyM9fRq/k7kn1ZGcoY69Pj8+AlB50U9TKmBdbmHUduy+4b7WZ1zrDl4df43W+IqJegEgen6XAKO2+/RQILA==", "dev": true, "dependencies": { "@types/node": "*", @@ -1075,22 +1406,20 @@ "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" }, "node_modules/@types/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", "dev": true }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "dev": true + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, "node_modules/@types/keyv": { "version": "3.1.4", @@ -1110,9 +1439,9 @@ } }, "node_modules/@types/leaflet": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.3.tgz", - "integrity": "sha512-Caa1lYOgKVqDkDZVWkto2Z5JtVo09spEaUt2S69LiugbBpoqQu92HYFMGUbYezZbnBkyOxMNPXHSgRrRY5UyIA==", + "version": "1.9.8", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.8.tgz", + "integrity": "sha512-EXdsL4EhoUtGm2GC2ZYtXn+Fzc6pluVgagvo2VC1RHWToLGlTRwVYoDpqS/7QXa01rmDyBjJk3Catpf60VMkwg==", "dev": true, "dependencies": { "@types/geojson": "*" @@ -1131,9 +1460,9 @@ "dev": true }, "node_modules/@types/mocha": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", - "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", + "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", "devOptional": true }, "node_modules/@types/ms": { @@ -1143,9 +1472,9 @@ "dev": true }, "node_modules/@types/mssql": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@types/mssql/-/mssql-8.1.2.tgz", - "integrity": "sha512-hoDM+mZUClfXu0J1pyVdbhv2Ve0dl0TdagAE3M5rd1slqoVEEHuNObPD+giwtJgyo99CcS58qbF9ektVKdxSfQ==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/@types/mssql/-/mssql-9.1.4.tgz", + "integrity": "sha512-st2ryK+viraRuptxcGs+66J0RrABytxhGxUlpWcOniNPzpnxIaeNhPJVM3lZn1r+s/6lQARYID6Z+MBoseSD8g==", "dev": true, "dependencies": { "@types/node": "*", @@ -1154,9 +1483,12 @@ } }, "node_modules/@types/node": { - "version": "18.11.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", - "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + "version": "18.18.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.13.tgz", + "integrity": "sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==", + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/node-sass": { "version": "4.11.3", @@ -1168,24 +1500,23 @@ } }, "node_modules/@types/node-windows": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/node-windows/-/node-windows-0.1.2.tgz", - "integrity": "sha512-Luni8arbv20PGunfPtqSHtmcm1if6t3sWuYj4aUGexalb3rUNw1a9M0GDU35Vrx012De6q37kP9IU+tYCYn/DA==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@types/node-windows/-/node-windows-0.1.6.tgz", + "integrity": "sha512-vbjaBtsF23Nprkw8rQFwskWzv5l6grWbUerYBHHjY/hqp/vIBAPGVQnr3dqsd75SwCQIAoZeBr/b+AbFFV/LfQ==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" }, "node_modules/@types/papaparse": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/@types/papaparse/-/papaparse-5.3.7.tgz", - "integrity": "sha512-f2HKmlnPdCvS0WI33WtCs5GD7X1cxzzS/aduaxSu3I7TbhWlENjSPs6z5TaB9K0J+BH1jbmqTaM+ja5puis4wg==", + "version": "5.3.14", + "resolved": "https://registry.npmjs.org/@types/papaparse/-/papaparse-5.3.14.tgz", + "integrity": "sha512-LxJ4iEFcpqc6METwp9f6BV6VVc43m6MfH0VqFosHvrUgfXiFe6ww7R3itkOQ+TCK6Y+Iv/+RnnvtRZnkc5Kc9g==", "dev": true, "dependencies": { "@types/node": "*" @@ -1198,9 +1529,9 @@ "dev": true }, "node_modules/@types/randomcolor": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@types/randomcolor/-/randomcolor-0.5.7.tgz", - "integrity": "sha512-LPcG96dGYRCsXlk1fslUNIg6ebEi+bKNyn84uBL/pu2cRSf5i/djD3ArJZOyzszVMVV/DB87va6pMZP+tRSl/w==", + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/@types/randomcolor/-/randomcolor-0.5.9.tgz", + "integrity": "sha512-k58cfpkK15AKn1m+oRd9nh5BnuiowhbyvBBdAzcddtARMr3xRzP0VlFaAKovSG6N6Knx08EicjPlOMzDejerrQ==", "dev": true }, "node_modules/@types/range-parser": { @@ -1218,10 +1549,9 @@ } }, "node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==" }, "node_modules/@types/serve-static": { "version": "1.15.0", @@ -1234,9 +1564,9 @@ } }, "node_modules/@types/session-file-store": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/session-file-store/-/session-file-store-1.2.2.tgz", - "integrity": "sha512-l9yZ+PQ8vaXhch03MrV+25BIbhKpeWfZB++3njPIm6lKeDGRS2qF2elLuVa4XrhfJbObqW0puhB3A6FCbkraZg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/session-file-store/-/session-file-store-1.2.5.tgz", + "integrity": "sha512-xjIyh40IznXLrvbAY/nmxu5cMcPcE3ZoDrSDvd02m6p8UjUgOtZAGI7Os5DDd6THuxClLWNhFo/awy1tYp64Bg==", "dev": true, "dependencies": { "@types/express": "*", @@ -1282,15 +1612,15 @@ "dev": true }, "node_modules/@types/uuid": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.2.tgz", - "integrity": "sha512-kNnC1GFBLuhImSnV7w4njQkUiJi0ZXUycu1rUaouPqiKlXkh77JKgdRnTAp1x5eBwcIwbtI+3otwzuIDEuDoxQ==", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.7.tgz", + "integrity": "sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==", "dev": true }, "node_modules/@types/vinyl": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.7.tgz", - "integrity": "sha512-4UqPv+2567NhMQuMLdKAyK4yzrfCqwaTt6bLhHEs8PFcxbHILsrxaY63n4wgE/BRLDWDQeI+WcTmkXKExh9hQg==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.11.tgz", + "integrity": "sha512-vPXzCLmRp74e9LsP8oltnWKTH+jBwt86WgRUb4Pc9Lf3pkMVGyvIo2gm9bODeGfCay2DBB/hAWDuvf07JcK4rw==", "dev": true, "dependencies": { "@types/expect": "^1.20.4", @@ -1318,32 +1648,32 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.0.tgz", - "integrity": "sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==", - "dev": true, + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.1.tgz", + "integrity": "sha512-5bQDGkXaxD46bPvQt08BUz9YSaO4S0fB1LB5JHQuXTfkGPI3+UUeS387C/e9jRie5GqT8u5kFTrMvAjtX4O5kA==", "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.60.0", - "@typescript-eslint/type-utils": "5.60.0", - "@typescript-eslint/utils": "5.60.0", + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.13.1", + "@typescript-eslint/type-utils": "6.13.1", + "@typescript-eslint/utils": "6.13.1", + "@typescript-eslint/visitor-keys": "6.13.1", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1352,25 +1682,25 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.0.tgz", - "integrity": "sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==", - "dev": true, + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.13.1.tgz", + "integrity": "sha512-fs2XOhWCzRhqMmQf0eicLa/CWSaYss2feXsy7xBD/pLyWke/jCIVc2s1ikEAtSW7ina1HNhv7kONoEfVNEcdDQ==", "dependencies": { - "@typescript-eslint/scope-manager": "5.60.0", - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/typescript-estree": "5.60.0", + "@typescript-eslint/scope-manager": "6.13.1", + "@typescript-eslint/types": "6.13.1", + "@typescript-eslint/typescript-estree": "6.13.1", + "@typescript-eslint/visitor-keys": "6.13.1", "debug": "^4.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1379,16 +1709,15 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz", - "integrity": "sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==", - "dev": true, + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.13.1.tgz", + "integrity": "sha512-BW0kJ7ceiKi56GbT2KKzZzN+nDxzQK2DS6x0PiSMPjciPgd/JRQGMibyaN2cPt2cAvuoH0oNvn2fwonHI+4QUQ==", "dependencies": { - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/visitor-keys": "5.60.0" + "@typescript-eslint/types": "6.13.1", + "@typescript-eslint/visitor-keys": "6.13.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1396,25 +1725,24 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.0.tgz", - "integrity": "sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==", - "dev": true, + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.13.1.tgz", + "integrity": "sha512-A2qPlgpxx2v//3meMqQyB1qqTg1h1dJvzca7TugM3Yc2USDY+fsRBiojAEo92HO7f5hW5mjAUF6qobOPzlBCBQ==", "dependencies": { - "@typescript-eslint/typescript-estree": "5.60.0", - "@typescript-eslint/utils": "5.60.0", + "@typescript-eslint/typescript-estree": "6.13.1", + "@typescript-eslint/utils": "6.13.1", "debug": "^4.3.4", - "tsutils": "^3.21.0" + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1423,12 +1751,11 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.0.tgz", - "integrity": "sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==", - "dev": true, + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.13.1.tgz", + "integrity": "sha512-gjeEskSmiEKKFIbnhDXUyiqVma1gRCQNbVZ1C8q7Zjcxh3WZMbzWVfGE9rHfWd1msQtPS0BVD9Jz9jded44eKg==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1436,21 +1763,20 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz", - "integrity": "sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==", - "dev": true, + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.1.tgz", + "integrity": "sha512-sBLQsvOC0Q7LGcUHO5qpG1HxRgePbT6wwqOiGLpR8uOJvPJbfs0mW3jPA3ujsDvfiVwVlWUDESNXv44KtINkUQ==", "dependencies": { - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/visitor-keys": "5.60.0", + "@typescript-eslint/types": "6.13.1", + "@typescript-eslint/visitor-keys": "6.13.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -1463,54 +1789,69 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.0.tgz", - "integrity": "sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==", - "dev": true, + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.13.1.tgz", + "integrity": "sha512-ouPn/zVoan92JgAegesTXDB/oUp6BP1v8WpfYcqh649ejNc9Qv+B4FF2Ff626kO1xg0wWwwG48lAJ4JuesgdOw==", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.60.0", - "@typescript-eslint/types": "5.60.0", - "@typescript-eslint/typescript-estree": "5.60.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.13.1", + "@typescript-eslint/types": "6.13.1", + "@typescript-eslint/typescript-estree": "6.13.1", + "semver": "^7.5.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz", - "integrity": "sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==", - "dev": true, + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.1.tgz", + "integrity": "sha512-NDhQUy2tg6XGNBGDRm1XybOHSia8mcXmlbKWoQP+nm1BIIMxa55shyJfZkHpEBN62KNPLrocSM2PdPcaLgDKMQ==", "dependencies": { - "@typescript-eslint/types": "5.60.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "6.13.1", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "peer": true + }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/abstract-logging": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", @@ -1529,10 +1870,10 @@ } }, "node_modules/acorn": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", - "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", - "dev": true, + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1544,7 +1885,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, + "peer": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -1591,7 +1932,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1679,7 +2020,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -1761,8 +2101,7 @@ "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/arr-diff": { "version": "4.0.0", @@ -1815,6 +2154,18 @@ "node": ">=0.10.0" } }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", @@ -1830,15 +2181,14 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "is-string": "^1.0.7" }, "engines": { @@ -1918,7 +2268,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, "engines": { "node": ">=8" } @@ -1932,15 +2281,32 @@ "node": ">=0.10.0" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -1951,14 +2317,13 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -1968,6 +2333,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -2004,6 +2389,17 @@ "node": ">=0.10.0" } }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -2110,14 +2506,19 @@ "dev": true }, "node_modules/axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.8.2.tgz", + "integrity": "sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==", "dev": true, "engines": { "node": ">=4" } }, + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + }, "node_modules/bach": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", @@ -2213,6 +2614,14 @@ } ] }, + "node_modules/basic-ftp": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz", + "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -2231,13 +2640,13 @@ } }, "node_modules/better-sqlite3": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.4.0.tgz", - "integrity": "sha512-NmsNW1CQvqMszu/CFAJ3pLct6NEFlNfuGM6vw72KHkjOD1UDnL96XNN1BMQc1hiHo8vE2GbOWQYIpZ+YM5wrZw==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-9.1.1.tgz", + "integrity": "sha512-FhW7bS7cXwkB2SFnPJrSGPmQerVSCzwBgmQ1cIRcYKxLsyiKjljzCbyEqqhYXo5TTBqt5BISiBj2YE2Sy2ynaA==", "hasInstallScript": true, "dependencies": { "bindings": "^1.5.0", - "prebuild-install": "^7.1.0" + "prebuild-install": "^7.1.1" } }, "node_modules/binary-extensions": { @@ -2368,7 +2777,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -2434,7 +2842,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true, "engines": { "node": ">=6" }, @@ -2446,8 +2853,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "peer": true, "dependencies": { "semver": "^7.0.0" } @@ -2561,12 +2966,13 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2576,17 +2982,16 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "engines": { "node": ">=6" } }, "node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", "engines": { - "node": ">=14.16" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2624,6 +3029,18 @@ "node": ">=8" } }, + "node_modules/change-file-extension": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/change-file-extension/-/change-file-extension-0.1.0.tgz", + "integrity": "sha512-k9K/7SnXkSuN5nwl+XyuFZfGmuw4w2V4e8xo4mT0tF5CtUjcFBlCbP2PLvpQQ3e/v7gp3Zeeeqb5neHDgNWswg==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/check-more-types": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", @@ -2660,16 +3077,41 @@ "fsevents": "~2.3.2" } }, + "node_modules/chokidar/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, + "node_modules/chromium-bidi": { + "version": "0.4.33", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.33.tgz", + "integrity": "sha512-IxoFM5WGQOIAd95qrSXzJUv4eXIrh+RvU3rwwqIiwYuvfE7U/Llj4fejbsJnjJMUYCuGtVQsY2gv7oGl4aTNSQ==", + "dependencies": { + "mitt": "3.0.1", + "urlpattern-polyfill": "9.0.0" + }, + "peerDependencies": { + "devtools-protocol": "*" + } + }, "node_modules/ci-info": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true, "funding": [ { "type": "github", @@ -2773,7 +3215,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", - "dev": true, "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -2785,7 +3226,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -3045,6 +3485,14 @@ "node": ">= 6" } }, + "node_modules/comment-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", + "engines": { + "node": ">= 12.0.0" + } + }, "node_modules/common-tags": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", @@ -3220,6 +3668,31 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/cross-env": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", @@ -3238,17 +3711,17 @@ } }, "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", "dependencies": { - "node-fetch": "2.6.7" + "node-fetch": "^2.6.12" } }, "node_modules/cross-fetch/node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -3358,15 +3831,15 @@ } }, "node_modules/cypress": { - "version": "12.14.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.14.0.tgz", - "integrity": "sha512-HiLIXKXZaIT1RT7sw1sVPt+qKtis3uYNm6KwC4qoYjabwLKaqZlyS/P+uVvvlBNcHIwL/BC6nQZajpbUd7hOgQ==", + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.0.tgz", + "integrity": "sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw==", "dev": true, "hasInstallScript": true, "dependencies": { - "@cypress/request": "^2.88.10", + "@cypress/request": "^3.0.0", "@cypress/xvfb": "^1.2.4", - "@types/node": "^14.14.31", + "@types/node": "^18.17.5", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", @@ -3399,9 +3872,10 @@ "minimist": "^1.2.8", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", + "process": "^0.11.10", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", - "semver": "^7.3.2", + "semver": "^7.5.3", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", @@ -3411,28 +3885,22 @@ "cypress": "bin/cypress" }, "engines": { - "node": "^14.0.0 || ^16.0.0 || >=18.0.0" + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" } }, "node_modules/cypress-axe": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cypress-axe/-/cypress-axe-1.4.0.tgz", - "integrity": "sha512-Ut7NKfzjyKm0BEbt2WxuKtLkIXmx6FD2j0RwdvO/Ykl7GmB/qRQkwbKLk3VP35+83hiIr8GKD04PDdrTK5BnyA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/cypress-axe/-/cypress-axe-1.5.0.tgz", + "integrity": "sha512-Hy/owCjfj+25KMsecvDgo4fC/781ccL+e8p+UUYoadGVM2ogZF9XIKbiM6KI8Y3cEaSreymdD6ZzccbI2bY0lQ==", "dev": true, "engines": { "node": ">=10" }, "peerDependencies": { "axe-core": "^3 || ^4", - "cypress": "^10 || ^11 || ^12" + "cypress": "^10 || ^11 || ^12 || ^13" } }, - "node_modules/cypress/node_modules/@types/node": { - "version": "14.18.36", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", - "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", - "dev": true - }, "node_modules/d": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", @@ -3455,14 +3923,6 @@ "node": ">=0.10" } }, - "node_modules/data-uri-to-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - "engines": { - "node": ">= 12" - } - }, "node_modules/date-fns": { "version": "2.29.3", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz", @@ -3552,7 +4012,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "peer": true }, "node_modules/default-compare": { "version": "1.0.0", @@ -3583,6 +4043,19 @@ "node": ">=10" } }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -3592,10 +4065,11 @@ } }, "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -3619,6 +4093,19 @@ "node": ">=0.10.0" } }, + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -3662,15 +4149,14 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.1045489", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1045489.tgz", - "integrity": "sha512-D+PTmWulkuQW4D1NTiCRCFxF7pQPn0hgp4YyX4wAQ6xYXKOadSWPR3ENGDQ47MW/Ewc9v2rpC/UEEGahgBYpSQ==" + "version": "0.0.1203626", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1203626.tgz", + "integrity": "sha512-nEzHZteIUZfGCZtTiS1fRpC8UZmsfD1SiyPvaUNvS13dvKf666OAm8YTi0+Ca3n1nLEyu49Cy4+dPWpaHFJk9g==" }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "dependencies": { "path-type": "^4.0.0" }, @@ -3682,7 +4168,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, + "peer": true, "dependencies": { "esutils": "^2.0.2" }, @@ -3730,6 +4216,18 @@ "node": ">=0.10.0" } }, + "node_modules/easy-transform-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/easy-transform-stream/-/easy-transform-stream-1.0.1.tgz", + "integrity": "sha512-ktkaa6XR7COAR3oj02CF3IOgz2m1hCaY3SfzvKT4Svt2MhHw9XCt+ncJNWfe2TGz31iqzNGZ8spdKQflj+Rlog==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -3770,8 +4268,7 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/encodeurl": { "version": "1.0.2", @@ -3805,49 +4302,54 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", - "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.5", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.4", - "is-array-buffer": "^3.0.1", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -3890,12 +4392,11 @@ } }, "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { @@ -3962,6 +4463,14 @@ "es6-symbol": "^3.1.1" } }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -3971,7 +4480,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, + "peer": true, "engines": { "node": ">=10" }, @@ -3979,28 +4488,58 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/eslint": { - "version": "8.43.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz", - "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==", - "dev": true, + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", + "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.43.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.3", + "@eslint/js": "8.54.0", + "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -4010,7 +4549,6 @@ "globals": "^13.19.0", "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", @@ -4020,9 +4558,8 @@ "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -4035,11 +4572,38 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint-compat-utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz", + "integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==", + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-config-cityssm": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/eslint-config-cityssm/-/eslint-config-cityssm-1.1.1.tgz", + "integrity": "sha512-Uy+uJ7LdNIHrIDZk5Zc+EjjaO6eD0x5/uJyKmblq+HOlkyvif2NX3iKVQIj3uoKgzevdImx5DlVSDzSStdTvrQ==", + "dependencies": { + "@typescript-eslint/eslint-plugin": "^6.13.1", + "@typescript-eslint/parser": "^6.13.1", + "eslint-config-standard-with-typescript": "^40.0.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-import": "^2.29.0", + "eslint-plugin-n": "^16.3.1", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-regexp": "^2.1.1", + "eslint-plugin-sonarjs": "^0.23.0", + "eslint-plugin-unicorn": "^49.0.0" + } + }, "node_modules/eslint-config-standard": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", - "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", - "dev": true, + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", + "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", "funding": [ { "type": "github", @@ -4054,56 +4618,55 @@ "url": "https://feross.org/support" } ], + "engines": { + "node": ">=12.0.0" + }, "peerDependencies": { "eslint": "^8.0.1", "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0", + "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", "eslint-plugin-promise": "^6.0.0" } }, "node_modules/eslint-config-standard-with-typescript": { - "version": "35.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-35.0.0.tgz", - "integrity": "sha512-Xa7DY9GgduZyp0qmXxBF0/dB+Vm4/DgWu1lGpNLJV2d46aCaUxTKDEnkzjUWX/1O9S0a+Dhnw7A4oI0JpYzwtw==", - "dev": true, + "version": "40.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-40.0.0.tgz", + "integrity": "sha512-GXUJcwIXiTQaS3H4etv8a1lejVVdZYaxZNz3g7vt6GoJosQqMTurbmSC4FVGyHiGT/d1TjFr3+47A3xsHhsG+Q==", "dependencies": { - "@typescript-eslint/parser": "^5.50.0", - "eslint-config-standard": "17.0.0" + "@typescript-eslint/parser": "^6.4.0", + "eslint-config-standard": "17.1.0" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.50.0", + "@typescript-eslint/eslint-plugin": "^6.4.0", "eslint": "^8.0.1", "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0", + "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", "eslint-plugin-promise": "^6.0.0", "typescript": "*" } }, "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "dev": true, + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dependencies": { "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dev": true, + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dependencies": { "debug": "^3.2.7" }, @@ -4120,23 +4683,39 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, "dependencies": { "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-es": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", - "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", - "dev": true, - "peer": true, + "node_modules/eslint-plugin-es-x": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.4.0.tgz", + "integrity": "sha512-WJa3RhYzBtl8I37ebY9p76s61UhZyi4KaFOnX2A5r32RPazkXj5yoT6PGnD02dhwzEUj0KwsUdqfKDd/OuvGsw==", "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" + "@eslint-community/eslint-utils": "^4.1.2", + "@eslint-community/regexpp": "^4.6.0", + "eslint-compat-utils": "^0.1.2" }, "engines": { - "node": ">=8.10.0" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": ">=8" + } + }, + "node_modules/eslint-plugin-eslint-comments": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", + "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", + "dependencies": { + "escape-string-regexp": "^1.0.5", + "ignore": "^5.0.5" + }, + "engines": { + "node": ">=6.5.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" @@ -4145,53 +4724,36 @@ "eslint": ">=4.19.1" } }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "peer": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, + "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" + "node": ">=0.8.0" } }, "node_modules/eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", - "dev": true, + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", + "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" }, "engines": { "node": ">=4" @@ -4204,7 +4766,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, "dependencies": { "ms": "^2.1.1" } @@ -4213,7 +4774,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, "dependencies": { "esutils": "^2.0.2" }, @@ -4222,32 +4782,31 @@ } }, "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-n": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.6.1.tgz", - "integrity": "sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==", - "dev": true, - "peer": true, + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.3.1.tgz", + "integrity": "sha512-w46eDIkxQ2FaTHcey7G40eD+FhTXOdKudDXPUO2n9WNcslze/i/HT2qJ3GXjHngYSGDISIgPNhwGtgoix4zeOw==", "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", - "eslint-plugin-es": "^4.1.0", - "eslint-utils": "^3.0.0", - "ignore": "^5.1.1", - "is-core-module": "^2.11.0", + "eslint-plugin-es-x": "^7.1.0", + "get-tsconfig": "^4.7.0", + "ignore": "^5.2.4", + "is-builtin-module": "^3.2.1", + "is-core-module": "^2.12.1", "minimatch": "^3.1.2", - "resolve": "^1.22.1", - "semver": "^7.3.8" + "resolve": "^1.22.2", + "semver": "^7.5.3" }, "engines": { - "node": ">=12.22.0" + "node": ">=16.0.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" @@ -4256,83 +4815,10 @@ "eslint": ">=7.0.0" } }, - "node_modules/eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" - } - }, - "node_modules/eslint-plugin-node/node_modules/eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dev": true, - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-node/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-node/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-node/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/eslint-plugin-promise": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz", "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==", - "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -4340,13 +4826,43 @@ "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/eslint-plugin-unicorn": { - "version": "47.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-47.0.0.tgz", - "integrity": "sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA==", - "dev": true, + "node_modules/eslint-plugin-regexp": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-regexp/-/eslint-plugin-regexp-2.1.1.tgz", + "integrity": "sha512-FGa/idrL5tzMCnGylyx8DCWTX3vDuEtE/CVqTx+yYwe5qY3JRppbNVkOVGIkQF0klVlrG+LxwAXRXTUr5yU5uA==", "dependencies": { - "@babel/helper-validator-identifier": "^7.19.1", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.9.1", + "comment-parser": "^1.4.0", + "jsdoc-type-pratt-parser": "^4.0.0", + "refa": "^0.12.1", + "regexp-ast-analysis": "^0.7.1", + "scslre": "^0.3.0" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "eslint": ">=8.44.0" + } + }, + "node_modules/eslint-plugin-sonarjs": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.23.0.tgz", + "integrity": "sha512-z44T3PBf9W7qQ/aR+NmofOTyg6HLhSEZOPD4zhStqBpLoMp8GYhFksuUBnCxbnf1nfISpKBVkQhiBLFI/F4Wlg==", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-unicorn": { + "version": "49.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-49.0.0.tgz", + "integrity": "sha512-0fHEa/8Pih5cmzFW5L7xMEfUTvI9WKeQtjmKpTUmY+BiFCDxkxrTdnURJOHKykhtwIeyYsxnecbGvDCml++z4Q==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", "@eslint-community/eslint-utils": "^4.4.0", "ci-info": "^3.8.0", "clean-regexp": "^1.0.0", @@ -4354,13 +4870,11 @@ "indent-string": "^4.0.0", "is-builtin-module": "^3.2.1", "jsesc": "^3.0.2", - "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.24", + "regexp-tree": "^0.1.27", "regjsparser": "^0.10.0", - "safe-regex": "^2.1.1", - "semver": "^7.3.8", + "semver": "^7.5.4", "strip-indent": "^3.0.0" }, "engines": { @@ -4370,68 +4884,14 @@ "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" }, "peerDependencies": { - "eslint": ">=8.38.0" + "eslint": ">=8.52.0" } }, "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "peer": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -4443,20 +4903,22 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "engines": { - "node": ">=4.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, + "peer": true, "dependencies": { "is-glob": "^4.0.3" }, @@ -4465,12 +4927,12 @@ } }, "node_modules/espree": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", - "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", - "dev": true, + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "peer": true, "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" }, @@ -4481,11 +4943,22 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, "dependencies": { "estraverse": "^5.1.0" }, @@ -4493,20 +4966,11 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, + "peer": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -4514,20 +4978,10 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, "engines": { "node": ">=4.0" } @@ -4536,7 +4990,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4564,6 +5017,15 @@ "through": "^2.3.8" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/eventemitter2": { "version": "6.4.7", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", @@ -4614,11 +5076,11 @@ } }, "node_modules/exit-hook": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-3.2.0.tgz", - "integrity": "sha512-aIQN7Q04HGAV/I5BszisuHTZHXNoC23WtLkxdCLuYZMdWviRD0TMIt2bnUBi9MrHaF/hH8b3gwG9iaAUHKnJGA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-4.0.0.tgz", + "integrity": "sha512-Fqs7ChZm72y40wKjOFXBKg7nJZvQJmewP5/7LtePDdnah/+FH9Hp5sgMujSCMPXlxOAW2//1jrW9pnsY7o20vQ==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4814,14 +5276,17 @@ } }, "node_modules/express-rate-limit": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.7.0.tgz", - "integrity": "sha512-vhwIdRoqcYB/72TK3tRZI+0ttS8Ytrk24GfmsxDXK9o9IhHNO5bXRiXQSExPQ4GbaE5tvIS7j1SGrxsuWs+sGA==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.1.5.tgz", + "integrity": "sha512-/iVogxu7ueadrepw1bS0X0kaRC/U0afwiYRSLg68Ts+p4Dc85Q5QKsOnPS/QUjPMHvOJQtBDrZgvkOzf8ejUYw==", "engines": { - "node": ">= 12.9.0" + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" }, "peerDependencies": { - "express": "^4 || ^5" + "express": "4 || 5 || ^5.0.0-beta.1" } }, "node_modules/express-session": { @@ -5068,13 +5533,17 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "peer": true + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" }, "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -5090,19 +5559,18 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "peer": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "peer": true }, "node_modules/fastq": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, "dependencies": { "reusify": "^1.0.4" } @@ -5115,28 +5583,6 @@ "pend": "~1.2.0" } }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -5165,7 +5611,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, + "peer": true, "dependencies": { "flat-cache": "^3.0.4" }, @@ -5209,7 +5655,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -5251,7 +5696,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, + "peer": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -5455,12 +5900,13 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "peer": true, "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { @@ -5468,10 +5914,10 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "peer": true }, "node_modules/flush-write-stream": { "version": "1.1.1", @@ -5545,17 +5991,6 @@ "node": ">= 0.12" } }, - "node_modules/formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dependencies": { - "fetch-blob": "^3.1.2" - }, - "engines": { - "node": ">=12.20.0" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -5638,20 +6073,42 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, + "node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -5675,13 +6132,14 @@ "dev": true }, "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5716,6 +6174,68 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-tsconfig": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/get-uri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.2.tgz", + "integrity": "sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==", + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.0", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/get-uri/node_modules/data-uri-to-buffer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz", + "integrity": "sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/get-uri/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/get-uri/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/get-uri/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -5771,7 +6291,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -6145,10 +6664,10 @@ } }, "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "peer": true, "dependencies": { "type-fest": "^0.20.2" }, @@ -6177,7 +6696,6 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -6245,17 +6763,10 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "node_modules/gulp": { "version": "4.0.2", @@ -6276,19 +6787,20 @@ } }, "node_modules/gulp-changed": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gulp-changed/-/gulp-changed-4.0.3.tgz", - "integrity": "sha512-oIymgTNmmIvdqRRpdtohmELix81q+CA/D9DgVCvaM4Ulai0xgalf+XS6A95JwskbxRGQKtzzhMmdWZEuikX67w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/gulp-changed/-/gulp-changed-5.0.1.tgz", + "integrity": "sha512-F022uAgh6LY9lort+0eO7RrYkPSXEjthppjO/RodNQboAy/r79cGtR7pXVjDZMNXJ7hmHivFjFWThP9kQOvFiQ==", "dev": true, "dependencies": { - "make-dir": "^3.0.0", - "plugin-error": "^1.0.1", - "replace-ext": "^1.0.0", - "through2": "^3.0.1", + "change-file-extension": "^0.1.0", + "gulp-plugin-extras": "^0.3.0", "touch": "^3.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" }, "peerDependencies": { "gulp": ">=4" @@ -6472,6 +6984,35 @@ "xtend": "~4.0.1" } }, + "node_modules/gulp-plugin-extras": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/gulp-plugin-extras/-/gulp-plugin-extras-0.3.0.tgz", + "integrity": "sha512-I/kOBSpo61QsGQZcqozZYEnDseKvpudUafVVWDLYgBFAUJ37kW5R8Sjw9cMYzpGyPUfEYOeoY4p+dkfLqgyJUQ==", + "dev": true, + "dependencies": { + "@types/vinyl": "^2.0.9", + "chalk": "^5.3.0", + "easy-transform-stream": "^1.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gulp-plugin-extras/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/gulp-sass": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.1.0.tgz", @@ -6647,6 +7188,17 @@ "node": ">=0.10.0" } }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", @@ -6662,8 +7214,7 @@ "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "node_modules/http-cache-semantics": { "version": "4.1.1", @@ -6746,9 +7297,9 @@ } }, "node_modules/ical-generator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ical-generator/-/ical-generator-5.0.0.tgz", - "integrity": "sha512-o0klZ3J0IOAD5VitK2bNVBPSrSPEe+uglCk9zBa2MSYbKxPvjWlHjbaZaNWWC8MOqpkNBF+viteFExyjt1S5XQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ical-generator/-/ical-generator-6.0.0.tgz", + "integrity": "sha512-LBSyAQiWKYBjDBOYamPDhYfXvuzMCijK7vLtGQqFjxqDOb5sj4LtW1JyeesJg5U2bK+SQaboBYH4TzxBq1gnDw==", "dependencies": { "uuid-random": "^1.3.2" }, @@ -6759,7 +7310,6 @@ "@touch4it/ical-timezones": ">=1.6.0", "@types/luxon": ">= 1.26.0", "@types/mocha": ">= 8.2.1", - "@types/node": ">= 15.0.0", "dayjs": ">= 1.10.0", "luxon": ">= 1.26.0", "moment": ">= 2.29.0", @@ -6827,10 +7377,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "engines": { "node": ">= 4" } @@ -6851,7 +7400,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -6875,7 +7423,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, "engines": { "node": ">=8" } @@ -6904,12 +7451,12 @@ } }, "node_modules/internal-slot": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", - "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { @@ -6934,6 +7481,11 @@ "node": ">=0.10.0" } }, + "node_modules/ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -6977,12 +7529,12 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz", - "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "get-intrinsic": "^1.2.0", "is-typed-array": "^1.1.10" }, "funding": { @@ -6992,8 +7544,7 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-bigint": { "version": "1.0.4", @@ -7043,7 +7594,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", - "dev": true, "dependencies": { "builtin-modules": "^3.3.0" }, @@ -7078,12 +7628,11 @@ } }, "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7189,7 +7738,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7198,7 +7746,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -7207,7 +7754,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -7255,7 +7801,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { "node": ">=0.12.0" } @@ -7278,7 +7823,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -7379,15 +7923,11 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -7521,14 +8061,12 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, "dependencies": { "argparse": "^2.0.1" }, @@ -7547,11 +8085,18 @@ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true }, + "node_modules/jsdoc-type-pratt-parser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", + "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/jsesc": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "dev": true, "bin": { "jsesc": "bin/jsesc" }, @@ -7567,8 +8112,7 @@ "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema": { "version": "0.4.0", @@ -7580,13 +8124,12 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "peer": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, "node_modules/json-stringify-safe": { "version": "5.0.1", @@ -7598,7 +8141,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, "dependencies": { "minimist": "^1.2.0" }, @@ -7693,9 +8235,9 @@ } }, "node_modules/keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dependencies": { "json-buffer": "3.0.1" } @@ -7816,7 +8358,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, + "peer": true, "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -7864,8 +8406,7 @@ "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/listr2": { "version": "3.14.0", @@ -7926,7 +8467,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, + "peer": true, "dependencies": { "p-locate": "^5.0.0" }, @@ -7952,7 +8493,7 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "peer": true }, "node_modules/lodash.once": { "version": "4.1.1", @@ -8044,30 +8585,6 @@ "node": ">=10" } }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -8331,7 +8848,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, "engines": { "node": ">= 8" } @@ -8348,7 +8864,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -8408,7 +8923,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, "engines": { "node": ">=4" } @@ -8437,6 +8951,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" + }, "node_modules/mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -8496,6 +9015,13 @@ "node": ">= 0.10" } }, + "node_modules/nan": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "dev": true, + "optional": true + }, "node_modules/nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -8540,14 +9066,7 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "node_modules/negotiator": { "version": "0.6.3", @@ -8557,6 +9076,14 @@ "node": ">= 0.6" } }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", @@ -8590,45 +9117,10 @@ "node": ">= 8.0.0" } }, - "node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "engines": { - "node": ">=10.5.0" - } - }, - "node_modules/node-fetch": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.1.tgz", - "integrity": "sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==", - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, "node_modules/nodemon": { - "version": "2.0.22", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz", - "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.1.tgz", + "integrity": "sha512-g9AZ7HmkhQkqXkRc20w+ZfQ73cHLbE8hnPbtaFbFtCumZsjyMhKk9LajQ07U5Ux28lvFjZ5X7HvWR1xzU8jHVw==", "dev": true, "dependencies": { "chokidar": "^3.5.2", @@ -8636,8 +9128,8 @@ "ignore-by-default": "^1.0.1", "minimatch": "^3.1.2", "pstree.remy": "^1.1.8", - "semver": "^5.7.1", - "simple-update-notifier": "^1.0.7", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", "supports-color": "^5.5.0", "touch": "^3.1.0", "undefsafe": "^2.0.5" @@ -8646,7 +9138,7 @@ "nodemon": "bin/nodemon.js" }, "engines": { - "node": ">=8.10.0" + "node": ">=10" }, "funding": { "type": "opencollective", @@ -8671,15 +9163,6 @@ "node": ">=4" } }, - "node_modules/nodemon/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/nodemon/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -8711,7 +9194,6 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -8720,10 +9202,9 @@ } }, "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": { "semver": "bin/semver" } @@ -8875,9 +9356,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8934,18 +9415,33 @@ "node": ">=0.10.0" } }, - "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, "node_modules/object.map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", @@ -8984,14 +9480,13 @@ } }, "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -9059,17 +9554,17 @@ } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "peer": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -9114,7 +9609,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, + "peer": true, "dependencies": { "yocto-queue": "^0.1.0" }, @@ -9129,7 +9624,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, + "peer": true, "dependencies": { "p-limit": "^3.0.2" }, @@ -9159,11 +9654,76 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, "engines": { "node": ">=6" } }, + "node_modules/pac-proxy-agent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", + "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "pac-resolver": "^7.0.0", + "socks-proxy-agent": "^8.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz", + "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==", + "dependencies": { + "degenerator": "^5.0.0", + "ip": "^1.1.8", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/papaparse": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.4.1.tgz", @@ -9173,7 +9733,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "dependencies": { "callsites": "^3.0.0" }, @@ -9199,7 +9758,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -9258,7 +9816,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, "engines": { "node": ">=8" } @@ -9282,8 +9839,7 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-root": { "version": "0.1.1", @@ -9315,7 +9871,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "engines": { "node": ">=8" } @@ -9350,7 +9905,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -9419,7 +9973,6 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "dev": true, "engines": { "node": ">=4" } @@ -9470,7 +10023,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, + "peer": true, "engines": { "node": ">= 0.8.0" } @@ -9496,6 +10049,15 @@ "node": ">= 0.8" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -9522,6 +10084,72 @@ "node": ">= 0.10" } }, + "node_modules/proxy-agent": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", + "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.0.1", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/proxy-agent/node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/proxy-from-env": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", @@ -9579,50 +10207,35 @@ } }, "node_modules/puppeteer": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-18.2.1.tgz", - "integrity": "sha512-7+UhmYa7wxPh2oMRwA++k8UGVDxh3YdWFB52r9C3tM81T6BU7cuusUSxImz0GEYSOYUKk/YzIhkQ6+vc0gHbxQ==", + "version": "21.5.2", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.5.2.tgz", + "integrity": "sha512-BaAGJOq8Fl6/cck6obmwaNLksuY0Bg/lIahCLhJPGXBFUD2mCffypa4A592MaWnDcye7eaHmSK9yot0pxctY8A==", "hasInstallScript": true, "dependencies": { - "https-proxy-agent": "5.0.1", - "progress": "2.0.3", - "proxy-from-env": "1.1.0", - "puppeteer-core": "18.2.1" + "@puppeteer/browsers": "1.8.0", + "cosmiconfig": "8.3.6", + "puppeteer-core": "21.5.2" }, "engines": { - "node": ">=14.1.0" + "node": ">=16.13.2" } }, "node_modules/puppeteer-core": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-18.2.1.tgz", - "integrity": "sha512-MRtTAZfQTluz3U2oU/X2VqVWPcR1+94nbA2V6ZrSZRVEwLqZ8eclZ551qGFQD/vD2PYqHJwWOW/fpC721uznVw==", + "version": "21.5.2", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.5.2.tgz", + "integrity": "sha512-v4T0cWnujSKs+iEfmb8ccd7u4/x8oblEyKqplqKnJ582Kw8PewYAWvkH4qUWhitN3O2q9RF7dzkvjyK5HbzjLA==", "dependencies": { - "cross-fetch": "3.1.5", + "@puppeteer/browsers": "1.8.0", + "chromium-bidi": "0.4.33", + "cross-fetch": "4.0.0", "debug": "4.3.4", - "devtools-protocol": "0.0.1045489", - "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.1", - "proxy-from-env": "1.1.0", - "rimraf": "3.0.2", - "tar-fs": "2.1.1", - "unbzip2-stream": "1.4.3", - "ws": "8.9.0" + "devtools-protocol": "0.0.1203626", + "ws": "8.14.2" }, "engines": { - "node": ">=14.1.0" + "node": ">=16.13.2" } }, - "node_modules/puppeteer-core/node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/puppeteer/node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "node_modules/qs": { "version": "6.10.4", "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", @@ -9638,11 +10251,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, "funding": [ { "type": "github", @@ -9658,6 +10276,11 @@ } ] }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + }, "node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -9754,7 +10377,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^2.5.0", @@ -9769,7 +10391,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, "dependencies": { "find-up": "^4.1.0", "read-pkg": "^5.2.0", @@ -9786,7 +10407,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -9799,7 +10419,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, "dependencies": { "p-locate": "^4.1.0" }, @@ -9811,7 +10430,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, "dependencies": { "p-try": "^2.0.0" }, @@ -9826,7 +10444,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, "dependencies": { "p-limit": "^2.2.0" }, @@ -9838,7 +10455,6 @@ "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, "engines": { "node": ">=8" } @@ -9847,7 +10463,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, "engines": { "node": ">=8" } @@ -9891,6 +10506,17 @@ "node": ">= 0.10" } }, + "node_modules/refa": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/refa/-/refa-0.12.1.tgz", + "integrity": "sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -9913,23 +10539,34 @@ "ret": "~0.1.10" } }, + "node_modules/regexp-ast-analysis": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regexp-ast-analysis/-/regexp-ast-analysis-0.7.1.tgz", + "integrity": "sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.1" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/regexp-tree": { - "version": "0.1.24", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz", - "integrity": "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==", - "dev": true, + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "bin": { "regexp-tree": "bin/regexp-tree" } }, "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -9938,23 +10575,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/regjsparser": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", - "dev": true, "dependencies": { "jsesc": "~0.5.0" }, @@ -9966,7 +10590,6 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, "bin": { "jsesc": "bin/jsesc" } @@ -10073,7 +10696,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -10084,13 +10706,18 @@ "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", "dev": true }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -10123,7 +10750,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "engines": { "node": ">=4" } @@ -10140,6 +10766,14 @@ "node": ">= 0.10" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, "node_modules/resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -10192,7 +10826,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -10226,7 +10859,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "funding": [ { "type": "github", @@ -10254,20 +10886,33 @@ "tslib": "^2.1.0" } }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/safe-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", - "dev": true, - "dependencies": { - "regexp-tree": "~0.1.1" - } - }, "node_modules/safe-regex-test": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", @@ -10287,9 +10932,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.63.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.4.tgz", - "integrity": "sha512-Sx/+weUmK+oiIlI+9sdD0wZHsqpbgQg8wSwSnGBjwb5GwqFhYNwwnI+UWZtLjKvKyFlKkatRK235qQ3mokyPoQ==", + "version": "1.69.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", + "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -10303,10 +10948,23 @@ "node": ">=14.0.0" } }, + "node_modules/scslre": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/scslre/-/scslre-0.3.0.tgz", + "integrity": "sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.0", + "regexp-ast-analysis": "^0.7.0" + }, + "engines": { + "node": "^14.0.0 || >=16.0.0" + } + }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -10435,6 +11093,33 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/set-interval-async": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/set-interval-async/-/set-interval-async-3.0.3.tgz", @@ -10577,31 +11262,21 @@ } }, "node_modules/simple-update-notifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", - "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", "dev": true, "dependencies": { - "semver": "~7.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/simple-update-notifier/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node": ">=10" } }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, "engines": { "node": ">=8" } @@ -10620,6 +11295,15 @@ "node": ">=8" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, "node_modules/snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -10808,6 +11492,48 @@ "node": ">=0.10.0" } }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/socks/node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + }, "node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", @@ -10879,7 +11605,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -10888,14 +11613,12 @@ "node_modules/spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -10904,8 +11627,7 @@ "node_modules/spdx-license-ids": { "version": "3.0.12", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", - "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", - "dev": true + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" }, "node_modules/split": { "version": "1.0.1", @@ -10937,9 +11659,9 @@ "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" }, "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", "dev": true, "dependencies": { "asn1": "~0.2.3", @@ -11096,6 +11818,15 @@ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, + "node_modules/streamx": { + "version": "2.15.5", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.5.tgz", + "integrity": "sha512-9thPGMkKC2GctCzyCUjME3yR03x2xNo0GPKGkRw2UMYN+gqWa9uqpyNWhmsNCutU5zHmkUum0LsCRQTXUgUCAg==", + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -11108,7 +11839,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -11118,27 +11848,43 @@ "node": ">=8" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -11148,7 +11894,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -11181,7 +11926,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, "dependencies": { "min-indent": "^1.0.0" }, @@ -11193,7 +11937,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, + "peer": true, "engines": { "node": ">=8" }, @@ -11220,7 +11964,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -11400,7 +12143,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "peer": true }, "node_modules/throttleit": { "version": "1.0.0", @@ -11413,16 +12156,6 @@ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, - "node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, "node_modules/through2-filter": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", @@ -11520,7 +12253,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -11580,16 +12312,27 @@ } }, "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { - "node": ">=0.8" + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" } }, "node_modules/tr46": { @@ -11597,14 +12340,24 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, "node_modules/tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", - "dev": true, + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dependencies": { "@types/json5": "^0.0.29", - "json5": "^1.0.1", + "json5": "^1.0.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } @@ -11613,7 +12366,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, "engines": { "node": ">=4" } @@ -11631,27 +12383,6 @@ "node": ">=0.6.x" } }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -11679,7 +12410,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, + "peer": true, "dependencies": { "prelude-ls": "^1.2.1" }, @@ -11691,7 +12422,7 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, + "peer": true, "engines": { "node": ">=10" }, @@ -11711,6 +12442,54 @@ "node": ">= 0.6" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typed-array-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", @@ -11742,7 +12521,6 @@ "version": "4.9.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, "peer": true, "bin": { "tsc": "bin/tsc", @@ -11837,6 +12615,11 @@ "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==", "dev": true }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -11959,7 +12742,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, + "peer": true, "dependencies": { "punycode": "^2.1.0" } @@ -11971,6 +12754,21 @@ "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/urlpattern-polyfill": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", + "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==" + }, "node_modules/use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -11994,9 +12792,13 @@ } }, "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "bin": { "uuid": "dist/bin/uuid" } @@ -12022,7 +12824,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -12177,14 +12978,6 @@ "node": ">=0.10.0" } }, - "node_modules/web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", - "engines": { - "node": ">= 8" - } - }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -12235,16 +13028,15 @@ "dev": true }, "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "dependencies": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -12253,20 +13045,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -12296,15 +13078,15 @@ } }, "node_modules/ws": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", - "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "engines": { "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -12536,7 +13318,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, + "peer": true, "engines": { "node": ">=10" }, diff --git a/package.json b/package.json index 8c4546e3..816e3b57 100644 --- a/package.json +++ b/package.json @@ -38,89 +38,81 @@ "@cityssm/date-diff": "^2.2.3", "@cityssm/dynamics-gp": "^0.5.1", "@cityssm/expressjs-server-js": "^2.3.3", - "@cityssm/ntfy-publish": "^0.2.2", - "@cityssm/pdf-puppeteer": "^2.0.0-beta.1", - "@cityssm/utils-datetime": "^0.1.1", + "@cityssm/ntfy-publish": "^1.0.0", + "@cityssm/pdf-puppeteer": "^2.0.0", + "@cityssm/utils-datetime": "^1.0.0", "@fortawesome/fontawesome-free": "^5.15.4", "activedirectory2": "^2.2.0", "better-sqlite-pool": "^0.3.2", - "better-sqlite3": "^8.4.0", + "better-sqlite3": "^9.1.1", "bulma-calendar": "^6.1.19", - "camelcase": "^7.0.1", + "camelcase": "^8.0.0", "compression": "^1.7.4", "cookie-parser": "^1.4.6", "cross-env": "^7.0.3", "csurf": "^1.11.0", "debug": "^4.3.4", "ejs": "^3.1.9", - "exit-hook": "^3.2.0", + "eslint-config-cityssm": "^1.1.1", + "exit-hook": "^4.0.0", "express": "^4.18.2", - "express-rate-limit": "^6.7.0", + "express-rate-limit": "^7.1.5", "express-session": "^1.17.3", "font-awesome-v5-icons": "^1.3.0", "http-errors": "^2.0.0", - "ical-generator": "^5.0.0", + "ical-generator": "^6.0.0", "leaflet": "^1.9.4", "node-cache": "^5.1.2", - "object.hasown": "^1.1.2", "papaparse": "^5.4.1", "randomcolor": "^0.6.2", "session-file-store": "^1.5.0", "set-interval-async": "^3.0.3", - "uuid": "^9.0.0" + "uuid": "^9.0.1" }, "devDependencies": { "@cityssm/bulma-a11y": "^0.4.0", "@cityssm/bulma-sticky-table": "^2.1.0", "@cityssm/bulma-webapp-css": "^0.12.0", "@cityssm/fa-glow": "^0.1.0", - "@cityssm/mssql-multi-pool": "^2.2.3", + "@cityssm/mssql-multi-pool": "^3.0.0", "@cityssm/simple-fa5-checkbox": "^0.2.1", - "@types/activedirectory2": "^1.2.3", - "@types/better-sqlite3": "^7.6.4", - "@types/compression": "^1.7.2", - "@types/cookie-parser": "^1.4.3", - "@types/csurf": "^1.11.2", - "@types/debug": "^4.1.8", - "@types/ejs": "^3.1.2", - "@types/express": "^4.17.17", - "@types/express-session": "^1.17.7", - "@types/gulp": "^4.0.11", - "@types/gulp-changed": "^0.0.36", - "@types/gulp-minify": "^3.1.2", - "@types/gulp-sass": "^5.0.1", - "@types/http-errors": "^2.0.1", - "@types/leaflet": "^1.9.3", - "@types/mocha": "^10.0.1", - "@types/mssql": "^8.1.2", - "@types/node-windows": "^0.1.2", - "@types/papaparse": "^5.3.7", - "@types/randomcolor": "^0.5.7", - "@types/session-file-store": "^1.2.2", - "@types/uuid": "^9.0.2", - "@typescript-eslint/eslint-plugin": "^5.60.0", - "@typescript-eslint/parser": "^5.60.0", - "axe-core": "^4.7.2", + "@types/activedirectory2": "^1.2.6", + "@types/better-sqlite3": "^7.6.8", + "@types/compression": "^1.7.5", + "@types/cookie-parser": "^1.4.6", + "@types/csurf": "^1.11.5", + "@types/debug": "^4.1.12", + "@types/ejs": "^3.1.5", + "@types/express": "^4.17.21", + "@types/express-session": "^1.17.10", + "@types/gulp": "^4.0.17", + "@types/gulp-changed": "^0.0.39", + "@types/gulp-minify": "^3.1.5", + "@types/gulp-sass": "^5.0.4", + "@types/http-errors": "^2.0.4", + "@types/leaflet": "^1.9.8", + "@types/mocha": "^10.0.6", + "@types/mssql": "^9.1.4", + "@types/node-windows": "^0.1.6", + "@types/papaparse": "^5.3.14", + "@types/randomcolor": "^0.5.9", + "@types/session-file-store": "^1.2.5", + "@types/uuid": "^9.0.7", + "axe-core": "^4.8.2", "bulma": "^0.9.4", "bulma-divider": "^0.2.0", "bulma-helpers": "^0.4.3", "bulma-steps": "^2.2.1", "bulma-switch": "^2.0.4", "bulma-tooltip": "^3.0.2", - "cypress": "^12.14.0", - "cypress-axe": "^1.4.0", - "eslint": "^8.43.0", - "eslint-config-standard-with-typescript": "^35.0.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-unicorn": "^47.0.0", + "cypress": "^13.6.0", + "cypress-axe": "^1.5.0", "gulp": "^4.0.2", - "gulp-changed": "^4.0.3", + "gulp-changed": "^5.0.1", "gulp-include": "^2.4.1", "gulp-minify": "^3.1.0", "gulp-sass": "^5.1.0", - "nodemon": "^2.0.22", - "sass": "^1.63.4" + "nodemon": "^3.0.1", + "sass": "^1.69.5" } } diff --git a/routes/login.js b/routes/login.js index 174e491f..f2d57056 100644 --- a/routes/login.js +++ b/routes/login.js @@ -1,9 +1,9 @@ +import Debug from 'debug'; import { Router } from 'express'; -import * as configFunctions from '../helpers/functions.config.js'; -import * as authenticationFunctions from '../helpers/functions.authentication.js'; import { useTestDatabases } from '../data/databasePaths.js'; import { getApiKey } from '../helpers/functions.api.js'; -import Debug from 'debug'; +import * as authenticationFunctions from '../helpers/functions.authentication.js'; +import * as configFunctions from '../helpers/functions.config.js'; const debug = Debug('lot-occupancy-system:login'); export const router = Router(); function getHandler(request, response) { diff --git a/routes/login.ts b/routes/login.ts index 524ae844..912c394a 100644 --- a/routes/login.ts +++ b/routes/login.ts @@ -1,16 +1,15 @@ -import { Router, type RequestHandler, type Request, type Response } from 'express' - -import * as configFunctions from '../helpers/functions.config.js' - -import * as authenticationFunctions from '../helpers/functions.authentication.js' +import Debug from 'debug' +import { + Router, + type RequestHandler, + type Request, + type Response +} from 'express' import { useTestDatabases } from '../data/databasePaths.js' - import { getApiKey } from '../helpers/functions.api.js' - -import Debug from 'debug' - -import type * as recordTypes from '../types/recordTypes' +import * as authenticationFunctions from '../helpers/functions.authentication.js' +import * as configFunctions from '../helpers/functions.config.js' const debug = Debug('lot-occupancy-system:login') @@ -75,7 +74,7 @@ async function postHandler( ) } - let userObject: recordTypes.User | undefined + let userObject: User | undefined if (isAuthenticated) { const userNameLowerCase = userName.toLowerCase() diff --git a/temp/legacy.importFromCSV.js b/temp/legacy.importFromCSV.js index 990969b8..056f9d86 100644 --- a/temp/legacy.importFromCSV.js +++ b/temp/legacy.importFromCSV.js @@ -1,29 +1,29 @@ import fs from 'node:fs'; -import papa from 'papaparse'; +import { dateIntegerToString, dateToString } from '@cityssm/utils-datetime'; import sqlite from 'better-sqlite3'; +import papa from 'papaparse'; import { lotOccupancyDB as databasePath } from '../data/databasePaths.js'; -import * as importIds from './legacy.importFromCsv.ids.js'; -import * as importData from './legacy.importFromCsv.data.js'; -import { addMap } from '../helpers/lotOccupancyDB/addMap.js'; -import { getMap as getMapFromDatabase } from '../helpers/lotOccupancyDB/getMap.js'; import { addLot } from '../helpers/lotOccupancyDB/addLot.js'; -import { updateLotStatus } from '../helpers/lotOccupancyDB/updateLot.js'; import { addLotOccupancy } from '../helpers/lotOccupancyDB/addLotOccupancy.js'; -import { addLotOccupancyOccupant } from '../helpers/lotOccupancyDB/addLotOccupancyOccupant.js'; import { addLotOccupancyComment } from '../helpers/lotOccupancyDB/addLotOccupancyComment.js'; -import { addOrUpdateLotOccupancyField } from '../helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.js'; -import { getLot, getLotByLotName } from '../helpers/lotOccupancyDB/getLot.js'; -import { getLotOccupancies } from '../helpers/lotOccupancyDB/getLotOccupancies.js'; import { addLotOccupancyFee } from '../helpers/lotOccupancyDB/addLotOccupancyFee.js'; +import { addLotOccupancyOccupant } from '../helpers/lotOccupancyDB/addLotOccupancyOccupant.js'; import { addLotOccupancyTransaction } from '../helpers/lotOccupancyDB/addLotOccupancyTransaction.js'; +import { addMap } from '../helpers/lotOccupancyDB/addMap.js'; +import { addOrUpdateLotOccupancyField } from '../helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.js'; import { addWorkOrder } from '../helpers/lotOccupancyDB/addWorkOrder.js'; import { addWorkOrderLot } from '../helpers/lotOccupancyDB/addWorkOrderLot.js'; import { addWorkOrderLotOccupancy } from '../helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js'; -import { getWorkOrder, getWorkOrderByWorkOrderNumber } from '../helpers/lotOccupancyDB/getWorkOrder.js'; -import { reopenWorkOrder } from '../helpers/lotOccupancyDB/reopenWorkOrder.js'; import { addWorkOrderMilestone } from '../helpers/lotOccupancyDB/addWorkOrderMilestone.js'; import { closeWorkOrder } from '../helpers/lotOccupancyDB/closeWorkOrder.js'; -import { dateIntegerToString, dateToString } from '@cityssm/utils-datetime'; +import { getLot, getLotByLotName } from '../helpers/lotOccupancyDB/getLot.js'; +import { getLotOccupancies } from '../helpers/lotOccupancyDB/getLotOccupancies.js'; +import { getMap as getMapFromDatabase } from '../helpers/lotOccupancyDB/getMap.js'; +import { getWorkOrder, getWorkOrderByWorkOrderNumber } from '../helpers/lotOccupancyDB/getWorkOrder.js'; +import { reopenWorkOrder } from '../helpers/lotOccupancyDB/reopenWorkOrder.js'; +import { updateLotStatus } from '../helpers/lotOccupancyDB/updateLot.js'; +import * as importData from './legacy.importFromCsv.data.js'; +import * as importIds from './legacy.importFromCsv.ids.js'; const user = { user: { userName: 'import.unix', @@ -707,7 +707,10 @@ async function importFromWorkOrderCSV() { interment: workOrderRow.WO_INTERMENT }); lot = await getLotByLotName(lotName); - if (!lot) { + if (lot) { + await updateLotStatus(lot.lotId, importIds.takenLotStatusId, user); + } + else { const map = await getMap({ cemetery: workOrderRow.WO_CEMETERY }); const lotTypeId = importIds.getLotTypeId({ cemetery: workOrderRow.WO_CEMETERY @@ -723,9 +726,6 @@ async function importFromWorkOrderCSV() { }, user); lot = await getLot(lotId); } - else { - await updateLotStatus(lot.lotId, importIds.takenLotStatusId, user); - } const workOrderContainsLot = workOrder.workOrderLots.find((possibleLot) => { return (possibleLot.lotId = lot.lotId); }); diff --git a/temp/legacy.importFromCSV.ts b/temp/legacy.importFromCSV.ts index 1353038d..5c797c39 100644 --- a/temp/legacy.importFromCSV.ts +++ b/temp/legacy.importFromCSV.ts @@ -1,57 +1,37 @@ -/* eslint-disable node/no-extraneous-import, node/no-unpublished-import */ - import fs from 'node:fs' + +import { dateIntegerToString, dateToString } from '@cityssm/utils-datetime' +import sqlite from 'better-sqlite3' import papa from 'papaparse' -import sqlite from 'better-sqlite3' - import { lotOccupancyDB as databasePath } from '../data/databasePaths.js' - -import * as importIds from './legacy.importFromCsv.ids.js' -import * as importData from './legacy.importFromCsv.data.js' - -import { addMap } from '../helpers/lotOccupancyDB/addMap.js' -import { getMap as getMapFromDatabase } from '../helpers/lotOccupancyDB/getMap.js' - import { addLot } from '../helpers/lotOccupancyDB/addLot.js' -import { updateLotStatus } from '../helpers/lotOccupancyDB/updateLot.js' - import { addLotOccupancy } from '../helpers/lotOccupancyDB/addLotOccupancy.js' - -import { addLotOccupancyOccupant } from '../helpers/lotOccupancyDB/addLotOccupancyOccupant.js' - import { addLotOccupancyComment } from '../helpers/lotOccupancyDB/addLotOccupancyComment.js' - -import { addOrUpdateLotOccupancyField } from '../helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.js' - -import { getLot, getLotByLotName } from '../helpers/lotOccupancyDB/getLot.js' - -import { getLotOccupancies } from '../helpers/lotOccupancyDB/getLotOccupancies.js' - import { addLotOccupancyFee } from '../helpers/lotOccupancyDB/addLotOccupancyFee.js' - +import { addLotOccupancyOccupant } from '../helpers/lotOccupancyDB/addLotOccupancyOccupant.js' import { addLotOccupancyTransaction } from '../helpers/lotOccupancyDB/addLotOccupancyTransaction.js' - +import { addMap } from '../helpers/lotOccupancyDB/addMap.js' +import { addOrUpdateLotOccupancyField } from '../helpers/lotOccupancyDB/addOrUpdateLotOccupancyField.js' import { addWorkOrder } from '../helpers/lotOccupancyDB/addWorkOrder.js' - import { addWorkOrderLot } from '../helpers/lotOccupancyDB/addWorkOrderLot.js' - import { addWorkOrderLotOccupancy } from '../helpers/lotOccupancyDB/addWorkOrderLotOccupancy.js' - +import { addWorkOrderMilestone } from '../helpers/lotOccupancyDB/addWorkOrderMilestone.js' +import { closeWorkOrder } from '../helpers/lotOccupancyDB/closeWorkOrder.js' +import { getLot, getLotByLotName } from '../helpers/lotOccupancyDB/getLot.js' +import { getLotOccupancies } from '../helpers/lotOccupancyDB/getLotOccupancies.js' +import { getMap as getMapFromDatabase } from '../helpers/lotOccupancyDB/getMap.js' import { getWorkOrder, getWorkOrderByWorkOrderNumber } from '../helpers/lotOccupancyDB/getWorkOrder.js' - import { reopenWorkOrder } from '../helpers/lotOccupancyDB/reopenWorkOrder.js' +import { updateLotStatus } from '../helpers/lotOccupancyDB/updateLot.js' +// eslint-disable-next-line import/namespace +import type * as recordTypes from '../types/recordTypes.js' -import { addWorkOrderMilestone } from '../helpers/lotOccupancyDB/addWorkOrderMilestone.js' - -import { closeWorkOrder } from '../helpers/lotOccupancyDB/closeWorkOrder.js' - -import { dateIntegerToString, dateToString } from '@cityssm/utils-datetime' - -import type * as recordTypes from '../types/recordTypes' +import * as importData from './legacy.importFromCsv.data.js' +import * as importIds from './legacy.importFromCsv.ids.js' interface MasterRecord { CM_SYSREC: string @@ -1229,7 +1209,9 @@ async function importFromWorkOrderCSV(): Promise { lot = await getLotByLotName(lotName) - if (!lot) { + if (lot) { + await updateLotStatus(lot.lotId, importIds.takenLotStatusId, user) + } else { const map = await getMap({ cemetery: workOrderRow.WO_CEMETERY }) const lotTypeId = importIds.getLotTypeId({ @@ -1250,8 +1232,6 @@ async function importFromWorkOrderCSV(): Promise { ) lot = await getLot(lotId) - } else { - await updateLotStatus(lot.lotId, importIds.takenLotStatusId, user) } const workOrderContainsLot = workOrder.workOrderLots!.find( diff --git a/test/functions.js b/test/functions.js index 7ec75957..2352b30c 100644 --- a/test/functions.js +++ b/test/functions.js @@ -5,7 +5,6 @@ import * as cacheFunctions from '../helpers/functions.cache.js'; import * as iconFunctions from '../helpers/functions.icons.js'; import * as sqlFilterFunctions from '../helpers/functions.sqlFilters.js'; import * as userFunctions from '../helpers/functions.user.js'; -import * as polyfills from '../helpers/polyfills.js'; describe('config.cemetery.ssm', () => { it('Sorts burial site names', () => { const grave2 = 'XX-B1-G2A'; @@ -339,13 +338,3 @@ describe('functions.user', () => { }); }); }); -describe('polyfills', () => { - it('applys Object.hasOwn polyfill', () => { - delete Object.hasOwn; - assert.ok(Object.hasOwn === undefined); - polyfills.applyPolyfills(); - assert.ok(Object.hasOwn !== undefined); - const testObject = { foo: 'bar' }; - assert.ok(Object.hasOwn(testObject, 'foo')); - }); -}); diff --git a/test/functions.ts b/test/functions.ts index 87098b91..ad856c64 100644 --- a/test/functions.ts +++ b/test/functions.ts @@ -8,8 +8,6 @@ import * as iconFunctions from '../helpers/functions.icons.js' import * as sqlFilterFunctions from '../helpers/functions.sqlFilters.js' import * as userFunctions from '../helpers/functions.user.js' -import * as polyfills from '../helpers/polyfills.js' - describe('config.cemetery.ssm', () => { it('Sorts burial site names', () => { const grave2 = 'XX-B1-G2A' @@ -521,17 +519,3 @@ describe('functions.user', () => { }) }) }) - -describe('polyfills', () => { - it('applys Object.hasOwn polyfill', () => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - delete (Object as any).hasOwn - assert.ok(Object.hasOwn === undefined) - - polyfills.applyPolyfills() - assert.ok(Object.hasOwn !== undefined) - - const testObject = { foo: 'bar' } - assert.ok(Object.hasOwn(testObject, 'foo')) - }) -}) diff --git a/types/recordTypes.d.ts b/types/recordTypes.d.ts index 5983b641..030115e4 100644 --- a/types/recordTypes.d.ts +++ b/types/recordTypes.d.ts @@ -268,9 +268,11 @@ export interface WorkOrder extends Record { workOrderLotCount?: number; workOrderLotOccupancies?: LotOccupancy[]; } -export interface User { - userName: string; - userProperties?: UserProperties; +declare global { + export interface User { + userName: string; + userProperties?: UserProperties; + } } export interface UserProperties { canUpdate: boolean; @@ -282,6 +284,3 @@ declare module 'express-session' { user?: User; } } -export interface PartialSession { - user?: User; -} diff --git a/types/recordTypes.ts b/types/recordTypes.ts index c9bb985d..dba270fa 100644 --- a/types/recordTypes.ts +++ b/types/recordTypes.ts @@ -365,9 +365,11 @@ export interface WorkOrder extends Record { * USER TYPES */ -export interface User { - userName: string - userProperties?: UserProperties +declare global { + export interface User { + userName: string + userProperties?: UserProperties + } } export interface UserProperties { @@ -381,7 +383,3 @@ declare module 'express-session' { user?: User } } - -export interface PartialSession { - user?: User -}