@golemio/core 1.22.1 → 1.22.2-dev.2083548346

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Custom extension to querystring query parser to keep backward compatibility with array in url e.g. https://api?source[]=abc&source[]=def
3
+ */
4
+ export declare const parseWithBrackets: (str: string) => Record<string, any>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseWithBrackets = void 0;
4
+ const querystring_1 = require("querystring");
5
+ /**
6
+ * Custom extension to querystring query parser to keep backward compatibility with array in url e.g. https://api?source[]=abc&source[]=def
7
+ */
8
+ const parseWithBrackets = (str) => {
9
+ const parsed = (0, querystring_1.parse)(str);
10
+ const result = {};
11
+ for (const [key, value] of Object.entries(parsed)) {
12
+ // Remove [] suffix if present
13
+ const cleanKey = key.replace(/\[\]$/, "");
14
+ if (result[cleanKey]) {
15
+ // Key already exists, merge values
16
+ const existing = result[cleanKey];
17
+ result[cleanKey] = Array.isArray(existing)
18
+ ? [...existing, ...(Array.isArray(value) ? value : [value])]
19
+ : [existing, ...(Array.isArray(value) ? value : [value])];
20
+ }
21
+ else {
22
+ result[cleanKey] = value;
23
+ }
24
+ }
25
+ return result;
26
+ };
27
+ exports.parseWithBrackets = parseWithBrackets;
28
+ //# sourceMappingURL=queryParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryParser.js","sourceRoot":"","sources":["../../../src/helpers/parser/queryParser.ts"],"names":[],"mappings":";;;AAAA,6CAAoC;AAEpC;;GAEG;AAEI,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAuB,EAAE;IAClE,MAAM,MAAM,GAAG,IAAA,mBAAK,EAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC/C,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAE1C,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;YAClB,mCAAmC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACtC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjE;aAAM;YACH,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;SAC5B;KACJ;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AApBW,QAAA,iBAAiB,qBAoB5B"}
@@ -49,16 +49,18 @@ class AbstractGeoJsonRouter extends AbstractRouter_1.AbstractRouter {
49
49
  */
50
50
  this.initRoutes = async (expire = { maxAge: 6 * 60, staleWhileRevalidate: 5 }) => {
51
51
  const idParam = await this.GetIdQueryParamWithCorrectType();
52
- this.router.get("/", this.standardParams, Validation_1.pagination, (0, Validation_1.paginationLimitMiddleware)("GeoJsonRouter"), Validation_1.checkErrors, this.cacheHeaderMiddleware.getMiddleware(expire?.maxAge, expire?.staleWhileRevalidate), this.GetAll);
52
+ this.router.get("/", this.standardParams, (0, Validation_1.paginationLimitMiddleware)("GeoJsonRouter"), Validation_1.checkErrors, this.cacheHeaderMiddleware.getMiddleware(expire?.maxAge, expire?.staleWhileRevalidate), this.GetAll);
53
53
  this.router.get("/:id", [
54
54
  // Previously set parameter of type according to the data's primary ID type
55
55
  idParam,
56
56
  ], Validation_1.checkErrors, this.cacheHeaderMiddleware.getMiddleware(expire?.maxAge, expire?.staleWhileRevalidate), this.GetOne);
57
57
  };
58
58
  this.GetAll = async (req, res, next) => {
59
+ const queryData = (0, express_validator_1.matchedData)(req);
59
60
  // Parsing parameters
60
- let ids = req.query.ids;
61
- let districts = req.query.districts;
61
+ let ids = queryData.ids;
62
+ let districts = queryData.districts;
63
+ const limit = res.locals.limit;
62
64
  if (districts) {
63
65
  districts = this.ConvertToArray(districts);
64
66
  }
@@ -66,17 +68,17 @@ class AbstractGeoJsonRouter extends AbstractRouter_1.AbstractRouter {
66
68
  ids = this.ConvertToArray(ids);
67
69
  }
68
70
  try {
69
- const coords = await (0, Geo_1.parseCoordinates)(req.query.latlng, req.query.range);
71
+ const coords = await (0, Geo_1.parseCoordinates)(queryData.latlng, queryData.range);
70
72
  const data = await this.model.GetAll({
71
73
  districts,
72
74
  ids: ids,
73
75
  lat: coords.lat,
74
- limit: Number(req.query.limit),
76
+ limit: limit,
75
77
  lng: coords.lng,
76
- offset: Number(req.query.offset),
78
+ offset: Number(queryData.offset),
77
79
  range: coords.range,
78
- updatedSince: req.query.updatedSince,
79
- additionalFilters: this.GetAdditionalFilters(req.query),
80
+ updatedSince: queryData.updatedSince,
81
+ additionalFilters: this.GetAdditionalFilters(queryData),
80
82
  });
81
83
  res.status(200).send(data);
82
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractGeoJsonRouter.js","sourceRoot":"","sources":["../../../src/helpers/routing/AbstractGeoJsonRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractGeoJsonRouter.js","sourceRoot":"","sources":["../../../src/helpers/routing/AbstractGeoJsonRouter.ts"],"names":[],"mappings":"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"}
@@ -9,12 +9,8 @@ import { NextFunction, Request, Response } from "express";
9
9
  * @returns Void, calls next() function
10
10
  */
11
11
  export declare const checkErrors: ((import("express-validator/lib/base").Middleware & import("express-validator").ContextRunner) | ((req: Request, res: Response, next: NextFunction) => void))[];
12
- /**
13
- * Sets up pagination query parameters
14
- */
15
- export declare const pagination: (import("express-validator").ValidationChain | ((req: Request, res: Response, next: NextFunction) => void))[];
16
12
  /**
17
13
  * Performs a check if limit of requested data is not exceeded, sets limit if not present
18
14
  * @param routerName name passed to the returned Error object in case of failure
19
15
  */
20
- export declare const paginationLimitMiddleware: (routerName?: string) => (req: Request, res: Response, next: NextFunction) => void;
16
+ export declare const paginationLimitMiddleware: (routerName?: string) => (import("express-validator").ValidationChain | ((req: Request, res: Response, next: NextFunction) => void))[];
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.paginationLimitMiddleware = exports.pagination = exports.checkErrors = void 0;
4
- const config_1 = require("./config");
3
+ exports.paginationLimitMiddleware = exports.checkErrors = void 0;
4
+ const CoreToken_1 = require("../helpers/ioc/CoreToken");
5
5
  const errors_1 = require("@golemio/errors");
6
6
  const express_validator_1 = require("express-validator");
7
+ const ioc_1 = require("./ioc");
7
8
  /**
8
9
  * Checks for errors in request parameters, using express-validator https://www.npmjs.com/package/express-validator
9
10
  * Also checks if the request contains only the expected parameters
@@ -23,33 +24,32 @@ exports.checkErrors = [
23
24
  next();
24
25
  },
25
26
  ];
26
- /**
27
- * Sets up pagination query parameters
28
- */
29
- exports.pagination = [
30
- (0, express_validator_1.query)("limit").optional().isInt({ min: 1 }).not().isArray(),
31
- (0, express_validator_1.query)("offset").optional().isInt({ min: 0 }).not().isArray(),
32
- (req, res, next) => {
33
- req.query.limit && (req.query.limit = parseInt(req.query.limit, 10).toString());
34
- req.query.offset && (req.query.offset = parseInt(req.query.offset, 10).toString());
35
- next();
36
- },
37
- ];
38
27
  /**
39
28
  * Performs a check if limit of requested data is not exceeded, sets limit if not present
40
29
  * @param routerName name passed to the returned Error object in case of failure
41
30
  */
42
31
  const paginationLimitMiddleware = (routerName) => {
43
- const maxLimit = config_1.config.pagination_max_limit;
44
- return (req, res, next) => {
45
- if (req.query.limit && config_1.config.pagination_max_limit < +req.query.limit) {
46
- return next(new errors_1.GeneralError("Pagination limit error", routerName || "BaseRouter", `Max limit allowed: ${maxLimit}`, 413));
47
- }
48
- if (!req.query.limit && maxLimit) {
49
- req.query.limit = maxLimit.toString();
50
- }
51
- return next();
52
- };
32
+ const maxLimit = +ioc_1.OutputGatewayContainer.resolve(CoreToken_1.CoreToken.SimpleConfig).getValue("env.PAGINATION_MAX_LIMIT", 10000);
33
+ return [
34
+ (0, express_validator_1.query)("limit")
35
+ .optional()
36
+ .isInt({ min: 1 })
37
+ .isInt({ max: maxLimit })
38
+ .withMessage(`Max limit allowed ${maxLimit}`)
39
+ .not()
40
+ .isArray()
41
+ .default(maxLimit),
42
+ (0, express_validator_1.query)("offset").optional().isInt({ min: 0 }).withMessage("Offset must be a non-negative integer").default(0),
43
+ (req, res, next) => {
44
+ const errors = (0, express_validator_1.validationResult)(req);
45
+ if (!errors.isEmpty()) {
46
+ const firstError = errors.array()[0];
47
+ const statusCode = firstError.msg.includes("Max limit allowed") ? 413 : 400;
48
+ return next(new errors_1.GeneralError("Pagination limit error", routerName || "BaseRouter", firstError.msg, statusCode));
49
+ }
50
+ next();
51
+ },
52
+ ];
53
53
  };
54
54
  exports.paginationLimitMiddleware = paginationLimitMiddleware;
55
55
  //# sourceMappingURL=Validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Validation.js","sourceRoot":"","sources":["../../src/output-gateway/Validation.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AACpC,4CAA+C;AAE/C,yDAAwE;AAExE;;;;;;;;GAQG;AACU,QAAA,WAAW,GAAG;IACvB,IAAA,8BAAU,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,IAAA,oCAAgB,EAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;YACnB,MAAM,IAAI,qBAAY,CAAC,kBAAkB,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;SAClG;QACD,IAAI,EAAE,CAAC;IACX,CAAC;CACJ,CAAC;AAEF;;GAEG;AACU,QAAA,UAAU,GAAG;IACtB,IAAA,yBAAK,EAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;IAC3D,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;IAC5D,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAChD,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1F,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAgB,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7F,IAAI,EAAE,CAAC;IACX,CAAC;CACJ,CAAC;AAEF;;;GAGG;AACI,MAAM,yBAAyB,GAAG,CAAC,UAAmB,EAAE,EAAE;IAC7D,MAAM,QAAQ,GAAG,eAAM,CAAC,oBAAoB,CAAC;IAC7C,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACvD,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,eAAM,CAAC,oBAAoB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;YACnE,OAAO,IAAI,CACP,IAAI,qBAAY,CAAC,wBAAwB,EAAE,UAAU,IAAI,YAAY,EAAE,sBAAsB,QAAQ,EAAE,EAAE,GAAG,CAAC,CAChH,CAAC;SACL;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACzC;QACD,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC,CAAC;AACN,CAAC,CAAC;AAbW,QAAA,yBAAyB,6BAapC"}
1
+ {"version":3,"file":"Validation.js","sourceRoot":"","sources":["../../src/output-gateway/Validation.ts"],"names":[],"mappings":";;;AACA,wDAAmD;AACnD,4CAA+C;AAE/C,yDAAwE;AACxE,+BAA+C;AAE/C;;;;;;;;GAQG;AACU,QAAA,WAAW,GAAG;IACvB,IAAA,8BAAU,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,IAAA,oCAAgB,EAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;YACnB,MAAM,IAAI,qBAAY,CAAC,kBAAkB,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;SAClG;QACD,IAAI,EAAE,CAAC;IACX,CAAC;CACJ,CAAC;AAEF;;;GAGG;AAEI,MAAM,yBAAyB,GAAG,CAAC,UAAmB,EAAE,EAAE;IAC7D,MAAM,QAAQ,GAAG,CAAC,4BAAsB,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,CAC5F,0BAA0B,EAC1B,KAAK,CACR,CAAC;IAEF,OAAO;QACH,IAAA,yBAAK,EAAC,OAAO,CAAC;aACT,QAAQ,EAAE;aACV,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;aACjB,KAAK,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;aACxB,WAAW,CAAC,qBAAqB,QAAQ,EAAE,CAAC;aAC5C,GAAG,EAAE;aACL,OAAO,EAAE;aACT,OAAO,CAAC,QAAQ,CAAC;QACtB,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,uCAAuC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5G,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,IAAA,oCAAgB,EAAC,GAAG,CAAC,CAAC;YAErC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;gBACnB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC5E,OAAO,IAAI,CAAC,IAAI,qBAAY,CAAC,wBAAwB,EAAE,UAAU,IAAI,YAAY,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;aACnH;YAED,IAAI,EAAE,CAAC;QACX,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AA5BW,QAAA,yBAAyB,6BA4BpC"}
@@ -46,16 +46,18 @@ class GeoJsonRouter extends BaseRouter_1.BaseRouter {
46
46
  */
47
47
  this.initRoutes = async (expire = { maxAge: 6 * 60, staleWhileRevalidate: 5 }) => {
48
48
  const idParam = await this.GetIdQueryParamWithCorrectType();
49
- this.router.get("/", this.standardParams, Validation_1.pagination, Validation_1.checkErrors, (0, Validation_1.paginationLimitMiddleware)("GeoJsonRouter"), this.cacheHeaderMiddleware.getMiddleware(expire.maxAge, expire.staleWhileRevalidate), this.GetAll);
49
+ this.router.get("/", this.standardParams, (0, Validation_1.paginationLimitMiddleware)("GeoJsonRouter"), Validation_1.checkErrors, this.cacheHeaderMiddleware.getMiddleware(expire.maxAge, expire.staleWhileRevalidate), this.GetAll);
50
50
  this.router.get("/:id", [
51
51
  // Previously set parameter of type according to the data's primary ID type
52
52
  idParam,
53
53
  ], Validation_1.checkErrors, this.cacheHeaderMiddleware.getMiddleware(expire.maxAge, expire.staleWhileRevalidate), this.GetOne);
54
54
  };
55
55
  this.GetAll = async (req, res, next) => {
56
+ const queryData = (0, express_validator_1.matchedData)(req);
56
57
  // Parsing parameters
57
- let ids = req.query.ids;
58
- let districts = req.query.districts;
58
+ let ids = queryData.ids;
59
+ let districts = queryData.districts;
60
+ const limit = res.locals.limit;
59
61
  if (districts) {
60
62
  districts = this.ConvertToArray(districts);
61
63
  }
@@ -63,17 +65,17 @@ class GeoJsonRouter extends BaseRouter_1.BaseRouter {
63
65
  ids = this.ConvertToArray(ids);
64
66
  }
65
67
  try {
66
- const coords = await (0, Geo_1.parseCoordinates)(req.query.latlng, req.query.range);
68
+ const coords = await (0, Geo_1.parseCoordinates)(queryData.latlng, queryData.range);
67
69
  const data = await this.model.GetAll({
68
70
  districts,
69
71
  ids: ids,
70
72
  lat: coords.lat,
71
- limit: Number(req.query.limit),
73
+ limit: limit,
72
74
  lng: coords.lng,
73
- offset: Number(req.query.offset),
75
+ offset: Number(queryData.offset),
74
76
  range: coords.range,
75
- updatedSince: req.query.updatedSince,
76
- additionalFilters: this.GetAdditionalFilters(req.query),
77
+ updatedSince: queryData.updatedSince,
78
+ additionalFilters: this.GetAdditionalFilters(queryData),
77
79
  });
78
80
  res.status(200).send(data);
79
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GeoJsonRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/routes/GeoJsonRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeoJsonRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/routes/GeoJsonRouter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/core",
3
- "version": "1.22.1",
3
+ "version": "1.22.2-dev.2083548346",
4
4
  "description": "Golemio Core Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -70,8 +70,8 @@
70
70
  "@azure/data-tables": "^13.3.0",
71
71
  "@azure/identity": "^4.5.0",
72
72
  "@azure/storage-blob": "^12.26.0",
73
- "@golemio/errors": "2.0.6",
74
- "@golemio/validator": "0.3.5",
73
+ "@golemio/errors": "2.0.8-dev.1931991008",
74
+ "@golemio/validator": "0.3.6-dev.1288217736",
75
75
  "@google-cloud/storage": "^7.16.0",
76
76
  "@opentelemetry/api": "^1.9.0",
77
77
  "@opentelemetry/exporter-trace-otlp-grpc": "^0.204.0",
@@ -84,7 +84,7 @@
84
84
  "@opentelemetry/sdk-trace-base": "^2.0.1",
85
85
  "@opentelemetry/sdk-trace-node": "^2.0.1",
86
86
  "@types/amqplib": "^0.10.7",
87
- "@types/express": "^4.17.21",
87
+ "@types/express": "^5.0.3",
88
88
  "@types/geojson": "^7946.0.10",
89
89
  "@types/luxon": "^2.3.1",
90
90
  "@types/qs": "^6.9.18",
@@ -97,10 +97,9 @@
97
97
  "content-type": "^1.0.4",
98
98
  "debug": "3.1.0",
99
99
  "dotenv": "^8.2.0",
100
- "express": "^4.21.2",
100
+ "express": "^5.0.3",
101
101
  "express-validator": "^7.0.1",
102
102
  "fast-csv": "^4.3.6",
103
- "fast-glob": "^3.2.5",
104
103
  "geojson": "^0.5.0",
105
104
  "html-entities": "^2.4.0",
106
105
  "iconv-lite": "^0.6.2",