@huloglobal/vendure-plugin-visitor-analytics 0.18.0 → 0.18.2

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +6 -0
  3. package/dist/abandoned-cart.controller.d.ts +1 -1
  4. package/dist/abandoned-cart.controller.d.ts.map +1 -1
  5. package/dist/abandoned-cart.controller.js +21 -13
  6. package/dist/abandoned-cart.controller.js.map +1 -1
  7. package/dist/abandoned-cart.service.d.ts +2 -0
  8. package/dist/abandoned-cart.service.d.ts.map +1 -1
  9. package/dist/abandoned-cart.service.js +30 -16
  10. package/dist/abandoned-cart.service.js.map +1 -1
  11. package/dist/admin-api.js +10 -10
  12. package/dist/admin-api.js.map +1 -1
  13. package/dist/hulo-storefront.d.ts.map +1 -1
  14. package/dist/hulo-storefront.js +22 -1
  15. package/dist/hulo-storefront.js.map +1 -1
  16. package/dist/ingest-hardening.test.d.ts +2 -0
  17. package/dist/ingest-hardening.test.d.ts.map +1 -0
  18. package/dist/ingest-hardening.test.js +32 -0
  19. package/dist/ingest-hardening.test.js.map +1 -0
  20. package/dist/journey-buffs.controller.d.ts.map +1 -1
  21. package/dist/journey-buffs.controller.js +7 -3
  22. package/dist/journey-buffs.controller.js.map +1 -1
  23. package/dist/plugin.d.ts +6 -2
  24. package/dist/plugin.d.ts.map +1 -1
  25. package/dist/plugin.js.map +1 -1
  26. package/dist/proxy-headers.d.ts +7 -1
  27. package/dist/proxy-headers.d.ts.map +1 -1
  28. package/dist/proxy-headers.js +13 -33
  29. package/dist/proxy-headers.js.map +1 -1
  30. package/dist/proxy-headers.test.js +9 -8
  31. package/dist/proxy-headers.test.js.map +1 -1
  32. package/dist/recommendations.controller.d.ts +1 -9
  33. package/dist/recommendations.controller.d.ts.map +1 -1
  34. package/dist/recommendations.controller.js +11 -2
  35. package/dist/recommendations.controller.js.map +1 -1
  36. package/dist/visitor-event.entity.d.ts.map +1 -1
  37. package/dist/visitor-event.entity.js +2 -0
  38. package/dist/visitor-event.entity.js.map +1 -1
  39. package/dist/visitor-tracking.controller.d.ts +3 -2
  40. package/dist/visitor-tracking.controller.d.ts.map +1 -1
  41. package/dist/visitor-tracking.controller.js +47 -31
  42. package/dist/visitor-tracking.controller.js.map +1 -1
  43. package/dist/visitor-tracking.service.d.ts +4 -0
  44. package/dist/visitor-tracking.service.d.ts.map +1 -1
  45. package/dist/visitor-tracking.service.js +43 -9
  46. package/dist/visitor-tracking.service.js.map +1 -1
  47. package/package.json +57 -57
  48. package/ui/components/visitors.component.ts +4 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingest-hardening.test.js","sourceRoot":"","sources":["../src/ingest-hardening.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,yEAAuE;AACvE,mDAA4C;AAE5C,IAAA,iBAAQ,EAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,IAAA,WAAE,EAAC,sEAAsE,EAAE,GAAG,EAAE;QAC5E,IAAA,eAAM,EAAC,IAAA,uCAAY,EAAC,8CAA8C,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAClG,IAAA,eAAM,EAAC,IAAA,uCAAY,EAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACtF,IAAA,eAAM,EAAC,IAAA,uCAAY,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,aAAa,EAAE,GAAG,EAAE;IACzB,IAAA,WAAE,EAAC,yFAAyF,EAAE,GAAG,EAAE;QAC/F,IAAA,eAAM,EAAC,IAAA,sCAAW,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1G,MAAM,GAAG,GAAG,IAAA,sCAAW,EAAC,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,KAAM,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAA,eAAM,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,KAAM,CAAC,CAAC;QAC/C,IAAA,eAAM,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAA,eAAM,EAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE;IACvB,MAAM,GAAG,GAAG,CAAC,OAA+B,EAAE,EAAE,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAU,CAAA,CAAC;IAC3F,IAAA,WAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/E,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClH,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"journey-buffs.controller.d.ts","sourceRoot":"","sources":["../src/journey-buffs.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,cAAc,EAAqB,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBACa,sBAAsB;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAEzD,+DAA+D;IAGzD,IAAI,CACC,GAAG,EAAE,cAAc,EACX,CAAC,CAAC,EAAE,MAAM,EACL,EAAE,CAAC,EAAE,MAAM,EACf,CAAC,CAAC,EAAE,MAAM;;;;;;;IAQ9B,+DAA+D;IAGzD,IAAI,CACC,GAAG,EAAE,cAAc,EACX,CAAC,CAAC,EAAE,MAAM,EACL,EAAE,CAAC,EAAE,MAAM,EACf,CAAC,CAAC,EAAE,MAAM;;;;;;;IAQ9B,8DAA8D;IAGxD,OAAO,CACF,GAAG,EAAE,cAAc,EACN,CAAC,CAAC,EAAE,MAAM,EACd,CAAC,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;CAOjC"}
1
+ {"version":3,"file":"journey-buffs.controller.d.ts","sourceRoot":"","sources":["../src/journey-buffs.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,cAAc,EAAqB,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAO9D,qBACa,sBAAsB;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAEzD,+DAA+D;IAGzD,IAAI,CACC,GAAG,EAAE,cAAc,EACX,CAAC,CAAC,EAAE,MAAM,EACL,EAAE,CAAC,EAAE,MAAM,EACf,CAAC,CAAC,EAAE,MAAM;;;;;;;IAQ9B,+DAA+D;IAGzD,IAAI,CACC,GAAG,EAAE,cAAc,EACX,CAAC,CAAC,EAAE,MAAM,EACL,EAAE,CAAC,EAAE,MAAM,EACf,CAAC,CAAC,EAAE,MAAM;;;;;;;IAQ9B,8DAA8D;IAGxD,OAAO,CACF,GAAG,EAAE,cAAc,EACN,CAAC,CAAC,EAAE,MAAM,EACd,CAAC,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;CAOjC"}
@@ -16,18 +16,22 @@ exports.JourneyBuffsController = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
17
  const core_1 = require("@vendure/core");
18
18
  const journey_buffs_service_1 = require("./journey-buffs.service");
19
+ function clampQ(raw, fallback, min, max) {
20
+ const n = parseInt(String(raw !== null && raw !== void 0 ? raw : ''), 10);
21
+ return Number.isFinite(n) ? Math.min(max, Math.max(min, n)) : fallback;
22
+ }
19
23
  let JourneyBuffsController = class JourneyBuffsController {
20
24
  constructor(service) {
21
25
  this.service = service;
22
26
  }
23
27
  /** GET /ees/journey/rage-clicks?days=7&channelId=1&limit=20 */
24
28
  async rage(ctx, d, ch, l) {
25
- const items = await this.service.rageClickHotSpots(+(d || 7), +(ch || 1), +(l || 20));
29
+ const items = await this.service.rageClickHotSpots(clampQ(d, 7, 1, 365), clampQ(ch, 1, 1, 2147483647), clampQ(l, 20, 1, 200));
26
30
  return { items };
27
31
  }
28
32
  /** GET /ees/journey/dead-clicks?days=7&channelId=1&limit=20 */
29
33
  async dead(ctx, d, ch, l) {
30
- const items = await this.service.deadClickHotSpots(+(d || 7), +(ch || 1), +(l || 20));
34
+ const items = await this.service.deadClickHotSpots(clampQ(d, 7, 1, 365), clampQ(ch, 1, 1, 2147483647), clampQ(l, 20, 1, 200));
31
35
  return { items };
32
36
  }
33
37
  /** GET /ees/journey/session-summary?visitorId=abc&limit=25 */
@@ -35,7 +39,7 @@ let JourneyBuffsController = class JourneyBuffsController {
35
39
  const visitorId = String(v || '').trim();
36
40
  if (!visitorId)
37
41
  return { error: 'visitorId-required' };
38
- const items = await this.service.sessionSummary(visitorId, +(l || 25));
42
+ const items = await this.service.sessionSummary(visitorId.slice(0, 64), clampQ(l, 25, 1, 200));
39
43
  return { visitorId, items };
40
44
  }
41
45
  };
@@ -1 +1 @@
1
- {"version":3,"file":"journey-buffs.controller.js","sourceRoot":"","sources":["../src/journey-buffs.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,wCAAuE;AACvE,mEAA8D;AAGvD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAC/B,YAA6B,OAA4B;QAA5B,YAAO,GAAP,OAAO,CAAqB;IAAG,CAAC;IAE7D,+DAA+D;IAGzD,AAAN,KAAK,CAAC,IAAI,CACC,GAAmB,EACX,CAAU,EACL,EAAW,EACf,CAAU;QAE1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC9C,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CACpC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,+DAA+D;IAGzD,AAAN,KAAK,CAAC,IAAI,CACC,GAAmB,EACX,CAAU,EACL,EAAW,EACf,CAAU;QAE1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC9C,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CACpC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,8DAA8D;IAGxD,AAAN,KAAK,CAAC,OAAO,CACF,GAAmB,EACN,CAAU,EACd,CAAU;QAE1B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;CACJ,CAAA;AA9CY,wDAAsB;AAMzB;IAFL,IAAA,YAAG,EAAC,qBAAqB,CAAC;IAC1B,IAAA,YAAK,EAAC,iBAAU,CAAC,YAAY,CAAC;IAE1B,WAAA,IAAA,UAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;qCAHH,qBAAc;;kDAS7B;AAKK;IAFL,IAAA,YAAG,EAAC,qBAAqB,CAAC;IAC1B,IAAA,YAAK,EAAC,iBAAU,CAAC,YAAY,CAAC;IAE1B,WAAA,IAAA,UAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;qCAHH,qBAAc;;kDAS7B;AAKK;IAFL,IAAA,YAAG,EAAC,yBAAyB,CAAC;IAC9B,IAAA,YAAK,EAAC,iBAAU,CAAC,YAAY,CAAC;IAE1B,WAAA,IAAA,UAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;qCAFH,qBAAc;;qDAQ7B;iCA7CQ,sBAAsB;IADlC,IAAA,mBAAU,EAAC,KAAK,CAAC;qCAEwB,2CAAmB;GADhD,sBAAsB,CA8ClC"}
1
+ {"version":3,"file":"journey-buffs.controller.js","sourceRoot":"","sources":["../src/journey-buffs.controller.ts"],"names":[],"mappings":"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"}
package/dist/plugin.d.ts CHANGED
@@ -37,8 +37,12 @@ export interface VisitorAnalyticsPluginOptions {
37
37
  * reflection is restricted to this list. When empty (default), any
38
38
  * origin is reflected — matches legacy behaviour but is less safe. */
39
39
  corsAllowedOrigins?: string[];
40
- /** Auto-prune `visitor_event` rows older than `days` days. */
41
- retention?: RetentionOptions;
40
+ /** Auto-prune `visitor_event` rows older than `days` days. Default `{ days: 400 }`; `false` keeps everything. */
41
+ retention?: RetentionOptions | false;
42
+ /** Proxy headers that may override `req.ip` (rate limiting, stored IPs).
43
+ * Only list what your edge sets and strips from clients, e.g.
44
+ * `['cf-connecting-ip']` behind Cloudflare. Default: none (`req.ip`). */
45
+ trustedIpHeaders?: Array<'cf-connecting-ip' | 'true-client-ip' | 'x-real-ip' | 'x-forwarded-for'>;
42
46
  /** Options for the abandoned-cart feature. Storefront must fire
43
47
  * `cart_snapshot` custom events for anything to be detected. See
44
48
  * the README for the recommended storefront helper. */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,IAAI,EAAiB,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EAAmC,aAAa,EAAE,gBAAgB,EAAqB,aAAa,EAA8D,eAAe,EAA4B,MAAM,iCAAiC,CAAC;AAM5P,OAAO,EAAwB,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAiBpF,MAAM,WAAW,6BAA6B;IAC1C,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAC;IACtB;;;gDAG4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB;6EACyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;yEAEqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;qEAEiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;6CAEyC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,mDAAmD;IACnD,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD;;yEAEqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;2EAEuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG9B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAG7B;;4DAEwD;IACxD,WAAW,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAgBD,QAAA,MAAM,eAAe,EAAE,6BAMtB,CAAC;AAGF,wBAAgB,UAAU,IAAI,OAAO,eAAe,GAAG,6BAA6B,CAEnF;AAED;;;;;;;;;;;GAWG;AACH,qBA0Ba,sBAAsB;IA4CnB,OAAO,CAAC,UAAU;IA3C9B,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAiC;IAClE,MAAM,CAAC,YAAY,IAAI,eAAe,GAAG,IAAI;IAC7C,MAAM,CAAC,iBAAiB,IAAI,MAAM,GAAG,IAAI;IACzC;;yCAEqC;IACrC,MAAM,CAAC,gBAAgB,IAAI,OAAO;IAIlC,MAAM,CAAC,eAAe,IAAI,IAAI;IAO9B,OAAO,CAAC,MAAM,CAAC,WAAW,CAAM;IAEhC;sDACkD;IAClD,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAYzD,oEAAoE;IACpE,MAAM,CAAC,wBAAwB,IAAI,IAAI;gBASnB,UAAU,EAAE,uBAAuB;IAEvD;0DACsD;IAChD,sBAAsB;IAc5B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAkC;IAC3D,OAAO,CAAC,MAAM,CAAC,aAAa,CAA8B;IAC1D,OAAO,CAAC,MAAM,CAAC,SAAS,CAA0B;IAClD,OAAO,CAAC,MAAM,CAAC,aAAa,CAA8B;IAE1D,MAAM,CAAC,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAC/C,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAClC,MAAM,CAAC,cAAc,IAAI,MAAM;IAC/B,MAAM,CAAC,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAE/C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,6BAA6B,GAAG,IAAI,CAAC,sBAAsB,CAAC;IAwDjF,MAAM,CAAC,YAAY;;;;;;;;MAUjB;CACL"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,IAAI,EAAiB,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EAAmC,aAAa,EAAE,gBAAgB,EAAqB,aAAa,EAA8D,eAAe,EAA4B,MAAM,iCAAiC,CAAC;AAM5P,OAAO,EAAwB,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAiBpF,MAAM,WAAW,6BAA6B;IAC1C,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAC;IACtB;;;gDAG4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB;6EACyE;IACzE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;yEAEqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;qEAEiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;6CAEyC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,mDAAmD;IACnD,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD;;yEAEqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;2EAEuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG9B,iHAAiH;IACjH,SAAS,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC;IACrC;;8EAE0E;IAC1E,gBAAgB,CAAC,EAAE,KAAK,CAAC,kBAAkB,GAAG,gBAAgB,GAAG,WAAW,GAAG,iBAAiB,CAAC,CAAC;IAGlG;;4DAEwD;IACxD,WAAW,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAgBD,QAAA,MAAM,eAAe,EAAE,6BAMtB,CAAC;AAGF,wBAAgB,UAAU,IAAI,OAAO,eAAe,GAAG,6BAA6B,CAEnF;AAED;;;;;;;;;;;GAWG;AACH,qBA0Ba,sBAAsB;IA4CnB,OAAO,CAAC,UAAU;IA3C9B,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAiC;IAClE,MAAM,CAAC,YAAY,IAAI,eAAe,GAAG,IAAI;IAC7C,MAAM,CAAC,iBAAiB,IAAI,MAAM,GAAG,IAAI;IACzC;;yCAEqC;IACrC,MAAM,CAAC,gBAAgB,IAAI,OAAO;IAIlC,MAAM,CAAC,eAAe,IAAI,IAAI;IAO9B,OAAO,CAAC,MAAM,CAAC,WAAW,CAAM;IAEhC;sDACkD;IAClD,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAYzD,oEAAoE;IACpE,MAAM,CAAC,wBAAwB,IAAI,IAAI;gBASnB,UAAU,EAAE,uBAAuB;IAEvD;0DACsD;IAChD,sBAAsB;IAc5B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAkC;IAC3D,OAAO,CAAC,MAAM,CAAC,aAAa,CAA8B;IAC1D,OAAO,CAAC,MAAM,CAAC,SAAS,CAA0B;IAClD,OAAO,CAAC,MAAM,CAAC,aAAa,CAA8B;IAE1D,MAAM,CAAC,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAC/C,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAClC,MAAM,CAAC,cAAc,IAAI,MAAM;IAC/B,MAAM,CAAC,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAE/C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,6BAA6B,GAAG,IAAI,CAAC,sBAAsB,CAAC;IAwDjF,MAAM,CAAC,YAAY;;;;;;;;MAUjB;CACL"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,13 @@ import { Request } from 'express';
18
18
  * isn't available — the caller should treat this as "unknown" and
19
19
  * skip IP-dependent enrichment rather than fail.
20
20
  */
21
- export declare function getRealIp(req: Request): string | null;
21
+ export type TrustedIpHeader = 'cf-connecting-ip' | 'true-client-ip' | 'x-real-ip' | 'x-forwarded-for';
22
+ /**
23
+ * The visitor's IP: Express's `req.ip` (honours the host's `trust proxy`)
24
+ * unless the host lists proxy headers it trusts. Trusting a header from any
25
+ * peer lets a client spoof its address (rate limiter, stored IPs).
26
+ */
27
+ export declare function getRealIp(req: Request, trusted?: TrustedIpHeader[]): string | null;
22
28
  /**
23
29
  * Cloudflare / Akamai populate the visitor's resolved country on the
24
30
  * inbound request when the corresponding feature is enabled. Reading
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-headers.d.ts","sourceRoot":"","sources":["../src/proxy-headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAkBrD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAe9D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAK7D"}
1
+ {"version":3,"file":"proxy-headers.d.ts","sourceRoot":"","sources":["../src/proxy-headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEtG;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,eAAe,EAAO,GAAG,MAAM,GAAG,IAAI,CAUtF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAe9D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAK7D"}
@@ -4,43 +4,23 @@ exports.getRealIp = getRealIp;
4
4
  exports.getResolvedCountry = getResolvedCountry;
5
5
  exports.getResolvedRegion = getResolvedRegion;
6
6
  /**
7
- * Reverse-proxy aware visitor IP extraction.
8
- *
9
- * Order of precedence:
10
- * 1. Cloudflare's `CF-Connecting-IP` (always the real client IP,
11
- * regardless of how many proxies sit in front of the worker).
12
- * 2. `True-Client-IP` (Akamai / Cloudflare Enterprise).
13
- * 3. `X-Real-IP` (nginx / Caddy default when proxying).
14
- * 4. First entry in `X-Forwarded-For` (RFC 7239 ancestor; the
15
- * left-most entry is the original client when the upstream proxy
16
- * is trusted).
17
- * 5. Express's `req.ip` — only useful when `app.set('trust proxy', ...)`
18
- * has been set on the Vendure host, otherwise this is the socket
19
- * address of the last hop.
20
- *
21
- * Returns `null` if none of the headers are populated and `req.ip`
22
- * isn't available — the caller should treat this as "unknown" and
23
- * skip IP-dependent enrichment rather than fail.
7
+ * The visitor's IP: Express's `req.ip` (honours the host's `trust proxy`)
8
+ * unless the host lists proxy headers it trusts. Trusting a header from any
9
+ * peer lets a client spoof its address (rate limiter, stored IPs).
24
10
  */
25
- function getRealIp(req) {
11
+ function getRealIp(req, trusted = []) {
26
12
  var _a;
27
13
  const headers = req.headers || {};
28
- const cfIp = String(headers['cf-connecting-ip'] || '').trim();
29
- if (cfIp)
30
- return cfIp;
31
- const trueClient = String(headers['true-client-ip'] || '').trim();
32
- if (trueClient)
33
- return trueClient;
34
- const realIp = String(headers['x-real-ip'] || '').trim();
35
- if (realIp)
36
- return realIp;
37
- const xff = String(headers['x-forwarded-for'] || '').trim();
38
- if (xff) {
39
- const first = (_a = xff.split(',')[0]) === null || _a === void 0 ? void 0 : _a.trim();
40
- if (first)
41
- return first;
14
+ for (const name of trusted) {
15
+ const raw = String(headers[name] || '').trim();
16
+ if (!raw)
17
+ continue;
18
+ const value = name === 'x-forwarded-for' ? (_a = raw.split(',')[0]) === null || _a === void 0 ? void 0 : _a.trim() : raw;
19
+ if (value)
20
+ return value.replace(/^::ffff:(\d{1,3}(?:\.\d{1,3}){3})$/i, '$1').slice(0, 64);
42
21
  }
43
- return req.ip || null;
22
+ const ip = String(req.ip || '').trim();
23
+ return ip ? ip.replace(/^::ffff:(\d{1,3}(?:\.\d{1,3}){3})$/i, '$1').slice(0, 64) : null;
44
24
  }
45
25
  /**
46
26
  * Cloudflare / Akamai populate the visitor's resolved country on the
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-headers.js","sourceRoot":"","sources":["../src/proxy-headers.ts"],"names":[],"mappings":";;AAqBA,8BAkBC;AASD,gDAeC;AAQD,8CAKC;AA1ED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,SAAS,CAAC,GAAY;;IAClC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,IAAI,GAAG,EAAE,CAAC;QACN,MAAM,KAAK,GAAG,MAAA,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,EAAE,CAAC;QACxC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC5B,CAAC;IAED,OAAQ,GAAW,CAAC,EAAE,IAAI,IAAI,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,GAAY;IAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAEhD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACnD,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5E,IAAI,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAEvD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,GAAY;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxE,IAAI,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"proxy-headers.js","sourceRoot":"","sources":["../src/proxy-headers.ts"],"names":[],"mappings":";;AA4BA,8BAUC;AASD,gDAeC;AAQD,8CAKC;AApDD;;;;GAIG;AACH,SAAgB,SAAS,CAAC,GAAY,EAAE,UAA6B,EAAE;;IACnE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,KAAK,GAAG,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,MAAA,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3E,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAE,GAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5F,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,GAAY;IAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAEhD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACnD,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5E,IAAI,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAEvD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,GAAY;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxE,IAAI,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -4,19 +4,20 @@ const vitest_1 = require("vitest");
4
4
  const proxy_headers_1 = require("./proxy-headers");
5
5
  const req = (headers, ip) => ({ headers, ip });
6
6
  (0, vitest_1.describe)('getRealIp', () => {
7
- (0, vitest_1.it)('prefers CF-Connecting-IP above everything', () => {
7
+ (0, vitest_1.it)('uses req.ip by default and ignores every proxy header (they are client-spoofable)', () => {
8
8
  (0, vitest_1.expect)((0, proxy_headers_1.getRealIp)(req({
9
9
  'cf-connecting-ip': '1.1.1.1', 'true-client-ip': '2.2.2.2',
10
10
  'x-real-ip': '3.3.3.3', 'x-forwarded-for': '4.4.4.4',
11
- }, '5.5.5.5'))).toBe('1.1.1.1');
11
+ }, '5.5.5.5'))).toBe('5.5.5.5');
12
12
  });
13
- (0, vitest_1.it)('falls through the precedence chain', () => {
14
- (0, vitest_1.expect)((0, proxy_headers_1.getRealIp)(req({ 'true-client-ip': '2.2.2.2', 'x-real-ip': '3.3.3.3' }))).toBe('2.2.2.2');
15
- (0, vitest_1.expect)((0, proxy_headers_1.getRealIp)(req({ 'x-real-ip': '3.3.3.3' }))).toBe('3.3.3.3');
16
- (0, vitest_1.expect)((0, proxy_headers_1.getRealIp)(req({ 'x-forwarded-for': '4.4.4.4, 9.9.9.9' }))).toBe('4.4.4.4');
13
+ (0, vitest_1.it)('honours only the headers the host trusts, in the order given', () => {
14
+ const all = ['cf-connecting-ip', 'true-client-ip', 'x-real-ip', 'x-forwarded-for'];
15
+ (0, vitest_1.expect)((0, proxy_headers_1.getRealIp)(req({ 'cf-connecting-ip': '1.1.1.1', 'x-real-ip': '3.3.3.3' }, '5.5.5.5'), [...all])).toBe('1.1.1.1');
16
+ (0, vitest_1.expect)((0, proxy_headers_1.getRealIp)(req({ 'true-client-ip': '2.2.2.2', 'x-real-ip': '3.3.3.3' }), [...all])).toBe('2.2.2.2');
17
+ (0, vitest_1.expect)((0, proxy_headers_1.getRealIp)(req({ 'x-forwarded-for': '4.4.4.4, 9.9.9.9' }), ['x-forwarded-for'])).toBe('4.4.4.4');
17
18
  });
18
- (0, vitest_1.it)('uses the left-most XFF entry', () => {
19
- (0, vitest_1.expect)((0, proxy_headers_1.getRealIp)(req({ 'x-forwarded-for': ' 203.0.113.1 , 10.0.0.1 , 10.0.0.2 ' }))).toBe('203.0.113.1');
19
+ (0, vitest_1.it)('uses the left-most XFF entry when XFF is trusted', () => {
20
+ (0, vitest_1.expect)((0, proxy_headers_1.getRealIp)(req({ 'x-forwarded-for': ' 203.0.113.1 , 10.0.0.1 , 10.0.0.2 ' }), ['x-forwarded-for'])).toBe('203.0.113.1');
20
21
  });
21
22
  (0, vitest_1.it)('falls back to req.ip then null', () => {
22
23
  (0, vitest_1.expect)((0, proxy_headers_1.getRealIp)(req({}, '5.5.5.5'))).toBe('5.5.5.5');
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-headers.test.js","sourceRoot":"","sources":["../src/proxy-headers.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,mDAAmF;AAEnF,MAAM,GAAG,GAAG,CAAC,OAA+B,EAAE,EAAW,EAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;AAErF,IAAA,iBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE;IACvB,IAAA,WAAE,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC;YACjB,kBAAkB,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS;YAC1D,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;SACvD,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChG,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,sCAAsC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9G,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,IAAA,WAAE,EAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;QACzC,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrE,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,yBAAyB,EAAE,GAAG,EAAE;QAC/B,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,oBAAoB,EAAE,8CAA8C,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzH,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnF,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;QACzC,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,IAAA,WAAE,EAAC,sBAAsB,EAAE,GAAG,EAAE;QAC5B,IAAA,eAAM,EAAC,IAAA,iCAAiB,EAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxE,IAAA,eAAM,EAAC,IAAA,iCAAiB,EAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,IAAA,eAAM,EAAC,IAAA,iCAAiB,EAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3E,IAAA,eAAM,EAAC,IAAA,iCAAiB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"proxy-headers.test.js","sourceRoot":"","sources":["../src/proxy-headers.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,mDAAmF;AAEnF,MAAM,GAAG,GAAG,CAAC,OAA+B,EAAE,EAAW,EAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;AAErF,IAAA,iBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE;IACvB,IAAA,WAAE,EAAC,mFAAmF,EAAE,GAAG,EAAE;QACzF,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC;YACjB,kBAAkB,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS;YAC1D,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;SACvD,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,8DAA8D,EAAE,GAAG,EAAE;QACpE,MAAM,GAAG,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,CAAU,CAAC;QAC5F,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvH,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1G,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,sCAAsC,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnI,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,IAAA,eAAM,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,IAAA,WAAE,EAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;QACzC,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrE,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,yBAAyB,EAAE,GAAG,EAAE;QAC/B,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,oBAAoB,EAAE,8CAA8C,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzH,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnF,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;QACzC,IAAA,eAAM,EAAC,IAAA,kCAAkB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,IAAA,WAAE,EAAC,sBAAsB,EAAE,GAAG,EAAE;QAC5B,IAAA,eAAM,EAAC,IAAA,iCAAiB,EAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxE,IAAA,eAAM,EAAC,IAAA,iCAAiB,EAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,IAAA,WAAE,EAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,IAAA,eAAM,EAAC,IAAA,iCAAiB,EAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3E,IAAA,eAAM,EAAC,IAAA,iCAAiB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,13 +1,5 @@
1
1
  import { RequestContext } from '@vendure/core';
2
2
  import { RecommendationsService } from './recommendations.service';
3
- /**
4
- * Public + admin API for the co-view recommendations feature.
5
- *
6
- * The `also-viewed`, `personal` and `trending` endpoints are safe to
7
- * hit from the storefront directly — they return only product ids +
8
- * scores, no PII. Restricting them to Vendure admin would break the
9
- * primary use case (rendering a recs rail on the product page).
10
- */
11
3
  export declare class RecommendationsController {
12
4
  private readonly service;
13
5
  constructor(service: RecommendationsService);
@@ -47,7 +39,7 @@ export declare class RecommendationsController {
47
39
  trending(chRaw?: string, hRaw?: string, lRaw?: string): Promise<{
48
40
  channelId: number;
49
41
  hours: number;
50
- items: import("./recommendations.service").RecommendedProduct[];
42
+ items: any[];
51
43
  }>;
52
44
  /**
53
45
  * Admin-only: manually kick the aggregation cron. Normally runs
@@ -1 +1 @@
1
- {"version":3,"file":"recommendations.controller.d.ts","sourceRoot":"","sources":["../src/recommendations.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,cAAc,EAAqB,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;;;;;GAOG;AACH,qBACa,yBAAyB;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,sBAAsB;IAE5D;;;OAGG;IAEG,UAAU,CACQ,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM;;;;;;;;;IAUrC;;;;;;OAMG;IAEG,QAAQ,CACU,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM;;;;;;;;;IAUrC;;;OAGG;IAEG,QAAQ,CACU,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM;;;;;IASrC;;;;OAIG;IAGG,YAAY,CAAQ,GAAG,EAAE,cAAc,EAAkB,IAAI,CAAC,EAAE,MAAM;;;;;CAK/E"}
1
+ {"version":3,"file":"recommendations.controller.d.ts","sourceRoot":"","sources":["../src/recommendations.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,cAAc,EAAqB,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAYnE,qBACa,yBAAyB;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,sBAAsB;IAE5D;;;OAGG;IAEG,UAAU,CACQ,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM;;;;;;;;;IAUrC;;;;;;OAMG;IAEG,QAAQ,CACU,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM;;;;;;;;;IAUrC;;;OAGG;IAEG,QAAQ,CACU,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM;;;;;IAerC;;;;OAIG;IAGG,YAAY,CAAQ,GAAG,EAAE,cAAc,EAAkB,IAAI,CAAC,EAAE,MAAM;;;;;CAK/E"}
@@ -24,6 +24,7 @@ const recommendations_service_1 = require("./recommendations.service");
24
24
  * scores, no PII. Restricting them to Vendure admin would break the
25
25
  * primary use case (rendering a recs rail on the product page).
26
26
  */
27
+ const TRENDING_CACHE = new Map();
27
28
  let RecommendationsController = class RecommendationsController {
28
29
  constructor(service) {
29
30
  this.service = service;
@@ -63,9 +64,17 @@ let RecommendationsController = class RecommendationsController {
63
64
  */
64
65
  async trending(chRaw, hRaw, lRaw) {
65
66
  const channelId = parseInt(chRaw || '1', 10) || 1;
66
- const hours = Math.min(Math.max(1, parseInt(hRaw || '24', 10) || 24), 24 * 30);
67
- const limit = parseInt(lRaw || '10', 10) || 10;
67
+ // Public and uncached before: a GROUP BY over a month of events per call. Cap the window and memoise for a minute.
68
+ const hours = Math.min(Math.max(1, parseInt(hRaw || '24', 10) || 24), 24 * 7);
69
+ const limit = Math.min(Math.max(1, parseInt(lRaw || '10', 10) || 10), 50);
70
+ const key = `${channelId}|${hours}|${limit}`;
71
+ const hit = TRENDING_CACHE.get(key);
72
+ if (hit && hit.exp > Date.now())
73
+ return { channelId, hours, items: hit.items };
68
74
  const items = await this.service.trending(channelId, hours, limit);
75
+ if (TRENDING_CACHE.size > 200)
76
+ TRENDING_CACHE.clear();
77
+ TRENDING_CACHE.set(key, { items, exp: Date.now() + 60000 });
69
78
  return { channelId, hours, items };
70
79
  }
71
80
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"recommendations.controller.js","sourceRoot":"","sources":["../src/recommendations.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recommendations.controller.js","sourceRoot":"","sources":["../src/recommendations.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"visitor-event.entity.d.ts","sourceRoot":"","sources":["../src/visitor-event.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAMa,YAAa,SAAQ,aAAa;gBAC/B,KAAK,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC;IAG7C,SAAS,EAAG,MAAM,CAAC;IAGnB,SAAS,EAAG,MAAM,CAAC;IAGnB,UAAU,EAAG,MAAM,GAAG,IAAI,CAAC;IAG3B,SAAS,EAAG,MAAM,CAAC;IAGnB,IAAI,EAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAEhD,8EAA8E;IAE9E,GAAG,EAAG,MAAM,CAAC;IAEb;;0DAEsD;IAEtD,KAAK,EAAG,MAAM,GAAG,IAAI,CAAC;IAGtB,QAAQ,EAAG,MAAM,GAAG,IAAI,CAAC;IAEzB;+BAC2B;IAE3B,YAAY,EAAG,MAAM,GAAG,IAAI,CAAC;IAE7B;oDACgD;IAEhD,MAAM,EAAG,MAAM,GAAG,IAAI,CAAC;IAEvB,qEAAqE;IAErE,EAAE,EAAG,MAAM,GAAG,IAAI,CAAC;IAGnB,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAE1B,2DAA2D;IAE3D,OAAO,EAAG,MAAM,GAAG,IAAI,CAAC;IAGxB,cAAc,EAAG,MAAM,GAAG,IAAI,CAAC;IAG/B,EAAE,EAAG,MAAM,GAAG,IAAI,CAAC;IAGnB,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAG1B,MAAM,EAAG,MAAM,GAAG,IAAI,CAAC;IAEvB,wCAAwC;IAExC,cAAc,EAAG,MAAM,GAAG,IAAI,CAAC;IAG/B,OAAO,EAAG,MAAM,GAAG,IAAI,CAAC;IAGxB,MAAM,EAAG,MAAM,GAAG,IAAI,CAAC;IAGvB,IAAI,EAAG,MAAM,GAAG,IAAI,CAAC;IAGrB,QAAQ,EAAG,MAAM,GAAG,IAAI,CAAC;IAEzB,sDAAsD;IAEtD,IAAI,EAAG,MAAM,GAAG,IAAI,CAAC;IAUrB,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAG1B,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAG1B,WAAW,EAAG,MAAM,GAAG,IAAI,CAAC;IAG5B,OAAO,EAAG,MAAM,GAAG,IAAI,CAAC;IAGxB,UAAU,EAAG,MAAM,GAAG,IAAI,CAAC;IAE3B;;kEAE8D;IAE9D,cAAc,EAAG,MAAM,GAAG,IAAI,CAAC;IAE/B;;;kBAGc;IAGd,KAAK,EAAG,OAAO,CAAC;IAEhB;0CACsC;IAGtC,MAAM,EAAG,MAAM,GAAG,IAAI,CAAC;CAC1B"}
1
+ {"version":3,"file":"visitor-event.entity.d.ts","sourceRoot":"","sources":["../src/visitor-event.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAQa,YAAa,SAAQ,aAAa;gBAC/B,KAAK,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC;IAG7C,SAAS,EAAG,MAAM,CAAC;IAGnB,SAAS,EAAG,MAAM,CAAC;IAGnB,UAAU,EAAG,MAAM,GAAG,IAAI,CAAC;IAG3B,SAAS,EAAG,MAAM,CAAC;IAGnB,IAAI,EAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAEhD,8EAA8E;IAE9E,GAAG,EAAG,MAAM,CAAC;IAEb;;0DAEsD;IAEtD,KAAK,EAAG,MAAM,GAAG,IAAI,CAAC;IAGtB,QAAQ,EAAG,MAAM,GAAG,IAAI,CAAC;IAEzB;+BAC2B;IAE3B,YAAY,EAAG,MAAM,GAAG,IAAI,CAAC;IAE7B;oDACgD;IAEhD,MAAM,EAAG,MAAM,GAAG,IAAI,CAAC;IAEvB,qEAAqE;IAErE,EAAE,EAAG,MAAM,GAAG,IAAI,CAAC;IAGnB,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAE1B,2DAA2D;IAE3D,OAAO,EAAG,MAAM,GAAG,IAAI,CAAC;IAGxB,cAAc,EAAG,MAAM,GAAG,IAAI,CAAC;IAG/B,EAAE,EAAG,MAAM,GAAG,IAAI,CAAC;IAGnB,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAG1B,MAAM,EAAG,MAAM,GAAG,IAAI,CAAC;IAEvB,wCAAwC;IAExC,cAAc,EAAG,MAAM,GAAG,IAAI,CAAC;IAG/B,OAAO,EAAG,MAAM,GAAG,IAAI,CAAC;IAGxB,MAAM,EAAG,MAAM,GAAG,IAAI,CAAC;IAGvB,IAAI,EAAG,MAAM,GAAG,IAAI,CAAC;IAGrB,QAAQ,EAAG,MAAM,GAAG,IAAI,CAAC;IAEzB,sDAAsD;IAEtD,IAAI,EAAG,MAAM,GAAG,IAAI,CAAC;IAUrB,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAG1B,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAG1B,WAAW,EAAG,MAAM,GAAG,IAAI,CAAC;IAG5B,OAAO,EAAG,MAAM,GAAG,IAAI,CAAC;IAGxB,UAAU,EAAG,MAAM,GAAG,IAAI,CAAC;IAE3B;;kEAE8D;IAE9D,cAAc,EAAG,MAAM,GAAG,IAAI,CAAC;IAE/B;;;kBAGc;IAGd,KAAK,EAAG,OAAO,CAAC;IAEhB;0CACsC;IAGtC,MAAM,EAAG,MAAM,GAAG,IAAI,CAAC;CAC1B"}
@@ -163,6 +163,8 @@ __decorate([
163
163
  ], VisitorEvent.prototype, "goalId", void 0);
164
164
  exports.VisitorEvent = VisitorEvent = __decorate([
165
165
  (0, typeorm_1.Entity)(),
166
+ (0, typeorm_1.Index)('visitor_event_created_idx', ['createdAt']),
167
+ (0, typeorm_1.Index)('visitor_event_channel_created_idx', ['channelId', 'createdAt']),
166
168
  (0, typeorm_1.Index)('visitor_event_visitor_idx', ['visitorId', 'createdAt']),
167
169
  (0, typeorm_1.Index)('visitor_event_session_idx', ['sessionId', 'createdAt']),
168
170
  (0, typeorm_1.Index)('visitor_event_customer_idx', ['customerId']),
@@ -1 +1 @@
1
- {"version":3,"file":"visitor-event.entity.js","sourceRoot":"","sources":["../src/visitor-event.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visitor-event.entity.js","sourceRoot":"","sources":["../src/visitor-event.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAA2D;AAC3D,qCAAgD;AAEhD;;;;;;;;;;;;;;;;;;GAkBG;AASI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,oBAAa;IAC3C,YAAY,KAAiC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CA4HnE,CAAA;AA7HY,oCAAY;AAIrB;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;+CACJ;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;+CACJ;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACb;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;+CACjB;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;0CACyB;AAIhD;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;yCACZ;AAMb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACnC;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACjC;AAKzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACX;AAK7B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACjC;AAIvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACrC;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAChC;AAI1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CAChC;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACzB;AAG/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACrC;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAC9B;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACjC;AAIvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDAC1B;AAG/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CAChC;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACjC;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACpC;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CAC/B;AAIzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CACpB;AAUrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAC/B;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAC/B;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAC7B;AAG5B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACjC;AAGxB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAC9B;AAM3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDAC1B;AAQ/B;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;2CAC5B;AAMhB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACjB;uBA5Hd,YAAY;IARxB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,2BAA2B,EAAE,CAAC,WAAW,CAAC,CAAC;IACjD,IAAA,eAAK,EAAC,mCAAmC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACtE,IAAA,eAAK,EAAC,2BAA2B,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9D,IAAA,eAAK,EAAC,2BAA2B,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9D,IAAA,eAAK,EAAC,4BAA4B,EAAE,CAAC,YAAY,CAAC,CAAC;IACnD,IAAA,eAAK,EAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtD,IAAA,eAAK,EAAC,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC;;GAC3B,YAAY,CA6HxB"}
@@ -1,13 +1,14 @@
1
1
  import { OnApplicationBootstrap, OnModuleDestroy } from '@nestjs/common';
2
- import { RequestContext, TransactionalConnection } from '@vendure/core';
2
+ import { ProcessContext, RequestContext, TransactionalConnection } from '@vendure/core';
3
3
  import { Request, Response } from 'express';
4
4
  import { VisitorTrackingService } from './visitor-tracking.service';
5
5
  export declare class VisitorTrackingController implements OnApplicationBootstrap, OnModuleDestroy {
6
6
  private connection;
7
7
  private tracking;
8
+ private processContext;
8
9
  private limiter;
9
10
  private stopRetention;
10
- constructor(connection: TransactionalConnection, tracking: VisitorTrackingService);
11
+ constructor(connection: TransactionalConnection, tracking: VisitorTrackingService, processContext: ProcessContext);
11
12
  onApplicationBootstrap(): void;
12
13
  onModuleDestroy(): void;
13
14
  private rateLimited;
@@ -1 +1 @@
1
- {"version":3,"file":"visitor-tracking.controller.d.ts","sourceRoot":"","sources":["../src/visitor-tracking.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visitor-tracking.controller.d.ts","sourceRoot":"","sources":["../src/visitor-tracking.controller.ts"],"names":[],"mappings":"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"}