@golemio/pid 5.8.1-dev.2402728399 → 5.8.1-dev.2403333995
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.
- package/dist/helpers/DateTimeUtils.d.ts +2 -0
- package/dist/helpers/DateTimeUtils.js +7 -1
- package/dist/helpers/DateTimeUtils.js.map +1 -1
- package/dist/output-gateway/public/routers/v2/helpers/CustomBBoxValidator.d.ts +12 -1
- package/dist/output-gateway/public/routers/v2/helpers/CustomBBoxValidator.js +13 -2
- package/dist/output-gateway/public/routers/v2/helpers/CustomBBoxValidator.js.map +1 -1
- package/docs/openapi-output.yaml +1 -1
- package/package.json +1 -1
|
@@ -54,6 +54,8 @@ export declare class DateTimeUtils {
|
|
|
54
54
|
*
|
|
55
55
|
* When start < end the window is a normal daytime range (e.g. 08:00–20:00).
|
|
56
56
|
* When start ≥ end the window wraps around midnight (e.g. 23:00–04:30).
|
|
57
|
+
* Special case: when start > end and end is "00:00:00", the window runs from start
|
|
58
|
+
* to end-of-day (e.g. 23:00–00:00:00 means 23:00 until midnight, never past it).
|
|
57
59
|
*
|
|
58
60
|
* @param start Window start in HH:mm:ss (Europe/Prague); returns true when null/undefined
|
|
59
61
|
* @param end Window end in HH:mm:ss (Europe/Prague); returns true when null/undefined
|
|
@@ -68,6 +68,8 @@ class DateTimeUtils {
|
|
|
68
68
|
*
|
|
69
69
|
* When start < end the window is a normal daytime range (e.g. 08:00–20:00).
|
|
70
70
|
* When start ≥ end the window wraps around midnight (e.g. 23:00–04:30).
|
|
71
|
+
* Special case: when start > end and end is "00:00:00", the window runs from start
|
|
72
|
+
* to end-of-day (e.g. 23:00–00:00:00 means 23:00 until midnight, never past it).
|
|
71
73
|
*
|
|
72
74
|
* @param start Window start in HH:mm:ss (Europe/Prague); returns true when null/undefined
|
|
73
75
|
* @param end Window end in HH:mm:ss (Europe/Prague); returns true when null/undefined
|
|
@@ -81,7 +83,11 @@ class DateTimeUtils {
|
|
|
81
83
|
return currentTime >= start && currentTime <= end;
|
|
82
84
|
}
|
|
83
85
|
else {
|
|
84
|
-
// Overnight: window wraps around midnight
|
|
86
|
+
// Overnight: window wraps around midnight.
|
|
87
|
+
// end="00:00:00" means end-of-day — window only covers start→midnight, never past it.
|
|
88
|
+
if (end === "00:00:00") {
|
|
89
|
+
return currentTime >= start;
|
|
90
|
+
}
|
|
85
91
|
return currentTime >= start || currentTime <= end;
|
|
86
92
|
}
|
|
87
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeUtils.js","sourceRoot":"","sources":["../../src/helpers/DateTimeUtils.ts"],"names":[],"mappings":";;;;;;;AAAA,2DAA2D;AAC3D,gGAA+D;AAE/D,MAAa,aAAa;IActB;;OAEG;IACI,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QACjD,OAAO,gBAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAa,CAAC,gBAAgB,CAAC,CAAC;IACnH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,mBAAmB,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrE,OAAO,gBAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAa,CAAC,WAAW,CAAC,CAAC;IAC9G,CAAC;IAsBM,MAAM,CAAC,4BAA4B,CAAC,QAAyB,EAAE,mBAA2B;QAC7F,MAAM,EACF,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,eAAe,GAC3B,GAAG,EAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,gBAAgB,GAAG,yBAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAa,CAAC,QAAQ,CAAC,CAAC;QACpF,MAAM,WAAW,GAAG,aAAa,IAAI,EAAE,CAAC;QACxC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QAC5D,MAAM,gCAAgC,GAAG,WAAW,IAAI,qBAAqB,CAAC;QAC9E,gBAAgB,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5E,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACvC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAC7G,OAAO,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,0BAA0B,CAAC,iBAAyB,EAAE,iBAA0B;QAC1F,IAAI,cAA6B,CAAC;QAClC,IAAI,iBAAiB,EAAE,CAAC;YACpB,cAAc,GAAG,IAAA,yBAAM,EAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAa,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACJ,cAAc,GAAG,IAAA,yBAAM,GAAE,CAAC,EAAE,CAAC,EAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxE,CAAC;QACD,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/D,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,cAAc,CAAC,GAAG,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACjD,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,iBAAiB,CAAC,QAAc;QAC1C,OAAO,EAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"DateTimeUtils.js","sourceRoot":"","sources":["../../src/helpers/DateTimeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,18 @@ export declare class CustomBBoxValidator {
|
|
|
5
5
|
* 4 positive or negative floating point numbers separated by commas
|
|
6
6
|
* @example 50.073619,14.414826,50.092867,14.438086
|
|
7
7
|
*/
|
|
8
|
-
private static BOUNDING_BOX_REGEX;
|
|
8
|
+
private static readonly BOUNDING_BOX_REGEX;
|
|
9
|
+
/**
|
|
10
|
+
* Redis/Valkey GEO commands support latitude values only in the range [-85.05112878, 85.05112878].
|
|
11
|
+
*
|
|
12
|
+
* See also:
|
|
13
|
+
* <https://redis.io/docs/latest/commands/geoadd/#:~:text=Valid%20latitudes%20are%20from%20%2D85.05112878%20to%2085.05112878%20degrees.>,
|
|
14
|
+
* <https://github.com/redis/redis/issues/13756>.
|
|
15
|
+
*/
|
|
16
|
+
private static readonly MIN_LATITUDE;
|
|
17
|
+
private static readonly MAX_LATITUDE;
|
|
18
|
+
private static readonly MIN_LONGITUDE;
|
|
19
|
+
private static readonly MAX_LONGITUDE;
|
|
9
20
|
static validate: CustomValidator;
|
|
10
21
|
private static isLatitudeValid;
|
|
11
22
|
private static isLongitudeValid;
|
|
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.CustomBBoxValidator = void 0;
|
|
5
5
|
class CustomBBoxValidator {
|
|
6
6
|
static isLatitudeValid(latitude) {
|
|
7
|
-
return latitude >=
|
|
7
|
+
return latitude >= this.MIN_LATITUDE && latitude <= this.MAX_LATITUDE;
|
|
8
8
|
}
|
|
9
9
|
static isLongitudeValid(longitude) {
|
|
10
|
-
return longitude >=
|
|
10
|
+
return longitude >= this.MIN_LONGITUDE && longitude <= this.MAX_LONGITUDE;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
exports.CustomBBoxValidator = CustomBBoxValidator;
|
|
@@ -18,6 +18,17 @@ _a = CustomBBoxValidator;
|
|
|
18
18
|
* @example 50.073619,14.414826,50.092867,14.438086
|
|
19
19
|
*/
|
|
20
20
|
CustomBBoxValidator.BOUNDING_BOX_REGEX = /^(?:-?\d+?(?:\.\d+?)?,){3}-?\d+?(?:\.\d+?)?$/;
|
|
21
|
+
/**
|
|
22
|
+
* Redis/Valkey GEO commands support latitude values only in the range [-85.05112878, 85.05112878].
|
|
23
|
+
*
|
|
24
|
+
* See also:
|
|
25
|
+
* <https://redis.io/docs/latest/commands/geoadd/#:~:text=Valid%20latitudes%20are%20from%20%2D85.05112878%20to%2085.05112878%20degrees.>,
|
|
26
|
+
* <https://github.com/redis/redis/issues/13756>.
|
|
27
|
+
*/
|
|
28
|
+
CustomBBoxValidator.MIN_LATITUDE = -85.05112878;
|
|
29
|
+
CustomBBoxValidator.MAX_LATITUDE = 85.05112878;
|
|
30
|
+
CustomBBoxValidator.MIN_LONGITUDE = -180;
|
|
31
|
+
CustomBBoxValidator.MAX_LONGITUDE = 180;
|
|
21
32
|
CustomBBoxValidator.validate = (value, _) => {
|
|
22
33
|
if (typeof value !== "string" || value.trim().length === 0 || value.length > 80 || !_a.BOUNDING_BOX_REGEX.test(value)) {
|
|
23
34
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomBBoxValidator.js","sourceRoot":"","sources":["../../../../../../src/output-gateway/public/routers/v2/helpers/CustomBBoxValidator.ts"],"names":[],"mappings":";;;;AAEA,MAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"CustomBBoxValidator.js","sourceRoot":"","sources":["../../../../../../src/output-gateway/public/routers/v2/helpers/CustomBBoxValidator.ts"],"names":[],"mappings":";;;;AAEA,MAAa,mBAAmB;IAmCpB,MAAM,CAAC,eAAe,CAAC,QAAgB;QAC3C,OAAO,QAAQ,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC;IAC1E,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,SAAiB;QAC7C,OAAO,SAAS,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC;IAC9E,CAAC;;AAzCL,kDA0CC;;AAzCG;;;;GAIG;AACqB,sCAAkB,GAAG,8CAA8C,AAAjD,CAAkD;AAE5F;;;;;;GAMG;AACqB,gCAAY,GAAG,CAAC,WAAW,AAAf,CAAgB;AAC5B,gCAAY,GAAG,WAAW,AAAd,CAAe;AAC3B,iCAAa,GAAG,CAAC,GAAG,AAAP,CAAQ;AACrB,iCAAa,GAAG,GAAG,AAAN,CAAO;AAE9B,4BAAQ,GAAoB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,EAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtH,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAEnH,OAAO,CACH,EAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAC5B,EAAI,CAAC,eAAe,CAAC,SAAS,CAAC;QAC/B,EAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC7B,EAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CACnC,CAAC;AACN,CAAC,AAbqB,CAapB"}
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -1646,7 +1646,7 @@ paths:
|
|
|
1646
1646
|
type: string
|
|
1647
1647
|
example: '50.123,14.243,50.017,14.573'
|
|
1648
1648
|
description: |
|
|
1649
|
-
Filter by bounding box in format "topLeft.lat,topLeft.lon,bottomRight.lat,bottomRight.lon". Latitude must be in range -
|
|
1649
|
+
Filter by bounding box in format "topLeft.lat,topLeft.lon,bottomRight.lat,bottomRight.lon". Latitude must be in range -85.05112878 to 85.05112878 (supported by Redis GEO commands), longitude in range -180 to 180. Polygons that fit only partially to selected bounding box are included.
|
|
1650
1650
|
- name: routeShortName
|
|
1651
1651
|
in: query
|
|
1652
1652
|
schema:
|