From 0f1ad5af174e58ea893b7a87a9e2293398e56376 Mon Sep 17 00:00:00 2001 From: Nikos Vasileiou Date: Mon, 15 Apr 2024 11:16:32 +0300 Subject: [PATCH] Allow disabling autosync --- Dockerfile | 2 +- config/defaults.yml | 3 + package-lock.json | 339 ++++++++++++++++++++++--------------------- package.json | 20 +-- src/helpers/utils.js | 5 +- 5 files changed, 188 insertions(+), 181 deletions(-) diff --git a/Dockerfile b/Dockerfile index 919d3e3..d1a88fe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ ##################### ### builder image ### -FROM node:20.11.1-alpine as builder +FROM node:20.12.2-alpine as builder ARG USER_ID ARG GROUP_ID diff --git a/config/defaults.yml b/config/defaults.yml index 1e06080..4910e5d 100644 --- a/config/defaults.yml +++ b/config/defaults.yml @@ -48,6 +48,9 @@ settings: # passed. After an hour, content will be re-fetched and re-cached with # fresh data. Lower this value if you need more frequent updates. e.g. # TX__SETTINGS__AUTOSYNC_MIN=15 + # --- + # To disable autosync, set to zero, e.g. + # TX__SETTINGS__AUTOSYNC_MIN=0 autosync_min: 60 # A jitter to add to autosync functionality to randomly diff --git a/package-lock.json b/package-lock.json index 17f3a01..1f30673 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,32 +12,32 @@ "@azure/identity": "^3.4.2", "@azure/storage-blob": "^12.17.0", "@google-cloud/storage": "^6.12.0", - "@sentry/node": "^7.105.0", - "aws-sdk": "^2.1570.0", - "axios": "^1.6.7", - "axios-retry": "^4.0.0", + "@sentry/node": "^7.110.0", + "aws-sdk": "^2.1599.0", + "axios": "^1.6.8", + "axios-retry": "^4.1.0", "body-parser": "^1.20.2", "bull": "^4.12.2", "chai-http": "^4.4.0", "compression": "^1.7.4", "cors": "^2.8.5", "dayjs": "^1.11.10", - "express": "^4.18.3", + "express": "^4.19.2", "express-prom-bundle": "^7.0.0", "express-rate-limit": "^7.2.0", "ioredis": "^5.3.2", - "joi": "^17.12.2", + "joi": "^17.12.3", "lodash": "^4.17.21", "morgan": "^1.10.0", "nconf": "^0.12.1", "nconf-yaml": "^1.0.2", - "newrelic": "^11.12.0", + "newrelic": "^11.15.0", "node-cache": "^5.1.2", - "prom-client": "^15.1.0", + "prom-client": "^15.1.1", "rate-limit-redis": "^4.2.0", "rate-limiter-flexible": "^4.0.1", "uuid": "^8.3.2", - "winston": "^3.12.0", + "winston": "^3.13.0", "winston-transport": "^4.7.0", "yargs": "^17.7.2" }, @@ -46,7 +46,7 @@ "eslint": "^8.57.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-plugin-import": "^2.29.1", - "mocha": "^10.3.0", + "mocha": "^10.4.0", "nock": "^13.5.4", "nodemon": "^3.1.0", "nyc": "^15.1.0", @@ -1431,17 +1431,17 @@ ] }, "node_modules/@newrelic/aws-sdk": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@newrelic/aws-sdk/-/aws-sdk-7.1.0.tgz", - "integrity": "sha512-deP7UC0/rYLuGGeK5ZWB1a6fG6b8I21kaZl8+zpkG3nflsRw+DgDTC7y3iiIoX5DtLodjqWO6pAcroxnpHal8g==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@newrelic/aws-sdk/-/aws-sdk-7.4.1.tgz", + "integrity": "sha512-WiNkAtjptvK9E+9ZNRoYLtsEf6bvpK9XuN0LeaBfm38/G93ubcGIyzFV+NiRCVCtCePYna4jXs2/tGSq6Y+NdQ==", "engines": { "node": ">=16.0.0" } }, "node_modules/@newrelic/koa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@newrelic/koa/-/koa-8.0.1.tgz", - "integrity": "sha512-GyeZGKPllpUu6gWXRwVP/FlvE9+tU2lOprRiTdoXNM8jdVGL02IfHnvAzrIANoZoUdf3+Vev8NNeCup2Eojcvg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@newrelic/koa/-/koa-9.1.0.tgz", + "integrity": "sha512-huLV/11IZ1CByVlNzU79bUV1p/SHpglFNPT1DJV5NfcfW+czZ0VIWH9gJd8PK1azaZ1Gy2+HV+nZ1mFuoIANnA==", "engines": { "node": ">=16.0.0" } @@ -1497,11 +1497,11 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/@newrelic/security-agent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@newrelic/security-agent/-/security-agent-1.0.1.tgz", - "integrity": "sha512-Ao5MTULa6CzI8a2poRdQ31jJA0Exv99eyewfMHYbJGAY3H4rj6TZs08rGtrDK9ZyjNTalM/DHhyyTTDq+FJM+Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@newrelic/security-agent/-/security-agent-1.2.0.tgz", + "integrity": "sha512-Snk++TQmqHKuxPYOH5bEU4GCr5xKYurUZWx3oiuoQUV73pw61qeEMrb/8iuGgAghwpCEC/8n+308efqCIZkiiQ==", "dependencies": { - "axios": "^1.6.5", + "axios": "^1.6.8", "check-disk-space": "^3.4.0", "content-type": "^1.0.5", "fast-safe-stringify": "^2.1.1", @@ -1664,58 +1664,58 @@ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "node_modules/@sentry-internal/tracing": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.105.0.tgz", - "integrity": "sha512-b+AFYB7Bc9vmyxl2jbmuT4esX5G0oPfpz35A0sxFzmJIhvMg1YMDNio2c81BtKN+VSPORCnKMLhfk3kyKKvWMQ==", + "version": "7.110.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.110.0.tgz", + "integrity": "sha512-IIHHa9e/mE7uOMJfNELI8adyoELxOy6u6TNCn5t6fphmq84w8FTc9adXkG/FY2AQpglkIvlILojfMROFB2aaAQ==", "dependencies": { - "@sentry/core": "7.105.0", - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0" + "@sentry/core": "7.110.0", + "@sentry/types": "7.110.0", + "@sentry/utils": "7.110.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/core": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.105.0.tgz", - "integrity": "sha512-5xsaTG6jZincTeJUmZomlv20mVRZUEF1U/g89lmrSOybyk2+opEnB1JeBn4ODwnvmSik8r2QLr6/RiYlaxRJCg==", + "version": "7.110.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.110.0.tgz", + "integrity": "sha512-g4suCQO94mZsKVaAbyD1zLFC5YSuBQCIPHXx9fdgtfoPib7BWjWWePkllkrvsKAv4u8Oq05RfnKOhOMRHpOKqg==", "dependencies": { - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0" + "@sentry/types": "7.110.0", + "@sentry/utils": "7.110.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.105.0.tgz", - "integrity": "sha512-b0QwZ7vT4hcJi6LmNRh3dcaYpLtXnkYXkL0rfhMb8hN8sUx8zuOWFMI7j0cfAloVThUeJVwGyv9dERfzGS2r2w==", + "version": "7.110.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.110.0.tgz", + "integrity": "sha512-YPfweCSzo/omnx5q1xOEZfI8Em3jnPqj7OM4ObXmoSKEK+kM1oUF3BTRzw5BJOaOCSTBFY1RAsGyfVIyrwxWnA==", "dependencies": { - "@sentry-internal/tracing": "7.105.0", - "@sentry/core": "7.105.0", - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0" + "@sentry-internal/tracing": "7.110.0", + "@sentry/core": "7.110.0", + "@sentry/types": "7.110.0", + "@sentry/utils": "7.110.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/types": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.105.0.tgz", - "integrity": "sha512-80o0KMVM+X2Ym9hoQxvJetkJJwkpCg7o6tHHFXI+Rp7fawc2iCMTa0IRQMUiSkFvntQLYIdDoNNuKdzz2PbQGA==", + "version": "7.110.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.110.0.tgz", + "integrity": "sha512-DqYBLyE8thC5P5MuPn+sj8tL60nCd/f5cerFFPcudn5nJ4Zs1eI6lKlwwyHYTEu5c4KFjCB0qql6kXfwAHmTyA==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.105.0.tgz", - "integrity": "sha512-YVAV0c2KLM8+VZCicQ/E/P2+J9Vs0hGhrXwV7w6ZEAtvxrg4oF270toL1WRhvcaf8JO4J1v4V+LuU6Txs4uEeQ==", + "version": "7.110.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.110.0.tgz", + "integrity": "sha512-VBsdLLN+5tf73fhf/Cm7JIsUJ6y9DkJj8h4I6Mxx0rszrvOyH6S5px40K+V4jdLBzMEvVinC7q2Cbf1YM18BSw==", "dependencies": { - "@sentry/types": "7.105.0" + "@sentry/types": "7.110.0" }, "engines": { "node": ">=8" @@ -2309,9 +2309,10 @@ } }, "node_modules/aws-sdk": { - "version": "2.1570.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1570.0.tgz", - "integrity": "sha512-WySdibC3YOPCFcXNSevX7cGp6Nc0Ksv7m6aaz6YoqSrmSn7mZhkWaVXqfd14nsjJuyEbEgX+gAiZaahyvkUYJw==", + "version": "2.1599.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1599.0.tgz", + "integrity": "sha512-jPb1LAN+s1TLTK+VR3TTJLr//sb3AhhT60Bm9jxB5G/fVeeRczXtBtixNpQ00gksQdkstILYLc9S6MuKMsksxA==", + "hasInstallScript": true, "dependencies": { "buffer": "4.9.2", "events": "1.1.1", @@ -2349,19 +2350,19 @@ } }, "node_modules/axios": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", - "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "dependencies": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, "node_modules/axios-retry": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.0.0.tgz", - "integrity": "sha512-F6P4HVGITD/v4z9Lw2mIA24IabTajvpDZmKa6zq/gGwn57wN5j1P3uWrAV0+diqnW6kTM2fTqmWNfgYWGmMuiA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.1.0.tgz", + "integrity": "sha512-svdth4H00yhlsjBbjfLQ/sMLkXqeLxhiFC1nE1JtkN/CIssGxqk0UwTEdrVjwA2gr3yJkAulwvDSIm4z4HyPvg==", "dependencies": { "is-retry-allowed": "^2.2.0" }, @@ -2985,6 +2986,14 @@ "safe-buffer": "~5.1.1" } }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", @@ -3838,16 +3847,16 @@ } }, "node_modules/express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -3909,14 +3918,6 @@ "express": "4 || 5 || ^5.0.0-beta.1" } }, - "node_modules/express/node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/express/node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -4215,9 +4216,9 @@ "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -4792,9 +4793,9 @@ } }, "node_modules/html-entities": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.0.tgz", - "integrity": "sha512-g3xzbdhD5HamT50Sc7/KVvFvU3SUMpKmJkQWYVRhcXHzwUzRXZt5HzTNwn/5BNMm4bECBZc5YnuPh0J8PIBbAQ==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", "funding": [ { "type": "github", @@ -5690,9 +5691,9 @@ } }, "node_modules/joi": { - "version": "17.12.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", - "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", + "version": "17.12.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.3.tgz", + "integrity": "sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g==", "dependencies": { "@hapi/hoek": "^9.3.0", "@hapi/topo": "^5.1.0", @@ -6149,9 +6150,9 @@ } }, "node_modules/mocha": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz", - "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", + "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", "dev": true, "dependencies": { "ansi-colors": "4.1.1", @@ -6471,16 +6472,16 @@ } }, "node_modules/newrelic": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-11.12.0.tgz", - "integrity": "sha512-02TY9+3bp4FAmVTnajWUJyz0ESu21avajRXbsE+zYxI1XSd0tEr+DoL7z2P1BGH2KsOquoDCjR+J4rY2Q88A1A==", + "version": "11.15.0", + "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-11.15.0.tgz", + "integrity": "sha512-sP5zLP/JgaTivDiLfS/kcYpQK7lZQTk6Qqw/9hdAOgtzx/uZdKzxLmNzXk3uS0eVnwQVgKvVr3pGILJUGhGtPA==", "dependencies": { "@grpc/grpc-js": "^1.9.4", "@grpc/proto-loader": "^0.7.5", - "@newrelic/aws-sdk": "^7.1.0", - "@newrelic/koa": "^8.0.1", + "@newrelic/aws-sdk": "^7.3.0", + "@newrelic/koa": "^9.1.0", "@newrelic/ritm": "^7.2.0", - "@newrelic/security-agent": "^1.0.1", + "@newrelic/security-agent": "^1.1.1", "@newrelic/superagent": "^7.0.1", "@tyriar/fibonacci-heap": "^2.0.7", "concat-stream": "^2.0.0", @@ -7331,9 +7332,9 @@ } }, "node_modules/prom-client": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-15.1.0.tgz", - "integrity": "sha512-cCD7jLTqyPdjEPBo/Xk4Iu8jxjuZgZJ3e/oET3L+ZwOuap/7Cw3dH/TJSsZKs1TQLZ2IHpIlRAKw82ef06kmMw==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-15.1.1.tgz", + "integrity": "sha512-GVA2H96QCg2q71rjc3VYvSrVG7OpnJxyryC7dMzvfJfpJJHzQVwF3TJLfHzKORcwJpElWs1TwXLthlJAFJxq2A==", "dependencies": { "@opentelemetry/api": "^1.4.0", "tdigest": "^0.1.1" @@ -8941,9 +8942,9 @@ } }, "node_modules/winston": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.12.0.tgz", - "integrity": "sha512-OwbxKaOlESDi01mC9rkM0dQqQt2I8DAUMRLZ/HpbwvDXm85IryEHgoogy5fziQy38PntgZsLlhAYHz//UPHZ5w==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", + "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", "dependencies": { "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", @@ -10207,14 +10208,14 @@ "optional": true }, "@newrelic/aws-sdk": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@newrelic/aws-sdk/-/aws-sdk-7.1.0.tgz", - "integrity": "sha512-deP7UC0/rYLuGGeK5ZWB1a6fG6b8I21kaZl8+zpkG3nflsRw+DgDTC7y3iiIoX5DtLodjqWO6pAcroxnpHal8g==" + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@newrelic/aws-sdk/-/aws-sdk-7.4.1.tgz", + "integrity": "sha512-WiNkAtjptvK9E+9ZNRoYLtsEf6bvpK9XuN0LeaBfm38/G93ubcGIyzFV+NiRCVCtCePYna4jXs2/tGSq6Y+NdQ==" }, "@newrelic/koa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@newrelic/koa/-/koa-8.0.1.tgz", - "integrity": "sha512-GyeZGKPllpUu6gWXRwVP/FlvE9+tU2lOprRiTdoXNM8jdVGL02IfHnvAzrIANoZoUdf3+Vev8NNeCup2Eojcvg==" + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@newrelic/koa/-/koa-9.1.0.tgz", + "integrity": "sha512-huLV/11IZ1CByVlNzU79bUV1p/SHpglFNPT1DJV5NfcfW+czZ0VIWH9gJd8PK1azaZ1Gy2+HV+nZ1mFuoIANnA==" }, "@newrelic/native-metrics": { "version": "10.0.1", @@ -10253,11 +10254,11 @@ } }, "@newrelic/security-agent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@newrelic/security-agent/-/security-agent-1.0.1.tgz", - "integrity": "sha512-Ao5MTULa6CzI8a2poRdQ31jJA0Exv99eyewfMHYbJGAY3H4rj6TZs08rGtrDK9ZyjNTalM/DHhyyTTDq+FJM+Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@newrelic/security-agent/-/security-agent-1.2.0.tgz", + "integrity": "sha512-Snk++TQmqHKuxPYOH5bEU4GCr5xKYurUZWx3oiuoQUV73pw61qeEMrb/8iuGgAghwpCEC/8n+308efqCIZkiiQ==", "requires": { - "axios": "^1.6.5", + "axios": "^1.6.8", "check-disk-space": "^3.4.0", "content-type": "^1.0.5", "fast-safe-stringify": "^2.1.1", @@ -10397,46 +10398,46 @@ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "@sentry-internal/tracing": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.105.0.tgz", - "integrity": "sha512-b+AFYB7Bc9vmyxl2jbmuT4esX5G0oPfpz35A0sxFzmJIhvMg1YMDNio2c81BtKN+VSPORCnKMLhfk3kyKKvWMQ==", + "version": "7.110.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.110.0.tgz", + "integrity": "sha512-IIHHa9e/mE7uOMJfNELI8adyoELxOy6u6TNCn5t6fphmq84w8FTc9adXkG/FY2AQpglkIvlILojfMROFB2aaAQ==", "requires": { - "@sentry/core": "7.105.0", - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0" + "@sentry/core": "7.110.0", + "@sentry/types": "7.110.0", + "@sentry/utils": "7.110.0" } }, "@sentry/core": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.105.0.tgz", - "integrity": "sha512-5xsaTG6jZincTeJUmZomlv20mVRZUEF1U/g89lmrSOybyk2+opEnB1JeBn4ODwnvmSik8r2QLr6/RiYlaxRJCg==", + "version": "7.110.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.110.0.tgz", + "integrity": "sha512-g4suCQO94mZsKVaAbyD1zLFC5YSuBQCIPHXx9fdgtfoPib7BWjWWePkllkrvsKAv4u8Oq05RfnKOhOMRHpOKqg==", "requires": { - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0" + "@sentry/types": "7.110.0", + "@sentry/utils": "7.110.0" } }, "@sentry/node": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.105.0.tgz", - "integrity": "sha512-b0QwZ7vT4hcJi6LmNRh3dcaYpLtXnkYXkL0rfhMb8hN8sUx8zuOWFMI7j0cfAloVThUeJVwGyv9dERfzGS2r2w==", + "version": "7.110.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.110.0.tgz", + "integrity": "sha512-YPfweCSzo/omnx5q1xOEZfI8Em3jnPqj7OM4ObXmoSKEK+kM1oUF3BTRzw5BJOaOCSTBFY1RAsGyfVIyrwxWnA==", "requires": { - "@sentry-internal/tracing": "7.105.0", - "@sentry/core": "7.105.0", - "@sentry/types": "7.105.0", - "@sentry/utils": "7.105.0" + "@sentry-internal/tracing": "7.110.0", + "@sentry/core": "7.110.0", + "@sentry/types": "7.110.0", + "@sentry/utils": "7.110.0" } }, "@sentry/types": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.105.0.tgz", - "integrity": "sha512-80o0KMVM+X2Ym9hoQxvJetkJJwkpCg7o6tHHFXI+Rp7fawc2iCMTa0IRQMUiSkFvntQLYIdDoNNuKdzz2PbQGA==" + "version": "7.110.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.110.0.tgz", + "integrity": "sha512-DqYBLyE8thC5P5MuPn+sj8tL60nCd/f5cerFFPcudn5nJ4Zs1eI6lKlwwyHYTEu5c4KFjCB0qql6kXfwAHmTyA==" }, "@sentry/utils": { - "version": "7.105.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.105.0.tgz", - "integrity": "sha512-YVAV0c2KLM8+VZCicQ/E/P2+J9Vs0hGhrXwV7w6ZEAtvxrg4oF270toL1WRhvcaf8JO4J1v4V+LuU6Txs4uEeQ==", + "version": "7.110.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.110.0.tgz", + "integrity": "sha512-VBsdLLN+5tf73fhf/Cm7JIsUJ6y9DkJj8h4I6Mxx0rszrvOyH6S5px40K+V4jdLBzMEvVinC7q2Cbf1YM18BSw==", "requires": { - "@sentry/types": "7.105.0" + "@sentry/types": "7.110.0" } }, "@sideway/address": { @@ -10930,9 +10931,9 @@ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "aws-sdk": { - "version": "2.1570.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1570.0.tgz", - "integrity": "sha512-WySdibC3YOPCFcXNSevX7cGp6Nc0Ksv7m6aaz6YoqSrmSn7mZhkWaVXqfd14nsjJuyEbEgX+gAiZaahyvkUYJw==", + "version": "2.1599.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1599.0.tgz", + "integrity": "sha512-jPb1LAN+s1TLTK+VR3TTJLr//sb3AhhT60Bm9jxB5G/fVeeRczXtBtixNpQ00gksQdkstILYLc9S6MuKMsksxA==", "requires": { "buffer": "4.9.2", "events": "1.1.1", @@ -10963,11 +10964,11 @@ } }, "axios": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", - "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "requires": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" }, @@ -10985,9 +10986,9 @@ } }, "axios-retry": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.0.0.tgz", - "integrity": "sha512-F6P4HVGITD/v4z9Lw2mIA24IabTajvpDZmKa6zq/gGwn57wN5j1P3uWrAV0+diqnW6kTM2fTqmWNfgYWGmMuiA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.1.0.tgz", + "integrity": "sha512-svdth4H00yhlsjBbjfLQ/sMLkXqeLxhiFC1nE1JtkN/CIssGxqk0UwTEdrVjwA2gr3yJkAulwvDSIm4z4HyPvg==", "requires": { "is-retry-allowed": "^2.2.0" } @@ -11455,6 +11456,11 @@ "safe-buffer": "~5.1.1" } }, + "cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==" + }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", @@ -12113,16 +12119,16 @@ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" }, "express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -12150,11 +12156,6 @@ "vary": "~1.1.2" }, "dependencies": { - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, "on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -12395,9 +12396,9 @@ "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" }, "for-each": { "version": "0.3.3", @@ -12790,9 +12791,9 @@ "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==" }, "html-entities": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.0.tgz", - "integrity": "sha512-g3xzbdhD5HamT50Sc7/KVvFvU3SUMpKmJkQWYVRhcXHzwUzRXZt5HzTNwn/5BNMm4bECBZc5YnuPh0J8PIBbAQ==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==" }, "html-escaper": { "version": "2.0.2", @@ -13432,9 +13433,9 @@ "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" }, "joi": { - "version": "17.12.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", - "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", + "version": "17.12.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.3.tgz", + "integrity": "sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g==", "requires": { "@hapi/hoek": "^9.3.0", "@hapi/topo": "^5.1.0", @@ -13818,9 +13819,9 @@ "dev": true }, "mocha": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz", - "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", + "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", "dev": true, "requires": { "ansi-colors": "4.1.1", @@ -14070,18 +14071,18 @@ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, "newrelic": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-11.12.0.tgz", - "integrity": "sha512-02TY9+3bp4FAmVTnajWUJyz0ESu21avajRXbsE+zYxI1XSd0tEr+DoL7z2P1BGH2KsOquoDCjR+J4rY2Q88A1A==", + "version": "11.15.0", + "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-11.15.0.tgz", + "integrity": "sha512-sP5zLP/JgaTivDiLfS/kcYpQK7lZQTk6Qqw/9hdAOgtzx/uZdKzxLmNzXk3uS0eVnwQVgKvVr3pGILJUGhGtPA==", "requires": { "@contrast/fn-inspect": "^3.3.0", "@grpc/grpc-js": "^1.9.4", "@grpc/proto-loader": "^0.7.5", - "@newrelic/aws-sdk": "^7.1.0", - "@newrelic/koa": "^8.0.1", + "@newrelic/aws-sdk": "^7.3.0", + "@newrelic/koa": "^9.1.0", "@newrelic/native-metrics": "^10.0.0", "@newrelic/ritm": "^7.2.0", - "@newrelic/security-agent": "^1.0.1", + "@newrelic/security-agent": "^1.1.1", "@newrelic/superagent": "^7.0.1", "@prisma/prisma-fmt-wasm": "^4.17.0-16.27eb2449f178cd9fe1a4b892d732cc4795f75085", "@tyriar/fibonacci-heap": "^2.0.7", @@ -14713,9 +14714,9 @@ } }, "prom-client": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-15.1.0.tgz", - "integrity": "sha512-cCD7jLTqyPdjEPBo/Xk4Iu8jxjuZgZJ3e/oET3L+ZwOuap/7Cw3dH/TJSsZKs1TQLZ2IHpIlRAKw82ef06kmMw==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-15.1.1.tgz", + "integrity": "sha512-GVA2H96QCg2q71rjc3VYvSrVG7OpnJxyryC7dMzvfJfpJJHzQVwF3TJLfHzKORcwJpElWs1TwXLthlJAFJxq2A==", "requires": { "@opentelemetry/api": "^1.4.0", "tdigest": "^0.1.1" @@ -15955,9 +15956,9 @@ } }, "winston": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.12.0.tgz", - "integrity": "sha512-OwbxKaOlESDi01mC9rkM0dQqQt2I8DAUMRLZ/HpbwvDXm85IryEHgoogy5fziQy38PntgZsLlhAYHz//UPHZ5w==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", + "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", "requires": { "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", diff --git a/package.json b/package.json index b92e031..2e91301 100644 --- a/package.json +++ b/package.json @@ -31,32 +31,32 @@ "@azure/identity": "^3.4.2", "@azure/storage-blob": "^12.17.0", "@google-cloud/storage": "^6.12.0", - "@sentry/node": "^7.105.0", - "aws-sdk": "^2.1570.0", - "axios": "^1.6.7", - "axios-retry": "^4.0.0", + "@sentry/node": "^7.110.0", + "aws-sdk": "^2.1599.0", + "axios": "^1.6.8", + "axios-retry": "^4.1.0", "body-parser": "^1.20.2", "bull": "^4.12.2", "chai-http": "^4.4.0", "compression": "^1.7.4", "cors": "^2.8.5", "dayjs": "^1.11.10", - "express": "^4.18.3", + "express": "^4.19.2", "express-prom-bundle": "^7.0.0", "express-rate-limit": "^7.2.0", "ioredis": "^5.3.2", - "joi": "^17.12.2", + "joi": "^17.12.3", "lodash": "^4.17.21", "morgan": "^1.10.0", "nconf": "^0.12.1", "nconf-yaml": "^1.0.2", - "newrelic": "^11.12.0", + "newrelic": "^11.15.0", "node-cache": "^5.1.2", - "prom-client": "^15.1.0", + "prom-client": "^15.1.1", "rate-limit-redis": "^4.2.0", "rate-limiter-flexible": "^4.0.1", "uuid": "^8.3.2", - "winston": "^3.12.0", + "winston": "^3.13.0", "winston-transport": "^4.7.0", "yargs": "^17.7.2" }, @@ -65,7 +65,7 @@ "eslint": "^8.57.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-plugin-import": "^2.29.1", - "mocha": "^10.3.0", + "mocha": "^10.4.0", "nock": "^13.5.4", "nodemon": "^3.1.0", "nyc": "^15.1.0", diff --git a/src/helpers/utils.js b/src/helpers/utils.js index c3630fc..b8def40 100644 --- a/src/helpers/utils.js +++ b/src/helpers/utils.js @@ -66,7 +66,10 @@ async function routerCacheHelper(req, res, key, filter, syncFunc, ...syncFuncPar sentContent = true; } // check for auto refresh - if ((Date.now() - (rdata.ts + (rdata.ts_jitter || 0))) >= autoSyncMSec) { + if ( + autoSyncMSec > 0 + && (Date.now() - (rdata.ts + (rdata.ts_jitter || 0))) >= autoSyncMSec + ) { addJob(); } break;