@futdevpro/nts-dynamo 1.15.410 → 1.15.413

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.
@@ -31,13 +31,29 @@ import { DyNTS_SignedUrl_VerifyResult } from '../_models/interfaces/signed-url-v
31
31
  * a fallback-döntés a hívóé, de **tudatosan**.
32
32
  * 2. `verify` **SOHA nem dob** — strukturált `{ valid, reason }`-t ad, hogy a gate-ek egységes,
33
33
  * szivárgás-mentes választ tudjanak adni.
34
+ *
35
+ * 🔴 **BFR-FDPFTPSERVICE-009 — a dot segment (`.` / `..`) is NEVER valid.** `normalizePath` does not canonicalize,
36
+ * and servers decide the zone (open / always-signed) by matching the START of the normalized path, while the file
37
+ * system resolves the dot segment ⇒ `open/../invoices/…` counted as open and was served from the invoice vault
38
+ * without a signature (measured on TEST). Hence: `hasDotSegment` for the gates, BEFORE the zone decision · `verify`
39
+ * rejects a dot-segment path before any other check (`dot-segment`) · `sign` never signs such a path.
34
40
  */
35
41
  export declare class DyNTS_SignedUrl_Util {
36
42
  /**
37
43
  * Path normalizálás az aláíráshoz/validáláshoz: vezető `/`-ek le, `\` → `/`.
38
44
  * A kanonikus string első fele — a két oldalnak **bit-azonosan** kell normalizálnia.
45
+ *
46
+ * ⚠️ **Does NOT canonicalize:** a `.` / `..` segment is neither resolved nor rejected — build a prefix, regex or
47
+ * `startsWith` decision on the result ONLY after excluding `hasDotSegment` (BFR-FDPFTPSERVICE-009).
39
48
  */
40
49
  static normalizePath(filePath: string): string;
50
+ /**
51
+ * Whether the path has a dot segment (`.` or `..`), with `/` or `\` as separator. A name merely STARTING with a dot
52
+ * (`..hidden`, `.env`) is not a segment. Gates call it BEFORE the zone decision (BFR-FDPFTPSERVICE-009).
53
+ *
54
+ * @param filePath the (already decoded) path
55
+ */
56
+ static hasDotSegment(filePath: string): boolean;
41
57
  /**
42
58
  * A HMAC bemenete: `` `<normalizedPath>\n<expMs>` ``.
43
59
  * **Publikus**, hogy tesztelhető és auditálható legyen (az arany-vektor erre épül).
@@ -48,6 +64,7 @@ export declare class DyNTS_SignedUrl_Util {
48
64
  *
49
65
  * @throws `DyNTS-SURL-SIGN-NOSEC` — üres secret *(⚠️ NEM ad csendben üres aláírást)*
50
66
  * @throws `DyNTS-SURL-SIGN-BADEXP` — nem-szám / nem-pozitív `expMs`
67
+ * @throws `DyNTS-SURL-SIGN-DOTSEG` — a dot-segment path *(BFR-FDPFTPSERVICE-009: never signed)*
51
68
  */
52
69
  static sign(filePath: string, expMs: number, secret: string): string;
53
70
  /**
@@ -77,6 +94,8 @@ export declare class DyNTS_SignedUrl_Util {
77
94
  secret: string;
78
95
  nowMs?: number;
79
96
  }): string;
97
+ /** A dot-segment path → a loud error (BFR-FDPFTPSERVICE-009); the caller's input error, hence 400. */
98
+ private static _assertNoDotSegment;
80
99
  /** Üres secret → hangos hiba. ⚠️ A titok SOHA nem kerül a hiba-kontextusba. */
81
100
  private static _assertSecret;
82
101
  /** Nem-szám / nem-pozitív lejárat → hangos hiba (a csendes `NaN`-os aláírás rosszabb). */
@@ -1 +1 @@
1
- {"version":3,"file":"signed-url.util.d.ts","sourceRoot":"","sources":["../../src/_collections/signed-url.util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,0DAA0D,CAAC;AAExG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,oBAAoB;IAE/B;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI9C;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpE;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAUpE;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,4BAA4B;IAiChC;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,MAAM;IAoBV,+EAA+E;IAC/E,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B,0FAA0F;IAC1F,OAAO,CAAC,MAAM,CAAC,UAAU;CAU1B"}
1
+ {"version":3,"file":"signed-url.util.d.ts","sourceRoot":"","sources":["../../src/_collections/signed-url.util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,0DAA0D,CAAC;AAExG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,oBAAoB;IAE/B;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI9C;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI/C;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpE;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAWpE;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,4BAA4B;IAsChC;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,MAAM;IAoBV,sGAAsG;IACtG,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAWlC,+EAA+E;IAC/E,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B,0FAA0F;IAC1F,OAAO,CAAC,MAAM,CAAC,UAAU;CAU1B"}
@@ -36,15 +36,33 @@ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
36
36
  * a fallback-döntés a hívóé, de **tudatosan**.
37
37
  * 2. `verify` **SOHA nem dob** — strukturált `{ valid, reason }`-t ad, hogy a gate-ek egységes,
38
38
  * szivárgás-mentes választ tudjanak adni.
39
+ *
40
+ * 🔴 **BFR-FDPFTPSERVICE-009 — a dot segment (`.` / `..`) is NEVER valid.** `normalizePath` does not canonicalize,
41
+ * and servers decide the zone (open / always-signed) by matching the START of the normalized path, while the file
42
+ * system resolves the dot segment ⇒ `open/../invoices/…` counted as open and was served from the invoice vault
43
+ * without a signature (measured on TEST). Hence: `hasDotSegment` for the gates, BEFORE the zone decision · `verify`
44
+ * rejects a dot-segment path before any other check (`dot-segment`) · `sign` never signs such a path.
39
45
  */
40
46
  class DyNTS_SignedUrl_Util {
41
47
  /**
42
48
  * Path normalizálás az aláíráshoz/validáláshoz: vezető `/`-ek le, `\` → `/`.
43
49
  * A kanonikus string első fele — a két oldalnak **bit-azonosan** kell normalizálnia.
50
+ *
51
+ * ⚠️ **Does NOT canonicalize:** a `.` / `..` segment is neither resolved nor rejected — build a prefix, regex or
52
+ * `startsWith` decision on the result ONLY after excluding `hasDotSegment` (BFR-FDPFTPSERVICE-009).
44
53
  */
45
54
  static normalizePath(filePath) {
46
55
  return (filePath ?? '').replace(/^\/+/, '').replace(/\\/g, '/');
47
56
  }
57
+ /**
58
+ * Whether the path has a dot segment (`.` or `..`), with `/` or `\` as separator. A name merely STARTING with a dot
59
+ * (`..hidden`, `.env`) is not a segment. Gates call it BEFORE the zone decision (BFR-FDPFTPSERVICE-009).
60
+ *
61
+ * @param filePath the (already decoded) path
62
+ */
63
+ static hasDotSegment(filePath) {
64
+ return `${filePath ?? ''}`.split(/[\\/]/u).some((segment) => segment === '.' || segment === '..');
65
+ }
48
66
  /**
49
67
  * A HMAC bemenete: `` `<normalizedPath>\n<expMs>` ``.
50
68
  * **Publikus**, hogy tesztelhető és auditálható legyen (az arany-vektor erre épül).
@@ -57,8 +75,10 @@ class DyNTS_SignedUrl_Util {
57
75
  *
58
76
  * @throws `DyNTS-SURL-SIGN-NOSEC` — üres secret *(⚠️ NEM ad csendben üres aláírást)*
59
77
  * @throws `DyNTS-SURL-SIGN-BADEXP` — nem-szám / nem-pozitív `expMs`
78
+ * @throws `DyNTS-SURL-SIGN-DOTSEG` — a dot-segment path *(BFR-FDPFTPSERVICE-009: never signed)*
60
79
  */
61
80
  static sign(filePath, expMs, secret) {
81
+ DyNTS_SignedUrl_Util._assertNoDotSegment(filePath);
62
82
  DyNTS_SignedUrl_Util._assertSecret(secret, filePath);
63
83
  DyNTS_SignedUrl_Util._assertExp(expMs, filePath);
64
84
  return Crypto
@@ -73,6 +93,10 @@ class DyNTS_SignedUrl_Util {
73
93
  * `nowMs` injektálható → determinisztikus teszt (nincs `Date.now()` a tesztben).
74
94
  */
75
95
  static verify(params) {
96
+ // BFR-FDPFTPSERVICE-009 — a dot-segment path is valid with NO signature (the zone-bypass guard)
97
+ if (DyNTS_SignedUrl_Util.hasDotSegment(params.filePath)) {
98
+ return { valid: false, reason: 'dot-segment' };
99
+ }
76
100
  if (!params.secret) {
77
101
  return { valid: false, reason: 'missing-secret' };
78
102
  }
@@ -119,6 +143,17 @@ class DyNTS_SignedUrl_Util {
119
143
  const signature = DyNTS_SignedUrl_Util.sign(normalizedPath, expMs, params.secret);
120
144
  return `${base}/${normalizedPath}?exp=${expMs}&sig=${signature}`;
121
145
  }
146
+ /** A dot-segment path → a loud error (BFR-FDPFTPSERVICE-009); the caller's input error, hence 400. */
147
+ static _assertNoDotSegment(filePath) {
148
+ if (DyNTS_SignedUrl_Util.hasDotSegment(filePath)) {
149
+ throw new fsm_dynamo_1.DyFM_Error({
150
+ status: 400,
151
+ errorCode: 'DyNTS-SURL-SIGN-DOTSEG',
152
+ message: 'Signed URL: the path has a "." / ".." segment — refusing to sign it (zone bypass guard).',
153
+ additionalContent: { filePath: DyNTS_SignedUrl_Util.normalizePath(filePath) },
154
+ });
155
+ }
156
+ }
122
157
  /** Üres secret → hangos hiba. ⚠️ A titok SOHA nem kerül a hiba-kontextusba. */
123
158
  static _assertSecret(secret, filePath) {
124
159
  if (!secret) {
@@ -1 +1 @@
1
- {"version":3,"file":"signed-url.util.js","sourceRoot":"","sources":["../../src/_collections/signed-url.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signed-url.util.js","sourceRoot":"","sources":["../../src/_collections/signed-url.util.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  export interface DyNTS_SignedUrl_VerifyResult {
11
11
  valid: boolean;
12
- reason?: 'missing-secret' | 'missing-params' | 'expired' | 'signature-mismatch';
12
+ /** `dot-segment` — BFR-FDPFTPSERVICE-009: a `.` / `..` path segment is never valid (see `hasDotSegment`). */
13
+ reason?: 'missing-secret' | 'missing-params' | 'expired' | 'signature-mismatch' | 'dot-segment';
13
14
  }
14
15
  //# sourceMappingURL=signed-url-verify-result.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signed-url-verify-result.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/signed-url-verify-result.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,GAAG,oBAAoB,CAAC;CACjF"}
1
+ {"version":3,"file":"signed-url-verify-result.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/signed-url-verify-result.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,6GAA6G;IAC7G,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,GAAG,oBAAoB,GAAG,aAAa,CAAC;CACjG"}
@@ -51,6 +51,19 @@ export declare class DyNTS_Usage_DataService extends DyNTS_DataService<DyFM_Usag
51
51
  accountId: string;
52
52
  username: string;
53
53
  }): Promise<void>;
54
+ /**
55
+ * The usage of the range, grouped by day (`simplifiedDailyUsage`, newest day first; each day's sessions oldest
56
+ * first).
57
+ *
58
+ * BFR-FUTDEVPRO-053 — the week view took ~23 s (futdevpro admin, TEST; 4× red CI): every session of the range was
59
+ * loaded as a hydrated Mongoose document and serialized one by one, and each was looked up in the day list
60
+ * (`findIndex`). Now the sessions come LEAN in batches (plain objects — measured on a synthetic week of 7 700
61
+ * sessions: hydrate + JSON 1 792 ms ⇒ lean 318 ms) and are grouped with a `Map`. The response shape is unchanged.
62
+ * The soft-deleted sessions are filtered in the query (`_deleted: null`, like `find` does with options).
63
+ * One diagnostic log line tells how many sessions / days and how long loading and grouping took.
64
+ *
65
+ * @param range the relative date range (default: last week)
66
+ */
54
67
  getUsage(range?: DyFM_RelativeDate): Promise<void>;
55
68
  updateUsageData(req: Request): Promise<void>;
56
69
  closeSession(req: Request): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"usage.data-service.d.ts","sourceRoot":"","sources":["../../../src/_modules/usage/usage.data-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,aAAa,EAAc,iBAAiB,EAAa,MAAM,uBAAuB,CAAC;AAChG,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAQ1F,qBAAa,uBAAwB,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IAC/E,SAAS,EAAE,cAAc,EAAE,CAAM;IACjC,oBAAoB,EAAE,mBAAmB,EAAE,CAAM;gBAG/C,GAAG,EAAE;QACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;QACjC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;KAChB;IAUH,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAgB9C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,uBAAuB,CAAC,GAAG,EAAE,+BAA+B,GAAG,aAAa,CAAC,iBAAiB,CAAC;IA6BtG;;;;;OAKG;IACG,qBAAqB,CAAC,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAe/F;;;;;;OAMG;IACG,uBAAuB,CAAC,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBpF;;;;;;OAMG;IACG,oBAAoB,CAAC,GAAG,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCjF,QAAQ,CAAC,KAAK,GAAE,iBAA8C,GAAG,OAAO,CAAC,IAAI,CAAC;IA4D9E,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC5C,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA2ChD"}
1
+ {"version":3,"file":"usage.data-service.d.ts","sourceRoot":"","sources":["../../../src/_modules/usage/usage.data-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,aAAa,EAAwB,iBAAiB,EAAa,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAQ1F,qBAAa,uBAAwB,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IAC/E,SAAS,EAAE,cAAc,EAAE,CAAM;IACjC,oBAAoB,EAAE,mBAAmB,EAAE,CAAM;gBAG/C,GAAG,EAAE;QACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;QACjC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;KAChB;IAUH,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAgB9C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,uBAAuB,CAAC,GAAG,EAAE,+BAA+B,GAAG,aAAa,CAAC,iBAAiB,CAAC;IA6BtG;;;;;OAKG;IACG,qBAAqB,CAAC,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAe/F;;;;;;OAMG;IACG,uBAAuB,CAAC,GAAG,EAAE,+BAA+B,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBpF;;;;;;OAMG;IACG,oBAAoB,CAAC,GAAG,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCvF;;;;;;;;;;;;OAYG;IACG,QAAQ,CAAC,KAAK,GAAE,iBAA8C,GAAG,OAAO,CAAC,IAAI,CAAC;IAuE9E,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC5C,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA2ChD"}
@@ -139,43 +139,62 @@ class DyNTS_Usage_DataService extends data_service_1.DyNTS_DataService {
139
139
  });
140
140
  }
141
141
  }
142
+ /**
143
+ * The usage of the range, grouped by day (`simplifiedDailyUsage`, newest day first; each day's sessions oldest
144
+ * first).
145
+ *
146
+ * BFR-FUTDEVPRO-053 — the week view took ~23 s (futdevpro admin, TEST; 4× red CI): every session of the range was
147
+ * loaded as a hydrated Mongoose document and serialized one by one, and each was looked up in the day list
148
+ * (`findIndex`). Now the sessions come LEAN in batches (plain objects — measured on a synthetic week of 7 700
149
+ * sessions: hydrate + JSON 1 792 ms ⇒ lean 318 ms) and are grouped with a `Map`. The response shape is unchanged.
150
+ * The soft-deleted sessions are filtered in the query (`_deleted: null`, like `find` does with options).
151
+ * One diagnostic log line tells how many sessions / days and how long loading and grouping took.
152
+ *
153
+ * @param range the relative date range (default: last week)
154
+ */
142
155
  async getUsage(range = fsm_dynamo_1.DyFM_RelativeDate.lastWeek) {
143
156
  try {
144
- await this.dataDBService.find({
157
+ const startedAt = Date.now();
158
+ const sessions = [];
159
+ const filter = {
145
160
  sessionStart: { $gte: fsm_dynamo_1.DyFM_Time.getDateByRelativeDate(range) },
146
- }).then((res) => {
147
- this.dataList = res;
161
+ _deleted: null,
162
+ };
163
+ await this.dataDBService.findLeanBatched(filter, {
164
+ handler: (batch) => {
165
+ for (const session of batch) {
166
+ sessions.push(session);
167
+ }
168
+ },
148
169
  });
149
- this.simplifiedDailyUsage = [];
150
- this.dataList.forEach((session) => {
151
- let dateIndex = this.simplifiedDailyUsage.findIndex((dailyData) => dailyData.date === session.date);
152
- if (-1 < dateIndex) {
153
- this.simplifiedDailyUsage[dateIndex].visitations.push(session);
154
- }
155
- else {
156
- const newUsageSimple = new usage_1.DyFM_DailyUsageData({
157
- date: session.date,
158
- visitations: [session],
159
- });
160
- this.simplifiedDailyUsage.push(newUsageSimple);
161
- dateIndex = this.simplifiedDailyUsage.length - 1;
170
+ const loadedAt = Date.now();
171
+ const byDate = new Map();
172
+ this.dataList = sessions;
173
+ for (const session of sessions) {
174
+ let daily = byDate.get(session.date);
175
+ if (!daily) {
176
+ daily = new usage_1.DyFM_DailyUsageData({ date: session.date, visitations: [] });
177
+ byDate.set(session.date, daily);
162
178
  }
179
+ daily.visitations.push(session);
163
180
  if (session?.locationData?.country) {
164
181
  if (session.locationData.country === 'HU') {
165
- this.simplifiedDailyUsage[dateIndex].visitorsHun++;
182
+ daily.visitorsHun++;
166
183
  }
167
184
  else {
168
- this.simplifiedDailyUsage[dateIndex].visitorsElse++;
185
+ daily.visitorsElse++;
169
186
  }
170
187
  }
171
- this.simplifiedDailyUsage[dateIndex].totalVisitTime += session.totalSessionTime;
172
- this.simplifiedDailyUsage[dateIndex].averageVisitTime = Math.round((this.simplifiedDailyUsage[dateIndex].totalVisitTime /
173
- this.simplifiedDailyUsage[dateIndex].visitations.length) * 100) / 100;
174
- });
188
+ daily.totalVisitTime += session.totalSessionTime;
189
+ }
190
+ this.simplifiedDailyUsage = [...byDate.values()];
191
+ for (const daily of this.simplifiedDailyUsage) {
192
+ daily.averageVisitTime = Math.round((daily.totalVisitTime / daily.visitations.length) * 100) / 100;
193
+ daily.visitations.sort((a, b) => +new Date(a.sessionStart) - +new Date(b.sessionStart));
194
+ }
175
195
  this.simplifiedDailyUsage.sort((a, b) => +new Date(b.date) - +new Date(a.date));
176
- this.simplifiedDailyUsage.forEach((daily) => {
177
- daily.visitations.sort((a, b) => +a.sessionStart - +b.sessionStart);
178
- });
196
+ fsm_dynamo_1.DyFM_Log.info(`[DyNTS_Usage] getUsage(${range}): ${sessions.length} sessions, ${this.simplifiedDailyUsage.length} days` +
197
+ ` — load ${loadedAt - startedAt} ms, group ${Date.now() - loadedAt} ms`);
179
198
  }
180
199
  catch (error) {
181
200
  throw new fsm_dynamo_1.DyFM_Error({
@@ -1 +1 @@
1
- {"version":3,"file":"usage.data-service.js","sourceRoot":"","sources":["../../../src/_modules/usage/usage.data-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage.data-service.js","sourceRoot":"","sources":["../../../src/_modules/usage/usage.data-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/nts-dynamo",
3
- "version": "01.15.410",
3
+ "version": "01.15.413",
4
4
  "description": "Dynamic NodeTS (NodeJS-Typescript), MongoDB Backend System Framework by Future Development Program Ltd.",
5
5
  "DyBu_settings": {
6
6
  "packageType": "server-package",