Compare commits

...

12 Commits

Author SHA1 Message Date
Allan Carr
d4d2db2cac IO-3247 Quick Deliver Require Delivery
Signed-off-by: Allan Carr <allan@imexsystems.ca>
2025-05-26 10:29:03 -07:00
Dave Richer
23483144e1 Merged in feature/IO-3182-Phone-Number-Consent (pull request #2341)
feature/IO-3182-Phone-Number-Consent - Up Deps
2025-05-26 17:09:48 +00:00
Dave Richer
67d5dcb062 feature/IO-3182-Phone-Number-Consent - Up Deps 2025-05-26 13:09:07 -04:00
Allan Carr
901a49e571 Merged in feature/IO-3246-Remote-Assist (pull request #2337)
IO-3246 Remote Assist

Approved-by: Dave Richer
2025-05-24 17:29:38 +00:00
Dave Richer
49ae107fde release/2025-06-02 - add phone 2025-05-24 13:23:38 -04:00
Dave Richer
0135281bcd release/2025-06-02 - test push 2025-05-24 13:15:53 -04:00
Allan Carr
99cf95daf0 IO-3246 Remote Assist
Signed-off-by: Allan Carr <allan@imexsystems.ca>
2025-05-23 16:45:24 -07:00
Allan Carr
8c1758ae49 Merged in feature/IO-3075-Crisp-Basic-Info (pull request #2335)
IO-3075 Crisp Basic Info

Approved-by: Dave Richer
2025-05-23 18:03:15 +00:00
Allan Carr
2d764921ff IO-3075 Crisp Basic Info
Signed-off-by: Allan Carr <allan@imexsystems.ca>
2025-05-23 10:43:15 -07:00
Dave Richer
4859239f55 Merged in feature/IO-3242-Visual-Production-Board-Vertical-Drag-Bug (pull request #2332)
feature/IO-3242-Visual-Production-Board-Vertical-Drag-Bug - Fix bug
2025-05-23 15:01:44 +00:00
Dave Richer
5c64d7185e feature/IO-3242-Visual-Production-Board-Vertical-Drag-Bug - Fix bug 2025-05-23 11:00:21 -04:00
Patrick Fic
152479bc08 Merged in feature/IO-3239-integration-logging (pull request #2331)
Feature/IO-3239 integration logging
2025-05-22 18:56:05 +00:00
14 changed files with 330 additions and 233 deletions

View File

@@ -15,8 +15,8 @@
"@fingerprintjs/fingerprintjs": "^4.6.1",
"@firebase/analytics": "^0.10.16",
"@firebase/app": "^0.13.0",
"@firebase/auth": "^1.10.5",
"@firebase/firestore": "^4.7.15",
"@firebase/auth": "^1.10.6",
"@firebase/firestore": "^4.7.16",
"@firebase/messaging": "^0.12.21",
"@jsreport/browser-client": "^3.1.0",
"@reduxjs/toolkit": "^2.8.2",
@@ -25,7 +25,7 @@
"@sentry/vite-plugin": "^3.5.0",
"@splitsoftware/splitio-react": "^2.1.1",
"@tanem/react-nprogress": "^5.0.53",
"antd": "^5.25.2",
"antd": "^5.25.3",
"apollo-link-logger": "^2.0.1",
"apollo-link-sentry": "^4.3.0",
"autosize": "^6.0.1",
@@ -48,6 +48,7 @@
"memoize-one": "^6.0.0",
"normalize-url": "^8.0.1",
"object-hash": "^3.0.0",
"phone": "^3.1.59",
"prop-types": "^15.8.1",
"query-string": "^9.2.0",
"raf-schd": "^4.0.3",
@@ -59,7 +60,7 @@
"react-drag-listview": "^2.0.0",
"react-grid-gallery": "^1.0.1",
"react-grid-layout": "1.3.4",
"react-i18next": "^15.4.1",
"react-i18next": "^15.5.2",
"react-icons": "^5.5.0",
"react-image-lightbox": "^5.1.4",
"react-markdown": "^10.1.0",
@@ -99,7 +100,7 @@
"@testing-library/dom": "^10.4.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.3.0",
"@vitejs/plugin-react": "^4.3.4",
"@vitejs/plugin-react": "^4.5.0",
"browserslist": "^4.24.5",
"browserslist-to-esbuild": "^2.1.1",
"chalk": "^5.4.1",
@@ -2966,9 +2967,9 @@
}
},
"node_modules/@firebase/auth": {
"version": "1.10.5",
"resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.10.5.tgz",
"integrity": "sha512-6wF/NdMTwObL4RNQePunuzMr9O3gyftisvFZFFKf57D2HONXo87YymogRV8d+Z7SLA0rcNBN1gLJVk2D0y97gA==",
"version": "1.10.6",
"resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.10.6.tgz",
"integrity": "sha512-cFbo2FymQltog4atI9cKTO6CxKxS0dOMXslTQrlNZRH7qhDG44/d7QeI6GXLweFZtrnlecf52ESnNz1DU6ek8w==",
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.17",
@@ -3003,9 +3004,9 @@
}
},
"node_modules/@firebase/firestore": {
"version": "4.7.15",
"resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.7.15.tgz",
"integrity": "sha512-FgWTmkNBEXdKCoN2ngBNjrMaXuBx6QwjiZZVnOGg+VjUmiBq5gAqlDIW5bZY6i/NYvLUrWugdqIs7y9GHEqwww==",
"version": "4.7.16",
"resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.7.16.tgz",
"integrity": "sha512-5OpvlwYVUTLEnqewOlXmtIpH8t2ISlZHDW0NDbKROM2D0ATMqFkMHdvl+/wz9zOAcb8GMQYlhCihOnVAliUbpQ==",
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.17",
@@ -3885,6 +3886,13 @@
"react": ">=16.8.0"
}
},
"node_modules/@rolldown/pluginutils": {
"version": "1.0.0-beta.9",
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.9.tgz",
"integrity": "sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==",
"dev": true,
"license": "MIT"
},
"node_modules/@rollup/plugin-babel": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
@@ -5793,15 +5801,16 @@
"license": "ISC"
},
"node_modules/@vitejs/plugin-react": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz",
"integrity": "sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==",
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.5.0.tgz",
"integrity": "sha512-JuLWaEqypaJmOJPLWwO335Ig6jSgC1FTONCWAxnqcQthLTK/Yc9aH6hr9z/87xciejbQcnP3GnA1FWUSWeXaeg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/core": "^7.26.10",
"@babel/plugin-transform-react-jsx-self": "^7.25.9",
"@babel/plugin-transform-react-jsx-source": "^7.25.9",
"@rolldown/pluginutils": "1.0.0-beta.9",
"@types/babel__core": "^7.20.5",
"react-refresh": "^0.17.0"
},
@@ -6091,12 +6100,12 @@
}
},
"node_modules/antd": {
"version": "5.25.2",
"resolved": "https://registry.npmjs.org/antd/-/antd-5.25.2.tgz",
"integrity": "sha512-7R2nUvlHhey7Trx64+hCtGXOiy+DTUs1Lv5bwbV1LzEIZIhWb0at1AM6V3K108a5lyoR9n7DX3ptlLF7uYV/DQ==",
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/antd/-/antd-5.25.3.tgz",
"integrity": "sha512-tBBcAFRjmWM3sitxrL/FEbQL+MTQntYY5bGa5c1ZZZHXWCynkhS3Ch/gy25mGMUY1M/9Uw3pH029v/RGht1x3w==",
"license": "MIT",
"dependencies": {
"@ant-design/colors": "^7.2.0",
"@ant-design/colors": "^7.2.1",
"@ant-design/cssinjs": "^1.23.0",
"@ant-design/cssinjs-utils": "^1.1.3",
"@ant-design/fast-color": "^2.0.6",
@@ -6156,9 +6165,9 @@
}
},
"node_modules/antd/node_modules/@ant-design/colors": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.2.0.tgz",
"integrity": "sha512-bjTObSnZ9C/O8MB/B4OUtd/q9COomuJAR2SYfhxLyHvCKn4EKwCN3e+fWGMo7H5InAyV0wL17jdE9ALrdOW/6A==",
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.2.1.tgz",
"integrity": "sha512-lCHDcEzieu4GA3n8ELeZ5VQ8pKQAWcGGLRTQ50aQM2iqPpq2evTxER84jfdPvsPAtEcZ7m44NI45edFMo8oOYQ==",
"license": "MIT",
"dependencies": {
"@ant-design/fast-color": "^2.0.6"
@@ -13266,6 +13275,15 @@
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
"license": "MIT"
},
"node_modules/phone": {
"version": "3.1.59",
"resolved": "https://registry.npmjs.org/phone/-/phone-3.1.59.tgz",
"integrity": "sha512-CUv22jw0Zgrb/h7v3sEd262zJXS/66h7zyCCRIynx+2FswAJuuFsXsJkIxMUT4UcosKxDx1bJwdZeGnDELLsCw==",
"license": "MIT",
"engines": {
"node": ">=12"
}
},
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
@@ -14403,9 +14421,9 @@
}
},
"node_modules/react-i18next": {
"version": "15.5.1",
"resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.5.1.tgz",
"integrity": "sha512-C8RZ7N7H0L+flitiX6ASjq9p5puVJU1Z8VyL3OgM/QOMRf40BMZX+5TkpxzZVcTmOLPX5zlti4InEX5pFyiVeA==",
"version": "15.5.2",
"resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.5.2.tgz",
"integrity": "sha512-ePODyXgmZQAOYTbZXQn5rRsSBu3Gszo69jxW6aKmlSgxKAI1fOhDwSu6bT4EKHciWPKQ7v7lPrjeiadR6Gi+1A==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.25.0",

View File

@@ -14,8 +14,8 @@
"@fingerprintjs/fingerprintjs": "^4.6.1",
"@firebase/analytics": "^0.10.16",
"@firebase/app": "^0.13.0",
"@firebase/auth": "^1.10.5",
"@firebase/firestore": "^4.7.15",
"@firebase/auth": "^1.10.6",
"@firebase/firestore": "^4.7.16",
"@firebase/messaging": "^0.12.21",
"@jsreport/browser-client": "^3.1.0",
"@reduxjs/toolkit": "^2.8.2",
@@ -24,7 +24,7 @@
"@sentry/vite-plugin": "^3.5.0",
"@splitsoftware/splitio-react": "^2.1.1",
"@tanem/react-nprogress": "^5.0.53",
"antd": "^5.25.2",
"antd": "^5.25.3",
"apollo-link-logger": "^2.0.1",
"apollo-link-sentry": "^4.3.0",
"autosize": "^6.0.1",
@@ -47,6 +47,7 @@
"memoize-one": "^6.0.0",
"normalize-url": "^8.0.1",
"object-hash": "^3.0.0",
"phone": "^3.1.59",
"prop-types": "^15.8.1",
"query-string": "^9.2.0",
"raf-schd": "^4.0.3",
@@ -58,7 +59,7 @@
"react-drag-listview": "^2.0.0",
"react-grid-gallery": "^1.0.1",
"react-grid-layout": "1.3.4",
"react-i18next": "^15.4.1",
"react-i18next": "^15.5.2",
"react-icons": "^5.5.0",
"react-image-lightbox": "^5.1.4",
"react-markdown": "^10.1.0",
@@ -139,7 +140,7 @@
"@testing-library/dom": "^10.4.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.3.0",
"@vitejs/plugin-react": "^4.3.4",
"@vitejs/plugin-react": "^4.5.0",
"browserslist": "^4.24.5",
"browserslist-to-esbuild": "^2.1.1",
"chalk": "^5.4.1",

View File

@@ -15,6 +15,7 @@ import {
HomeFilled,
ImportOutlined,
LineChartOutlined,
OneToOneOutlined,
PaperClipOutlined,
PhoneOutlined,
PlusCircleOutlined,
@@ -24,6 +25,7 @@ import {
TeamOutlined,
ToolFilled,
UnorderedListOutlined,
UsergroupAddOutlined,
UserOutlined
} from "@ant-design/icons";
import { useQuery } from "@apollo/client";
@@ -40,6 +42,7 @@ import { RiSurveyLine } from "react-icons/ri";
import { connect } from "react-redux";
import { Link } from "react-router-dom";
import { createStructuredSelector } from "reselect";
import { useSocket } from "../../contexts/SocketIO/useSocket.js";
import { GET_UNREAD_COUNT } from "../../graphql/notifications.queries.js";
import { selectRecentItems, selectSelectedHeader } from "../../redux/application/application.selectors";
import { setModalContext } from "../../redux/modals/modals.actions";
@@ -47,11 +50,10 @@ import { signOutStart } from "../../redux/user/user.actions";
import { selectBodyshop, selectCurrentUser } from "../../redux/user/user.selectors";
import day from "../../utils/day.js";
import InstanceRenderManager from "../../utils/instanceRenderMgr";
import { useIsEmployee } from "../../utils/useIsEmployee.js";
import { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component";
import LockWrapper from "../lock-wrapper/lock-wrapper.component";
import NotificationCenterContainer from "../notification-center/notification-center.container.jsx";
import { useSocket } from "../../contexts/SocketIO/useSocket.js";
import { useIsEmployee } from "../../utils/useIsEmployee.js";
// Redux mappings
const mapStateToProps = createStructuredSelector({
@@ -642,17 +644,32 @@ function Header({
label: t("menus.header.help"),
onClick: () => window.open("https://help.imex.online/", "_blank")
},
...(InstanceRenderManager({ imex: true, rome: false })
? [
{
key: "rescue",
id: "header-rescue",
icon: <CarFilled />,
label: t("menus.header.rescueme"),
onClick: () => window.open("https://imexrescue.com/", "_blank")
}
]
: []),
{
key: "remoteassist",
id: "header-remote-assist",
icon: <OneToOneOutlined />,
label: t("menus.header.remoteassist"),
children: [
...(InstanceRenderManager({ imex: true, rome: true })
? [
{
key: "rescue",
id: "header-rescue",
icon: <PlusCircleOutlined />,
label: t("menus.header.rescueme"),
onClick: () => window.open("https://imexrescue.com/", "_blank")
}
]
: []),
{
key: "rescue",
id: "header-rescue-zoho",
icon: <UsergroupAddOutlined />,
label: t("menus.header.rescuemezoho"),
onClick: () => window.open("https://join.zoho.com/", "_blank")
}
]
},
{
key: "shiftclock",
id: "header-shiftclock",

View File

@@ -167,7 +167,18 @@ export function JobsDetailHeaderActionsToggleProduction({
<FormDateTimePickerComponent disabled={jobRO} />
</Form.Item>
<Form.Item name={["actual_delivery"]} label={t("jobs.fields.actual_delivery")}>
<Form.Item
name={["actual_delivery"]}
label={t("jobs.fields.actual_delivery")}
rules={[
{
required: bodyshop.deliverchecklist.actual_delivery
? bodyshop.deliverchecklist.actual_delivery
: false
//message: t("general.validation.required"),
}
]}
>
<FormDateTimePickerComponent disabled={jobRO} />
</Form.Item>
</>

View File

@@ -20,7 +20,7 @@ const Board = ({ id, className, orientation, cardSettings, ...additionalProps })
default:
return cardSizesVertical.small;
}
}, [cardSettings]);
}, [cardSettings?.cardSize]);
return (
<>

View File

@@ -101,11 +101,33 @@ const BoardContainer = ({
async ({ draggableId, type, source, reason, mode, destination, combine }) => {
setIsDragging(false);
// Only update drag time if it's a valid drop with a different destination
if (type === "lane" && source && destination && !isEqual(source, destination)) {
setDragTime(source.droppableId);
setIsProcessing(true);
// Validate drag type and source
if (type !== "lane" || !source) {
// Invalid drag type or missing source, attempt to revert if possible
if (source) {
dispatch(
actions.moveCardAcrossLanes({
fromLaneId: source.droppableId,
toLaneId: source.droppableId,
cardId: draggableId,
index: source.index
})
);
}
setIsProcessing(false);
try {
await onDragEnd({ draggableId, type, source, reason, mode, destination, combine });
} catch (err) {
console.error("Error in onLaneDrag for invalid drag type or source", err);
}
return;
}
setDragTime(source.droppableId);
setIsProcessing(true);
// Handle valid drop to a different lane or position
if (destination && !isEqual(source, destination)) {
dispatch(
actions.moveCardAcrossLanes({
fromLaneId: source.droppableId,
@@ -114,14 +136,33 @@ const BoardContainer = ({
index: destination.index
})
);
} else {
// Same-lane drop or no destination, revert to original position
dispatch(
actions.moveCardAcrossLanes({
fromLaneId: source.droppableId,
toLaneId: source.droppableId,
cardId: draggableId,
index: source.index
})
);
}
try {
await onDragEnd({ draggableId, type, source, reason, mode, destination, combine });
} catch (err) {
console.error("Error in onLaneDrag", err);
} finally {
setIsProcessing(false);
}
try {
await onDragEnd({ draggableId, type, source, reason, mode, destination, combine });
} catch (err) {
console.error("Error in onLaneDrag", err);
// Ensure revert on error
dispatch(
actions.moveCardAcrossLanes({
fromLaneId: source.droppableId,
toLaneId: source.droppableId,
cardId: draggableId,
index: source.index
})
);
} finally {
setIsProcessing(false);
}
},
[dispatch, onDragEnd, setDragTime]

View File

@@ -133,7 +133,9 @@ const Lane = ({
Item: ItemComponent
},
itemContent: (index, item) => <ItemWrapper>{renderDraggable(index, item)}</ItemWrapper>,
overscan: { main: 10, reverse: 10 }
overscan: { main: 10, reverse: 10 },
// Ensure a minimum height for empty lanes to allow dropping
style: renderedCards.length === 0 ? { minHeight: "5px" } : {}
};
const horizontalProps = {
@@ -149,8 +151,6 @@ const Lane = ({
const componentProps = orientation === "vertical" ? verticalProps : horizontalProps;
// If the lane is collapsed, we want to render a div instead of the virtualized list, and we want to set the height to the max height of the lane so that
// the lane doesn't shrink when collapsed (in horizontal mode)
const finalComponentProps = collapsed
? orientation === "horizontal"
? {
@@ -161,9 +161,8 @@ const Lane = ({
: {}
: componentProps;
// If the lane is horizontal and collapsed, we want to render a placeholder so that the lane doesn't shrink to 0 height and grows when
// a card is dragged over it
const shouldRenderPlaceholder = orientation !== "horizontal" && (collapsed || renderedCards.length === 0);
// Always render placeholder for empty lanes in vertical mode to ensure droppable area
const shouldRenderPlaceholder = orientation === "vertical" ? collapsed || renderedCards.length === 0 : collapsed;
return (
<HeightMemoryWrapper
@@ -178,8 +177,8 @@ const Lane = ({
override={orientation !== "horizontal" && (collapsed || !renderedCards.length)}
>
<div
ref={laneRef} // Ensure laneRef is set here
style={{ height: "100%", width: "100%" }} // Make it scrollable
ref={laneRef}
style={{ height: "100%", width: "100%" }}
className={`react-trello-lane ${collapsed ? "lane-collapsed" : ""}`}
>
<div {...provided.droppableProps} ref={provided.innerRef} style={{ ...provided.droppableProps.style }}>

View File

@@ -335,20 +335,12 @@ export function* SetAuthLevelFromShopDetails({ payload }) {
}
try {
InstanceRenderManager({
executeFunction: true,
args: [],
imex: () => {
window.$crisp.push(["set", "user:company", [payload.shopname]]);
window.$crisp.push(["set", "session:segments", [[`region:${payload.region_config}`]]]);
if (authRecord[0] && authRecord[0].user.validemail) {
window.$crisp.push(["set", "user:email", [authRecord[0].user.email]]);
}
},
rome: () => {
window.$zoho.salesiq.visitor.info({ "Shop Name": payload.shopname });
}
});
window.$crisp.push(["set", "user:company", [payload.shopname]]);
window.$crisp.push(["set", "session:segments", [[`region:${payload.region_config}`]]]);
if (authRecord[0] && authRecord[0].user.validemail) {
window.$crisp.push(["set", "user:email", [authRecord[0].user.email]]);
}
payload.features?.allAccess === true
? window.$crisp.push(["set", "session:segments", [["allAccess"]]])
: (() => {
@@ -359,6 +351,14 @@ export function* SetAuthLevelFromShopDetails({ payload }) {
);
window.$crisp.push(["set", "session:segments", [["basic", ...featureKeys]]]);
})();
InstanceRenderManager({
executeFunction: true,
args: [],
rome: () => {
window.$zoho.salesiq.visitor.info({ "Shop Name": payload.shopname });
}
});
} catch (error) {
console.warn("Couldnt find $crisp.", error.message);
}

View File

@@ -2302,8 +2302,10 @@
"productionlist": "Production Board - List",
"readyjobs": "Ready Jobs",
"recent": "Recent Items",
"remoteassist": "Remote Assist",
"reportcenter": "Report Center",
"rescueme": "Rescue me!",
"rescueme": "Rescue Me!",
"rescuemezoho": "Remote Me In!",
"schedule": "Schedule",
"scoreboard": "Scoreboard",
"search": {

View File

@@ -2301,8 +2301,10 @@
"productionlist": "",
"readyjobs": "",
"recent": "",
"remoteassist": "",
"reportcenter": "",
"rescueme": "",
"rescuemezoho": "",
"schedule": "Programar",
"scoreboard": "",
"search": {
@@ -2498,7 +2500,8 @@
},
"tooltips": {
"job-watchers": "",
"not-employee": ""
"not-employee": "",
"not-employee-notifications": ""
}
},
"owner": {

View File

@@ -2301,8 +2301,10 @@
"productionlist": "",
"readyjobs": "",
"recent": "",
"remoteassist": "",
"reportcenter": "",
"rescueme": "",
"rescuemezoho": "",
"schedule": "Programme",
"scoreboard": "",
"search": {
@@ -2498,7 +2500,8 @@
},
"tooltips": {
"job-watchers": "",
"not-employee": ""
"not-employee": "",
"not-employee-notifications": ""
}
},
"owner": {

287
package-lock.json generated
View File

@@ -9,14 +9,14 @@
"version": "0.2.0",
"license": "UNLICENSED",
"dependencies": {
"@aws-sdk/client-cloudwatch-logs": "^3.812.0",
"@aws-sdk/client-elasticache": "^3.812.0",
"@aws-sdk/client-s3": "^3.812.0",
"@aws-sdk/client-secrets-manager": "^3.812.0",
"@aws-sdk/client-ses": "^3.812.0",
"@aws-sdk/credential-provider-node": "^3.812.0",
"@aws-sdk/lib-storage": "^3.812.0",
"@aws-sdk/s3-request-presigner": "^3.812.0",
"@aws-sdk/client-cloudwatch-logs": "^3.817.0",
"@aws-sdk/client-elasticache": "^3.817.0",
"@aws-sdk/client-s3": "^3.817.0",
"@aws-sdk/client-secrets-manager": "^3.817.0",
"@aws-sdk/client-ses": "^3.817.0",
"@aws-sdk/credential-provider-node": "^3.817.0",
"@aws-sdk/lib-storage": "^3.817.0",
"@aws-sdk/s3-request-presigner": "^3.817.0",
"@opensearch-project/opensearch": "^2.13.0",
"@socket.io/admin-ui": "^0.5.1",
"@socket.io/redis-adapter": "^8.3.0",
@@ -31,7 +31,7 @@
"cookie-parser": "^1.4.7",
"cors": "^2.8.5",
"crisp-status-reporter": "^1.2.2",
"dd-trace": "^5.52.0",
"dd-trace": "^5.53.0",
"dinero.js": "^1.9.1",
"dotenv": "^16.4.5",
"express": "^4.21.1",
@@ -45,7 +45,7 @@
"juice": "^11.0.1",
"lodash": "^4.17.21",
"moment": "^2.30.1",
"moment-timezone": "^0.5.48",
"moment-timezone": "^0.6.0",
"multer": "^1.4.5-lts.1",
"node-persist": "^4.0.4",
"nodemailer": "^6.10.0",
@@ -284,24 +284,24 @@
}
},
"node_modules/@aws-sdk/client-cloudwatch-logs": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.812.0.tgz",
"integrity": "sha512-SLvqaMwRviAwb+z4XAq2QmlbUjr7rXN6zAEr4/x2ltyrsxEV95gBo0KHeroAsWhd4eD19USjAgg64KJgvUtNGw==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.817.0.tgz",
"integrity": "sha512-dbR4YZZ2wulMzblgSSE43yd9jgbXDMSrZS7w7r0DqDNAbsXrp79qU2CvA+lb47wGpDxMNppgvoCMu5kcIP5gXw==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "3.812.0",
"@aws-sdk/credential-provider-node": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/credential-provider-node": "3.817.0",
"@aws-sdk/middleware-host-header": "3.804.0",
"@aws-sdk/middleware-logger": "3.804.0",
"@aws-sdk/middleware-recursion-detection": "3.804.0",
"@aws-sdk/middleware-user-agent": "3.812.0",
"@aws-sdk/middleware-user-agent": "3.816.0",
"@aws-sdk/region-config-resolver": "3.808.0",
"@aws-sdk/types": "3.804.0",
"@aws-sdk/util-endpoints": "3.808.0",
"@aws-sdk/util-user-agent-browser": "3.804.0",
"@aws-sdk/util-user-agent-node": "3.812.0",
"@aws-sdk/util-user-agent-node": "3.816.0",
"@smithy/config-resolver": "^4.1.2",
"@smithy/core": "^3.3.3",
"@smithy/eventstream-serde-browser": "^4.0.2",
@@ -352,24 +352,24 @@
}
},
"node_modules/@aws-sdk/client-elasticache": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-elasticache/-/client-elasticache-3.812.0.tgz",
"integrity": "sha512-o1KC5Glo3c0T/RN2XBanHu40k3M99MJyq+e/02tIMgEGKIPmnvB8A8muE2F3rQ2A0qLCxvjhm+kprlmDwzpryw==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-elasticache/-/client-elasticache-3.817.0.tgz",
"integrity": "sha512-TO1Zfv3racKQsRoll4owV2q4kNcw1x64D19KFrWd87rQ517ahbXRcPpaKOqe9CYG1Zo3SIzRySaJLoPftXDfRQ==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "3.812.0",
"@aws-sdk/credential-provider-node": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/credential-provider-node": "3.817.0",
"@aws-sdk/middleware-host-header": "3.804.0",
"@aws-sdk/middleware-logger": "3.804.0",
"@aws-sdk/middleware-recursion-detection": "3.804.0",
"@aws-sdk/middleware-user-agent": "3.812.0",
"@aws-sdk/middleware-user-agent": "3.816.0",
"@aws-sdk/region-config-resolver": "3.808.0",
"@aws-sdk/types": "3.804.0",
"@aws-sdk/util-endpoints": "3.808.0",
"@aws-sdk/util-user-agent-browser": "3.804.0",
"@aws-sdk/util-user-agent-node": "3.812.0",
"@aws-sdk/util-user-agent-node": "3.816.0",
"@smithy/config-resolver": "^4.1.2",
"@smithy/core": "^3.3.3",
"@smithy/fetch-http-handler": "^5.0.2",
@@ -403,32 +403,32 @@
}
},
"node_modules/@aws-sdk/client-s3": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.812.0.tgz",
"integrity": "sha512-kHgw9JDXNPLa/mHtWpOd5btBVXFSe+wwp1Ed9+bqz9uLkv0iV4joZrdQwnydkO8zlTs60Sc5ez+P2OiZ76i2Qg==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.817.0.tgz",
"integrity": "sha512-nZyjhlLMEXDs0ofWbpikI8tKoeKuuSgYcIb6eEZJk90Nt5HkkXn6nkWOs/kp2FdhpoGJyTILOVsDgdm7eutnLA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha1-browser": "5.2.0",
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "3.812.0",
"@aws-sdk/credential-provider-node": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/credential-provider-node": "3.817.0",
"@aws-sdk/middleware-bucket-endpoint": "3.808.0",
"@aws-sdk/middleware-expect-continue": "3.804.0",
"@aws-sdk/middleware-flexible-checksums": "3.812.0",
"@aws-sdk/middleware-flexible-checksums": "3.816.0",
"@aws-sdk/middleware-host-header": "3.804.0",
"@aws-sdk/middleware-location-constraint": "3.804.0",
"@aws-sdk/middleware-logger": "3.804.0",
"@aws-sdk/middleware-recursion-detection": "3.804.0",
"@aws-sdk/middleware-sdk-s3": "3.812.0",
"@aws-sdk/middleware-sdk-s3": "3.816.0",
"@aws-sdk/middleware-ssec": "3.804.0",
"@aws-sdk/middleware-user-agent": "3.812.0",
"@aws-sdk/middleware-user-agent": "3.816.0",
"@aws-sdk/region-config-resolver": "3.808.0",
"@aws-sdk/signature-v4-multi-region": "3.812.0",
"@aws-sdk/signature-v4-multi-region": "3.816.0",
"@aws-sdk/types": "3.804.0",
"@aws-sdk/util-endpoints": "3.808.0",
"@aws-sdk/util-user-agent-browser": "3.804.0",
"@aws-sdk/util-user-agent-node": "3.812.0",
"@aws-sdk/util-user-agent-node": "3.816.0",
"@aws-sdk/xml-builder": "3.804.0",
"@smithy/config-resolver": "^4.1.2",
"@smithy/core": "^3.3.3",
@@ -470,24 +470,24 @@
}
},
"node_modules/@aws-sdk/client-secrets-manager": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.812.0.tgz",
"integrity": "sha512-RyGzi7kkacjPd0QgVjw6OYvZVvuqtd1wRwG0Aek32dPUYu8eOs9FDaqBsDnNIqdw+lAqC/pKIOPYWtLu2OxE0Q==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.817.0.tgz",
"integrity": "sha512-Hx74xmJo9xPeHRFtFGdsT5qFx6p9V13ptQ3HICnkmcbtA+CX8soTuc5mglkp9vTdTjvRwKVAmQhx6NPf9ELcjQ==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "3.812.0",
"@aws-sdk/credential-provider-node": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/credential-provider-node": "3.817.0",
"@aws-sdk/middleware-host-header": "3.804.0",
"@aws-sdk/middleware-logger": "3.804.0",
"@aws-sdk/middleware-recursion-detection": "3.804.0",
"@aws-sdk/middleware-user-agent": "3.812.0",
"@aws-sdk/middleware-user-agent": "3.816.0",
"@aws-sdk/region-config-resolver": "3.808.0",
"@aws-sdk/types": "3.804.0",
"@aws-sdk/util-endpoints": "3.808.0",
"@aws-sdk/util-user-agent-browser": "3.804.0",
"@aws-sdk/util-user-agent-node": "3.812.0",
"@aws-sdk/util-user-agent-node": "3.816.0",
"@smithy/config-resolver": "^4.1.2",
"@smithy/core": "^3.3.3",
"@smithy/fetch-http-handler": "^5.0.2",
@@ -535,24 +535,24 @@
}
},
"node_modules/@aws-sdk/client-ses": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-ses/-/client-ses-3.812.0.tgz",
"integrity": "sha512-7JUS2u0AKMYiEmRrxAYQj8ifFwVUgMAHt5H/KjMhh+1El0NqAQDt3JLD4Asmzy7/TvTAWZfk5np2LQPNB2wZpw==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-ses/-/client-ses-3.817.0.tgz",
"integrity": "sha512-cf2FsdcTT5HiOFOnWk3tzRc84iXcrUNXe4O4KaH75tRToBuQkTaidPI/K9wHnOybNDEkkCcgJo9skv4ftz8qYA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "3.812.0",
"@aws-sdk/credential-provider-node": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/credential-provider-node": "3.817.0",
"@aws-sdk/middleware-host-header": "3.804.0",
"@aws-sdk/middleware-logger": "3.804.0",
"@aws-sdk/middleware-recursion-detection": "3.804.0",
"@aws-sdk/middleware-user-agent": "3.812.0",
"@aws-sdk/middleware-user-agent": "3.816.0",
"@aws-sdk/region-config-resolver": "3.808.0",
"@aws-sdk/types": "3.804.0",
"@aws-sdk/util-endpoints": "3.808.0",
"@aws-sdk/util-user-agent-browser": "3.804.0",
"@aws-sdk/util-user-agent-node": "3.812.0",
"@aws-sdk/util-user-agent-node": "3.816.0",
"@smithy/config-resolver": "^4.1.2",
"@smithy/core": "^3.3.3",
"@smithy/fetch-http-handler": "^5.0.2",
@@ -586,23 +586,23 @@
}
},
"node_modules/@aws-sdk/client-sso": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.812.0.tgz",
"integrity": "sha512-O//smQRj1+RXELB7xX54s5pZB0V69KHXpUZmz8V+8GAYO1FKTHfbpUgK+zyMNb+lFZxG9B69yl8pWPZ/K8bvxA==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.817.0.tgz",
"integrity": "sha512-fCh5rUHmWmWDvw70NNoWpE5+BRdtNi45kDnIoeoszqVg7UKF79SlG+qYooUT52HKCgDNHqgbWaXxMOSqd2I/OQ==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/middleware-host-header": "3.804.0",
"@aws-sdk/middleware-logger": "3.804.0",
"@aws-sdk/middleware-recursion-detection": "3.804.0",
"@aws-sdk/middleware-user-agent": "3.812.0",
"@aws-sdk/middleware-user-agent": "3.816.0",
"@aws-sdk/region-config-resolver": "3.808.0",
"@aws-sdk/types": "3.804.0",
"@aws-sdk/util-endpoints": "3.808.0",
"@aws-sdk/util-user-agent-browser": "3.804.0",
"@aws-sdk/util-user-agent-node": "3.812.0",
"@aws-sdk/util-user-agent-node": "3.816.0",
"@smithy/config-resolver": "^4.1.2",
"@smithy/core": "^3.3.3",
"@smithy/fetch-http-handler": "^5.0.2",
@@ -635,9 +635,9 @@
}
},
"node_modules/@aws-sdk/core": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.812.0.tgz",
"integrity": "sha512-myWA9oHMBVDObKrxG+puAkIGs8igcWInQ1PWCRTS/zN4BkhUMFjjh/JPV/4Vzvtvj5E36iujq2WtlrDLl1PpOw==",
"version": "3.816.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.816.0.tgz",
"integrity": "sha512-Lx50wjtyarzKpMFV6V+gjbSZDgsA/71iyifbClGUSiNPoIQ4OCV0KVOmAAj7mQRVvGJqUMWKVM+WzK79CjbjWA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/types": "3.804.0",
@@ -657,12 +657,12 @@
}
},
"node_modules/@aws-sdk/credential-provider-env": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.812.0.tgz",
"integrity": "sha512-Ge7IEu06ANurGBZx39q9CNN/ncqb1K8lpKZCY969uNWO0/7YPhnplrRJGMZYIS35nD2mBm3ortEKjY/wMZZd5g==",
"version": "3.816.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.816.0.tgz",
"integrity": "sha512-wUJZwRLe+SxPxRV9AENYBLrJZRrNIo+fva7ZzejsC83iz7hdfq6Rv6B/aHEdPwG/nQC4+q7UUvcRPlomyrpsBA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/core": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/types": "3.804.0",
"@smithy/property-provider": "^4.0.2",
"@smithy/types": "^4.2.0",
@@ -673,12 +673,12 @@
}
},
"node_modules/@aws-sdk/credential-provider-http": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.812.0.tgz",
"integrity": "sha512-Vux2U42vPGXeE407Lp6v3yVA65J7hBO9rB67LXshyGVi7VZLAYWc4mrZxNJNqabEkjcDEmMQQakLPT6zc5SvFw==",
"version": "3.816.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.816.0.tgz",
"integrity": "sha512-gcWGzMQ7yRIF+ljTkR8Vzp7727UY6cmeaPrFQrvcFB8PhOqWpf7g0JsgOf5BSaP8CkkSQcTQHc0C5ZYAzUFwPg==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/core": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/types": "3.804.0",
"@smithy/fetch-http-handler": "^5.0.2",
"@smithy/node-http-handler": "^4.0.4",
@@ -694,18 +694,18 @@
}
},
"node_modules/@aws-sdk/credential-provider-ini": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.812.0.tgz",
"integrity": "sha512-oltqGvQ488xtPY5wrNjbD+qQYYkuCjn30IDE1qKMxJ58EM6UVTQl3XV44Xq07xfF5gKwVJQkfIyOkRAguOVybg==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.817.0.tgz",
"integrity": "sha512-kyEwbQyuXE+phWVzloMdkFv6qM6NOon+asMXY5W0fhDKwBz9zQLObDRWBrvQX9lmqq8BbDL1sCfZjOh82Y+RFw==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/core": "3.812.0",
"@aws-sdk/credential-provider-env": "3.812.0",
"@aws-sdk/credential-provider-http": "3.812.0",
"@aws-sdk/credential-provider-process": "3.812.0",
"@aws-sdk/credential-provider-sso": "3.812.0",
"@aws-sdk/credential-provider-web-identity": "3.812.0",
"@aws-sdk/nested-clients": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/credential-provider-env": "3.816.0",
"@aws-sdk/credential-provider-http": "3.816.0",
"@aws-sdk/credential-provider-process": "3.816.0",
"@aws-sdk/credential-provider-sso": "3.817.0",
"@aws-sdk/credential-provider-web-identity": "3.817.0",
"@aws-sdk/nested-clients": "3.817.0",
"@aws-sdk/types": "3.804.0",
"@smithy/credential-provider-imds": "^4.0.4",
"@smithy/property-provider": "^4.0.2",
@@ -718,17 +718,17 @@
}
},
"node_modules/@aws-sdk/credential-provider-node": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.812.0.tgz",
"integrity": "sha512-SnvSWBP6cr9nqx784eETnL2Zl7ZnMB/oJgFVEG1aejAGbT1H9gTpMwuUsBXk4u/mEYe3f1lh1Wqo+HwDgNkfrg==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.817.0.tgz",
"integrity": "sha512-b5mz7av0Lhavs1Bz3Zb+jrs0Pki93+8XNctnVO0drBW98x1fM4AR38cWvGbM/w9F9Q0/WEH3TinkmrMPrP4T/w==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/credential-provider-env": "3.812.0",
"@aws-sdk/credential-provider-http": "3.812.0",
"@aws-sdk/credential-provider-ini": "3.812.0",
"@aws-sdk/credential-provider-process": "3.812.0",
"@aws-sdk/credential-provider-sso": "3.812.0",
"@aws-sdk/credential-provider-web-identity": "3.812.0",
"@aws-sdk/credential-provider-env": "3.816.0",
"@aws-sdk/credential-provider-http": "3.816.0",
"@aws-sdk/credential-provider-ini": "3.817.0",
"@aws-sdk/credential-provider-process": "3.816.0",
"@aws-sdk/credential-provider-sso": "3.817.0",
"@aws-sdk/credential-provider-web-identity": "3.817.0",
"@aws-sdk/types": "3.804.0",
"@smithy/credential-provider-imds": "^4.0.4",
"@smithy/property-provider": "^4.0.2",
@@ -741,12 +741,12 @@
}
},
"node_modules/@aws-sdk/credential-provider-process": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.812.0.tgz",
"integrity": "sha512-YI8bb153XeEOb59F9KtTZEwDAc14s2YHZz58+OFiJ2udnKsPV87mNiFhJPW6ba9nmOLXVat5XDcwtVT1b664wg==",
"version": "3.816.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.816.0.tgz",
"integrity": "sha512-9Tm+AxMoV2Izvl5b9tyMQRbBwaex8JP06HN7ZeCXgC5sAsSN+o8dsThnEhf8jKN+uBpT6CLWKN1TXuUMrAmW1A==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/core": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/types": "3.804.0",
"@smithy/property-provider": "^4.0.2",
"@smithy/shared-ini-file-loader": "^4.0.2",
@@ -758,14 +758,14 @@
}
},
"node_modules/@aws-sdk/credential-provider-sso": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.812.0.tgz",
"integrity": "sha512-ODsPcNhgiO6GOa82TVNskM97mml9rioe9Cbhemz48lkfDQPv1u06NaCR0o3FsvprX1sEhMvJTR3sE1fyEOzvJQ==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.817.0.tgz",
"integrity": "sha512-gFUAW3VmGvdnueK1bh6TOcRX+j99Xm0men1+gz3cA4RE+rZGNy1Qjj8YHlv0hPwI9OnTPZquvPzA5fkviGREWg==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/client-sso": "3.812.0",
"@aws-sdk/core": "3.812.0",
"@aws-sdk/token-providers": "3.812.0",
"@aws-sdk/client-sso": "3.817.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/token-providers": "3.817.0",
"@aws-sdk/types": "3.804.0",
"@smithy/property-provider": "^4.0.2",
"@smithy/shared-ini-file-loader": "^4.0.2",
@@ -777,13 +777,13 @@
}
},
"node_modules/@aws-sdk/credential-provider-web-identity": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.812.0.tgz",
"integrity": "sha512-E9Bmiujvm/Hp9DM/Vc1S+D0pQbx8/x4dR/zyAEZU9EoRq0duQOQ1reWYWbebYmL1OklcVpTfKV0a/VCwuAtGSg==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.817.0.tgz",
"integrity": "sha512-A2kgkS9g6NY0OMT2f2EdXHpL17Ym81NhbGnQ8bRXPqESIi7TFypFD2U6osB2VnsFv+MhwM+Ke4PKXSmLun22/A==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/core": "3.812.0",
"@aws-sdk/nested-clients": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/nested-clients": "3.817.0",
"@aws-sdk/types": "3.804.0",
"@smithy/property-provider": "^4.0.2",
"@smithy/types": "^4.2.0",
@@ -794,9 +794,9 @@
}
},
"node_modules/@aws-sdk/lib-storage": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.812.0.tgz",
"integrity": "sha512-z37ykuXQXfGO7dqQFbEnj1Wu9UwUUXpZhr4iWXsehbIzSqyl5FiCMp0cI5XK8jLVACCfSCssZCz6QD4oDYdKlQ==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.817.0.tgz",
"integrity": "sha512-2zOO8+2EmiS049PjLSNdqmmZMQj7fzE1hZJ70A94vO+KNaVhVZYuMOOiOmwMw6ePkTCcFwK40vZIIXwEQQ1v1g==",
"license": "Apache-2.0",
"dependencies": {
"@smithy/abort-controller": "^4.0.2",
@@ -811,7 +811,7 @@
"node": ">=18.0.0"
},
"peerDependencies": {
"@aws-sdk/client-s3": "^3.812.0"
"@aws-sdk/client-s3": "^3.817.0"
}
},
"node_modules/@aws-sdk/middleware-bucket-endpoint": {
@@ -848,15 +848,15 @@
}
},
"node_modules/@aws-sdk/middleware-flexible-checksums": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.812.0.tgz",
"integrity": "sha512-/ayAooUZvV1GTomNMrfbhjUHAEaz0Wmio3lKyaTJsW4WdLJXBuzdo57YADRmYYUqx6awzJ6VJ6HGc1Uc6tOlbw==",
"version": "3.816.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.816.0.tgz",
"integrity": "sha512-kftcwDxB/VoCBsUiRgkm5CIuKbTfCN1WLPbis9LRwX3kQhKgGVxG2gG78SHk4TBB0qviWVAd/t+i/KaUgwiAcA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/crc32": "5.2.0",
"@aws-crypto/crc32c": "5.2.0",
"@aws-crypto/util": "5.2.0",
"@aws-sdk/core": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/types": "3.804.0",
"@smithy/is-array-buffer": "^4.0.0",
"@smithy/node-config-provider": "^4.1.1",
@@ -930,12 +930,12 @@
}
},
"node_modules/@aws-sdk/middleware-sdk-s3": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.812.0.tgz",
"integrity": "sha512-e8AqRRIaTsunL1hqtO1hksa9oTYdsIbfezHUyVpPGugUIB1lMqPt/DlBsanI85OzUD711UfNSEcZ1mqAxpDOoA==",
"version": "3.816.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.816.0.tgz",
"integrity": "sha512-jJ+EAXM7gnOwiCM6rrl4AUNY5urmtIsX7roTkxtb4DevJxcS+wFYRRg3/j33fQbuxQZrvk21HqxyZYx5UH70PA==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/core": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/types": "3.804.0",
"@aws-sdk/util-arn-parser": "3.804.0",
"@smithy/core": "^3.3.3",
@@ -969,12 +969,12 @@
}
},
"node_modules/@aws-sdk/middleware-user-agent": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.812.0.tgz",
"integrity": "sha512-r+HFwtSvnAs6Fydp4mijylrTX0og9p/xfxOcKsqhMuk3HpZAIcf9sSjRQI6MBusYklg7pnM4sGEnPAZIrdRotA==",
"version": "3.816.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.816.0.tgz",
"integrity": "sha512-bHRSlWZ0xDsFR8E2FwDb//0Ff6wMkVx4O+UKsfyNlAbtqCiiHRt5ANNfKPafr95cN2CCxLxiPvFTFVblQM5TsQ==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/core": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/types": "3.804.0",
"@aws-sdk/util-endpoints": "3.808.0",
"@smithy/core": "^3.3.3",
@@ -987,23 +987,23 @@
}
},
"node_modules/@aws-sdk/nested-clients": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.812.0.tgz",
"integrity": "sha512-FS/fImbEpJU3cXtBGR9fyVd+CP51eNKlvTMi3f4/6lSk3RmHjudNC9yEF/og3jtpT3O+7vsNOUW9mHco5IjdQQ==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.817.0.tgz",
"integrity": "sha512-vQ2E06A48STJFssueJQgxYD8lh1iGJoLJnHdshRDWOQb8gy1wVQR+a7MkPGhGR6lGoS0SCnF/Qp6CZhnwLsqsQ==",
"license": "Apache-2.0",
"dependencies": {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/middleware-host-header": "3.804.0",
"@aws-sdk/middleware-logger": "3.804.0",
"@aws-sdk/middleware-recursion-detection": "3.804.0",
"@aws-sdk/middleware-user-agent": "3.812.0",
"@aws-sdk/middleware-user-agent": "3.816.0",
"@aws-sdk/region-config-resolver": "3.808.0",
"@aws-sdk/types": "3.804.0",
"@aws-sdk/util-endpoints": "3.808.0",
"@aws-sdk/util-user-agent-browser": "3.804.0",
"@aws-sdk/util-user-agent-node": "3.812.0",
"@aws-sdk/util-user-agent-node": "3.816.0",
"@smithy/config-resolver": "^4.1.2",
"@smithy/core": "^3.3.3",
"@smithy/fetch-http-handler": "^5.0.2",
@@ -1053,12 +1053,12 @@
}
},
"node_modules/@aws-sdk/s3-request-presigner": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.812.0.tgz",
"integrity": "sha512-OpyANELjcD2oknkd3/qWanaRaZDx4SSV6NwYuWIk+fuxDZ+KxZZrrfue1X7OAdaP2TdSapbs7xLisxtTuptWYg==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.817.0.tgz",
"integrity": "sha512-FMV0YefefGwPqIbGcHdkkHaiVWKIZoI0wOhYhYDZI129aUD5+CEOtTi7KFp1iJjAK+Cx9bW5tAYc+e9shaWEyQ==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/signature-v4-multi-region": "3.812.0",
"@aws-sdk/signature-v4-multi-region": "3.816.0",
"@aws-sdk/types": "3.804.0",
"@aws-sdk/util-format-url": "3.804.0",
"@smithy/middleware-endpoint": "^4.1.6",
@@ -1072,12 +1072,12 @@
}
},
"node_modules/@aws-sdk/signature-v4-multi-region": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.812.0.tgz",
"integrity": "sha512-JTpk3ZHf7TXYbicKfOKi+VrsBTqcAszg9QR9fQmT9aCxPp39gsF3WsXq7NjepwZ5So11ixGIsPE/jtMym399QQ==",
"version": "3.816.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.816.0.tgz",
"integrity": "sha512-idcr9NW86sSIXASSej3423Selu6fxlhhJJtMgpAqoCH/HJh1eQrONJwNKuI9huiruPE8+02pwxuePvLW46X2mw==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/middleware-sdk-s3": "3.812.0",
"@aws-sdk/middleware-sdk-s3": "3.816.0",
"@aws-sdk/types": "3.804.0",
"@smithy/protocol-http": "^5.1.0",
"@smithy/signature-v4": "^5.1.0",
@@ -1089,12 +1089,13 @@
}
},
"node_modules/@aws-sdk/token-providers": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.812.0.tgz",
"integrity": "sha512-dbVBaKxrxE708ub5uH3w+cmKIeRQas+2Xf6rpckhohYY+IiflGOdK6aLrp3T6dOQgr/FJ37iQtcYNonAG+yVBQ==",
"version": "3.817.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.817.0.tgz",
"integrity": "sha512-CYN4/UO0VaqyHf46ogZzNrVX7jI3/CfiuktwKlwtpKA6hjf2+ivfgHSKzPpgPBcSEfiibA/26EeLuMnB6cpSrQ==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/nested-clients": "3.812.0",
"@aws-sdk/core": "3.816.0",
"@aws-sdk/nested-clients": "3.817.0",
"@aws-sdk/types": "3.804.0",
"@smithy/property-provider": "^4.0.2",
"@smithy/shared-ini-file-loader": "^4.0.2",
@@ -1185,12 +1186,12 @@
}
},
"node_modules/@aws-sdk/util-user-agent-node": {
"version": "3.812.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.812.0.tgz",
"integrity": "sha512-8pt+OkHhS2U0LDwnzwRnFxyKn8sjSe752OIZQCNv263odud8jQu9pYO2pKqb2kRBk9h9szynjZBDLXfnvSQ7Bg==",
"version": "3.816.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.816.0.tgz",
"integrity": "sha512-Q6dxmuj4hL7pudhrneWEQ7yVHIQRBFr0wqKLF1opwOi1cIePuoEbPyJ2jkel6PDEv1YMfvsAKaRshp6eNA8VHg==",
"license": "Apache-2.0",
"dependencies": {
"@aws-sdk/middleware-user-agent": "3.812.0",
"@aws-sdk/middleware-user-agent": "3.816.0",
"@aws-sdk/types": "3.804.0",
"@smithy/node-config-provider": "^4.1.1",
"@smithy/types": "^4.2.0",
@@ -5473,9 +5474,9 @@
}
},
"node_modules/dd-trace": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/dd-trace/-/dd-trace-5.52.0.tgz",
"integrity": "sha512-ZF+OWLMcgVUWJEAIYIl76LocgnbbkPJ6WgJCG1fhLk4UCsUvoHRvBx9qlexbytL0jkktk1pvzODcjL0wyxLAOQ==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/dd-trace/-/dd-trace-5.53.0.tgz",
"integrity": "sha512-ayraB+H05yAag5Ia70YwNkkAS4q0O/Bx1suijTUaYBXirTVlfK9CDSpZRf0Rcjk2uRqf8ANNNsws1fesP4cRmQ==",
"hasInstallScript": true,
"license": "(Apache-2.0 OR BSD-3-Clause)",
"dependencies": {
@@ -9034,9 +9035,9 @@
}
},
"node_modules/moment-timezone": {
"version": "0.5.48",
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.48.tgz",
"integrity": "sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==",
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.6.0.tgz",
"integrity": "sha512-ldA5lRNm3iJCWZcBCab4pnNL3HSZYXVb/3TYr75/1WCTWYuTqYUb5f/S384pncYjJ88lbO8Z4uPDvmoluHJc8Q==",
"license": "MIT",
"dependencies": {
"moment": "^2.29.4"

View File

@@ -16,14 +16,14 @@
"job-totals-fixtures:local": "docker exec node-app /usr/bin/node /app/download-job-totals-fixtures.js"
},
"dependencies": {
"@aws-sdk/client-cloudwatch-logs": "^3.812.0",
"@aws-sdk/client-elasticache": "^3.812.0",
"@aws-sdk/client-s3": "^3.812.0",
"@aws-sdk/client-secrets-manager": "^3.812.0",
"@aws-sdk/client-ses": "^3.812.0",
"@aws-sdk/credential-provider-node": "^3.812.0",
"@aws-sdk/lib-storage": "^3.812.0",
"@aws-sdk/s3-request-presigner": "^3.812.0",
"@aws-sdk/client-cloudwatch-logs": "^3.817.0",
"@aws-sdk/client-elasticache": "^3.817.0",
"@aws-sdk/client-s3": "^3.817.0",
"@aws-sdk/client-secrets-manager": "^3.817.0",
"@aws-sdk/client-ses": "^3.817.0",
"@aws-sdk/credential-provider-node": "^3.817.0",
"@aws-sdk/lib-storage": "^3.817.0",
"@aws-sdk/s3-request-presigner": "^3.817.0",
"@opensearch-project/opensearch": "^2.13.0",
"@socket.io/admin-ui": "^0.5.1",
"@socket.io/redis-adapter": "^8.3.0",
@@ -38,7 +38,7 @@
"cookie-parser": "^1.4.7",
"cors": "^2.8.5",
"crisp-status-reporter": "^1.2.2",
"dd-trace": "^5.52.0",
"dd-trace": "^5.53.0",
"dinero.js": "^1.9.1",
"dotenv": "^16.4.5",
"express": "^4.21.1",
@@ -52,7 +52,7 @@
"juice": "^11.0.1",
"lodash": "^4.17.21",
"moment": "^2.30.1",
"moment-timezone": "^0.5.48",
"moment-timezone": "^0.6.0",
"multer": "^1.4.5-lts.1",
"node-persist": "^4.0.4",
"nodemailer": "^6.10.0",

View File

@@ -282,6 +282,7 @@ const applySocketIO = async ({ server, app }) => {
logger.log("Redis connections closed.", "INFO", "redis", "api");
});
// IO Redis
const ioRedis = new Server(server, {
path: "/wss",
adapter: createAdapter(pubClient, subClient),