@carlonicora/nestjs-neo4jsonapi 8.1.0 → 8.3.0

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 (77) hide show
  1. package/dist/foundations/analytics/controllers/analytics.controller.d.ts.map +1 -1
  2. package/dist/foundations/analytics/controllers/analytics.controller.js +1 -0
  3. package/dist/foundations/analytics/controllers/analytics.controller.js.map +1 -1
  4. package/dist/foundations/analytics/dtos/analytics-event.post.dto.d.ts +1 -0
  5. package/dist/foundations/analytics/dtos/analytics-event.post.dto.d.ts.map +1 -1
  6. package/dist/foundations/analytics/dtos/analytics-event.post.dto.js +5 -0
  7. package/dist/foundations/analytics/dtos/analytics-event.post.dto.js.map +1 -1
  8. package/dist/foundations/analytics/interfaces/analytics.config.interface.d.ts +4 -2
  9. package/dist/foundations/analytics/interfaces/analytics.config.interface.d.ts.map +1 -1
  10. package/dist/foundations/analytics/interfaces/analytics.config.interface.js.map +1 -1
  11. package/dist/foundations/analytics/interfaces/analytics.page-view.input.d.ts +2 -0
  12. package/dist/foundations/analytics/interfaces/analytics.page-view.input.d.ts.map +1 -1
  13. package/dist/foundations/analytics/interfaces/analytics.resolved-page-view.d.ts +6 -0
  14. package/dist/foundations/analytics/interfaces/analytics.resolved-page-view.d.ts.map +1 -1
  15. package/dist/foundations/analytics/processors/analytics.processor.d.ts.map +1 -1
  16. package/dist/foundations/analytics/processors/analytics.processor.js +10 -0
  17. package/dist/foundations/analytics/processors/analytics.processor.js.map +1 -1
  18. package/dist/foundations/analytics/repositories/analytics-session.repository.d.ts +6 -0
  19. package/dist/foundations/analytics/repositories/analytics-session.repository.d.ts.map +1 -1
  20. package/dist/foundations/analytics/repositories/analytics-session.repository.js +35 -10
  21. package/dist/foundations/analytics/repositories/analytics-session.repository.js.map +1 -1
  22. package/dist/foundations/analytics/services/analytics.service.d.ts +5 -4
  23. package/dist/foundations/analytics/services/analytics.service.d.ts.map +1 -1
  24. package/dist/foundations/analytics/services/analytics.service.js +14 -10
  25. package/dist/foundations/analytics/services/analytics.service.js.map +1 -1
  26. package/dist/foundations/analytics/services/analytics.visitor-id.service.d.ts +10 -0
  27. package/dist/foundations/analytics/services/analytics.visitor-id.service.d.ts.map +1 -1
  28. package/dist/foundations/analytics/services/analytics.visitor-id.service.js +9 -1
  29. package/dist/foundations/analytics/services/analytics.visitor-id.service.js.map +1 -1
  30. package/dist/foundations/billing/billing.module.d.ts +2 -0
  31. package/dist/foundations/billing/billing.module.d.ts.map +1 -1
  32. package/dist/foundations/billing/billing.module.js +10 -0
  33. package/dist/foundations/billing/billing.module.js.map +1 -1
  34. package/dist/foundations/billing/controllers/credit-warning.controller.d.ts +16 -0
  35. package/dist/foundations/billing/controllers/credit-warning.controller.d.ts.map +1 -0
  36. package/dist/foundations/billing/controllers/credit-warning.controller.js +63 -0
  37. package/dist/foundations/billing/controllers/credit-warning.controller.js.map +1 -0
  38. package/dist/foundations/billing/index.d.ts +3 -0
  39. package/dist/foundations/billing/index.d.ts.map +1 -1
  40. package/dist/foundations/billing/index.js +4 -0
  41. package/dist/foundations/billing/index.js.map +1 -1
  42. package/dist/foundations/billing/interfaces/billing.config.interface.d.ts +18 -0
  43. package/dist/foundations/billing/interfaces/billing.config.interface.d.ts.map +1 -1
  44. package/dist/foundations/billing/interfaces/billing.config.interface.js +7 -0
  45. package/dist/foundations/billing/interfaces/billing.config.interface.js.map +1 -1
  46. package/dist/foundations/billing/interfaces/credit-warning.interface.d.ts +15 -0
  47. package/dist/foundations/billing/interfaces/credit-warning.interface.d.ts.map +1 -0
  48. package/dist/foundations/billing/interfaces/credit-warning.interface.js +9 -0
  49. package/dist/foundations/billing/interfaces/credit-warning.interface.js.map +1 -0
  50. package/dist/foundations/billing/processors/billing-email.jobs.d.ts +9 -1
  51. package/dist/foundations/billing/processors/billing-email.jobs.d.ts.map +1 -1
  52. package/dist/foundations/billing/processors/billing-email.jobs.js +17 -0
  53. package/dist/foundations/billing/processors/billing-email.jobs.js.map +1 -1
  54. package/dist/foundations/billing/services/credit-warning.service.d.ts +84 -0
  55. package/dist/foundations/billing/services/credit-warning.service.d.ts.map +1 -0
  56. package/dist/foundations/billing/services/credit-warning.service.js +218 -0
  57. package/dist/foundations/billing/services/credit-warning.service.js.map +1 -0
  58. package/dist/foundations/company/entities/company.d.ts +5 -0
  59. package/dist/foundations/company/entities/company.d.ts.map +1 -1
  60. package/dist/foundations/company/entities/company.js +4 -0
  61. package/dist/foundations/company/entities/company.js.map +1 -1
  62. package/dist/foundations/company/events/company.events.d.ts +22 -0
  63. package/dist/foundations/company/events/company.events.d.ts.map +1 -1
  64. package/dist/foundations/company/events/company.events.js +14 -1
  65. package/dist/foundations/company/events/company.events.js.map +1 -1
  66. package/dist/foundations/company/repositories/company.repository.d.ts +44 -0
  67. package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -1
  68. package/dist/foundations/company/repositories/company.repository.js +97 -0
  69. package/dist/foundations/company/repositories/company.repository.js.map +1 -1
  70. package/dist/foundations/company/services/company.service.d.ts.map +1 -1
  71. package/dist/foundations/company/services/company.service.js +13 -0
  72. package/dist/foundations/company/services/company.service.js.map +1 -1
  73. package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.d.ts +14 -0
  74. package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.d.ts.map +1 -1
  75. package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.js +43 -0
  76. package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.js.map +1 -1
  77. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/controllers/analytics.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE;;;;;;;;;GASG;AACH,qBAEa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAMzD,KAAK,CACF,OAAO,EAAE,cAAc,GAAG;QAAE,IAAI,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,EACzE,IAAI,EAAE,qBAAqB,GAClC,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,OAAO;CAGhB"}
1
+ {"version":3,"file":"analytics.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/controllers/analytics.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE;;;;;;;;;GASG;AACH,qBAEa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAMzD,KAAK,CACF,OAAO,EAAE,cAAc,GAAG;QAAE,IAAI,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,EACzE,IAAI,EAAE,qBAAqB,GAClC,OAAO,CAAC,IAAI,CAAC;IAwBhB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,OAAO;CAGhB"}
@@ -48,6 +48,7 @@ let AnalyticsController = class AnalyticsController {
48
48
  utmContent: attributes.utmContent,
49
49
  visitorId: attributes.visitorId,
50
50
  screenWidth: attributes.screenWidth,
51
+ consentGranted: attributes.consentGranted,
51
52
  clientIp: this._clientIp(request),
52
53
  userAgent: this._header(request.headers["user-agent"]) ?? "",
53
54
  userId: request.user?.userId,
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.controller.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/controllers/analytics.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8F;AAC9F,iDAA6C;AAE7C,4FAAsF;AACtF,+EAAyE;AACzE,2EAAsE;AAEtE,qEAAiE;AACjE,kFAAwE;AACxE,+EAAyE;AAEzE;;;;;;;;;GASG;AAGI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAA6B,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAG,CAAC;IAM7D,AAAN,KAAK,CAAC,KAAK,CACF,OAA0E,EACzE,IAA2B;QAEnC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAExC,MAAM,KAAK,GAA2B;YACpC,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;YAC5D,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM;YAC5B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;QAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACK,SAAS,CAAC,OAAuB;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAClD,OAAO,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC;IAChC,CAAC;IAEO,OAAO,CAAC,KAAoC;QAClD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACjD,CAAC;CACF,CAAA;AA9CY,kDAAmB;AAOxB;IAJL,IAAA,aAAI,EAAC,yCAAkB,CAAC,QAAQ,CAAC;IACjC,IAAA,kBAAS,EAAC,8CAAoB,CAAC;IAC/B,IAAA,oBAAQ,EAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;IAC/E,IAAA,iBAAQ,EAAC,mBAAU,CAAC,QAAQ,CAAC;IAE3B,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,gDAAqB;;gDAsBpC;8BA/BU,mBAAmB;IAF/B,IAAA,4BAAS,EAAC,EAAE,MAAM,EAAE,8BAAY,CAAC,SAAS,EAAE,CAAC;IAC7C,IAAA,mBAAU,GAAE;qCAEoC,oCAAgB;GADpD,mBAAmB,CA8C/B"}
1
+ {"version":3,"file":"analytics.controller.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/controllers/analytics.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8F;AAC9F,iDAA6C;AAE7C,4FAAsF;AACtF,+EAAyE;AACzE,2EAAsE;AAEtE,qEAAiE;AACjE,kFAAwE;AACxE,+EAAyE;AAEzE;;;;;;;;;GASG;AAGI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAA6B,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAG,CAAC;IAM7D,AAAN,KAAK,CAAC,KAAK,CACF,OAA0E,EACzE,IAA2B;QAEnC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAExC,MAAM,KAAK,GAA2B;YACpC,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;YAC5D,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM;YAC5B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;QAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACK,SAAS,CAAC,OAAuB;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAClD,OAAO,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC;IAChC,CAAC;IAEO,OAAO,CAAC,KAAoC;QAClD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACjD,CAAC;CACF,CAAA;AA/CY,kDAAmB;AAOxB;IAJL,IAAA,aAAI,EAAC,yCAAkB,CAAC,QAAQ,CAAC;IACjC,IAAA,kBAAS,EAAC,8CAAoB,CAAC;IAC/B,IAAA,oBAAQ,EAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;IAC/E,IAAA,iBAAQ,EAAC,mBAAU,CAAC,QAAQ,CAAC;IAE3B,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,gDAAqB;;gDAuBpC;8BAhCU,mBAAmB;IAF/B,IAAA,4BAAS,EAAC,EAAE,MAAM,EAAE,8BAAY,CAAC,SAAS,EAAE,CAAC;IAC7C,IAAA,mBAAU,GAAE;qCAEoC,oCAAgB;GADpD,mBAAmB,CA+C/B"}
@@ -9,6 +9,7 @@ export declare class AnalyticsEventPostAttributesDTO {
9
9
  utmContent?: string;
10
10
  visitorId?: string;
11
11
  screenWidth?: number;
12
+ consentGranted?: boolean;
12
13
  }
13
14
  export declare class AnalyticsEventPostDataDTO {
14
15
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-event.post.dto.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/dtos/analytics-event.post.dto.ts"],"names":[],"mappings":"AAgBA,qBAAa,+BAA+B;IAK1C,IAAI,EAAE,MAAM,CAAC;IAIb,OAAO,EAAE,QAAQ,GAAG,KAAK,CAAC;IAK1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,OAAO,CAAC,EAAE,MAAM,CAAC;IAKjB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,yBAAyB;IAEpC,IAAI,EAAE,MAAM,CAAC;IAIb,EAAE,CAAC,EAAE,MAAM,CAAC;IAKZ,UAAU,EAAE,+BAA+B,CAAC;CAC7C;AAED,qBAAa,qBAAqB;IAIhC,IAAI,EAAE,yBAAyB,CAAC;CACjC"}
1
+ {"version":3,"file":"analytics-event.post.dto.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/dtos/analytics-event.post.dto.ts"],"names":[],"mappings":"AAiBA,qBAAa,+BAA+B;IAK1C,IAAI,EAAE,MAAM,CAAC;IAIb,OAAO,EAAE,QAAQ,GAAG,KAAK,CAAC;IAK1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,OAAO,CAAC,EAAE,MAAM,CAAC;IAKjB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,yBAAyB;IAEpC,IAAI,EAAE,MAAM,CAAC;IAIb,EAAE,CAAC,EAAE,MAAM,CAAC;IAKZ,UAAU,EAAE,+BAA+B,CAAC;CAC7C;AAED,qBAAa,qBAAqB;IAIhC,IAAI,EAAE,yBAAyB,CAAC;CACjC"}
@@ -75,6 +75,11 @@ __decorate([
75
75
  (0, class_validator_1.Min)(0),
76
76
  __metadata("design:type", Number)
77
77
  ], AnalyticsEventPostAttributesDTO.prototype, "screenWidth", void 0);
78
+ __decorate([
79
+ (0, class_validator_1.IsOptional)(),
80
+ (0, class_validator_1.IsBoolean)(),
81
+ __metadata("design:type", Boolean)
82
+ ], AnalyticsEventPostAttributesDTO.prototype, "consentGranted", void 0);
78
83
  class AnalyticsEventPostDataDTO {
79
84
  }
80
85
  exports.AnalyticsEventPostDataDTO = AnalyticsEventPostDataDTO;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-event.post.dto.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/dtos/analytics-event.post.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAYyB;AACzB,2EAAsE;AAEtE,MAAa,+BAA+B;CAiD3C;AAjDD,0EAiDC;AA5CC;IAJC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,IAAI,CAAC;;6DACH;AAIb;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,sBAAI,EAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;;gEACE;AAK1B;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,IAAI,CAAC;;iEACE;AAKlB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;kEACI;AAKnB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;kEACI;AAKnB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;oEACM;AAKrB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;gEACE;AAKjB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;mEACK;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;kEACU;AAKnB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;oEACc;AAGvB,MAAa,yBAAyB;CAYrC;AAZD,8DAYC;AAVC;IADC,IAAA,wBAAM,EAAC,yCAAkB,CAAC,IAAI,CAAC;;uDACnB;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;qDACG;AAKZ;IAHC,IAAA,gCAAc,GAAE;IAChB,IAAA,2BAAS,GAAE;IACX,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC;8BAChC,+BAA+B;6DAAC;AAG9C,MAAa,qBAAqB;CAKjC;AALD,sDAKC;AADC;IAHC,IAAA,gCAAc,GAAE;IAChB,IAAA,2BAAS,GAAE;IACX,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC;8BAChC,yBAAyB;mDAAC"}
1
+ {"version":3,"file":"analytics-event.post.dto.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/dtos/analytics-event.post.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAayB;AACzB,2EAAsE;AAEtE,MAAa,+BAA+B;CAqD3C;AArDD,0EAqDC;AAhDC;IAJC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,IAAI,CAAC;;6DACH;AAIb;IAFC,IAAA,2BAAS,GAAE;IACX,IAAA,sBAAI,EAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;;gEACE;AAK1B;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,IAAI,CAAC;;iEACE;AAKlB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;kEACI;AAKnB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;kEACI;AAKnB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;oEACM;AAKrB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;gEACE;AAKjB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;mEACK;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;kEACU;AAKnB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;oEACc;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;uEACa;AAG3B,MAAa,yBAAyB;CAYrC;AAZD,8DAYC;AAVC;IADC,IAAA,wBAAM,EAAC,yCAAkB,CAAC,IAAI,CAAC;;uDACnB;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;qDACG;AAKZ;IAHC,IAAA,gCAAc,GAAE;IAChB,IAAA,2BAAS,GAAE;IACX,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC;8BAChC,+BAA+B;6DAAC;AAG9C,MAAa,qBAAqB;CAKjC;AALD,sDAKC;AADC;IAHC,IAAA,gCAAc,GAAE;IAChB,IAAA,2BAAS,GAAE;IACX,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC;8BAChC,yBAAyB;mDAAC"}
@@ -70,8 +70,10 @@ export interface AnalyticsModuleConfig {
70
70
  */
71
71
  excludedRoleIds?: string[];
72
72
  /**
73
- * User ids whose page views are never recorded. Dropped before the queue,
74
- * exactly like `excludedRoleIds`.
73
+ * User ids whose app page views are never recorded (dropped before the
74
+ * queue). Their public page views are counted as anonymous, with no user
75
+ * link: a login shared by many visitors, such as an embedded demo, must not
76
+ * hide the visitors behind it.
75
77
  *
76
78
  * Not read from env: set it through `bootstrap({ analytics })`.
77
79
  *
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.config.interface.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/interfaces/analytics.config.interface.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,qBAAqB,CAQpE,CAAC"}
1
+ {"version":3,"file":"analytics.config.interface.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/interfaces/analytics.config.interface.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,qBAAqB,CAQpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.config.interface.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/interfaces/analytics.config.interface.ts"],"names":[],"mappings":";;;AAAA,6DAAyD;AA0FzD;;;GAGG;AACU,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE3D;;;;;;GAMG;AACU,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAEzD;;GAEG;AACU,QAAA,wBAAwB,GAAoC;IACvE,OAAO,EAAE,KAAK;IACd,eAAe,EAAE,EAAE;IACnB,qBAAqB,EAAE,EAAE;IACzB,OAAO,EAAE,kBAAO,CAAC,SAAS;IAC1B,OAAO,EAAE,oBAAoB;IAC7B,eAAe,EAAE,EAAE;IACnB,eAAe,EAAE,EAAE;CACpB,CAAC"}
1
+ {"version":3,"file":"analytics.config.interface.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/interfaces/analytics.config.interface.ts"],"names":[],"mappings":";;;AAAA,6DAAyD;AA4FzD;;;GAGG;AACU,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE3D;;;;;;GAMG;AACU,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAEzD;;GAEG;AACU,QAAA,wBAAwB,GAAoC;IACvE,OAAO,EAAE,KAAK;IACd,eAAe,EAAE,EAAE;IACnB,qBAAqB,EAAE,EAAE;IACzB,OAAO,EAAE,kBAAO,CAAC,SAAS;IAC1B,OAAO,EAAE,oBAAoB;IAC7B,eAAe,EAAE,EAAE;IACnB,eAAe,EAAE,EAAE;CACpB,CAAC"}
@@ -18,6 +18,8 @@ export interface AnalyticsPageViewInput {
18
18
  /** UUID from the consent cookie; absent when the visitor has not consented. */
19
19
  visitorId?: string;
20
20
  screenWidth?: number;
21
+ /** True only on the event sent when the visitor clicks Accept. */
22
+ consentGranted?: boolean;
21
23
  /** First `X-Forwarded-For` hop or `request.ip`. Hashed in the worker, never stored. */
22
24
  clientIp: string;
23
25
  /** Hashed and classified in the worker, never stored. */
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.page-view.input.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/interfaces/analytics.page-view.input.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"analytics.page-view.input.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/interfaces/analytics.page-view.input.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uFAAuF;IACvF,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -26,5 +26,11 @@ export interface AnalyticsResolvedPageView {
26
26
  /** ISO instant; becomes the page view's `createdAt` and the session's `lastSeenAt`. */
27
27
  receivedAt: string;
28
28
  sessionTimeoutMinutes: number;
29
+ /**
30
+ * The visitor's `d:` id, only on the Accept event; its open session is moved
31
+ * to `visitorId`. Optional so existing callers of this exported interface
32
+ * keep compiling; the repository binds `null` when absent.
33
+ */
34
+ adoptVisitorId?: string | null;
29
35
  }
30
36
  //# sourceMappingURL=analytics.resolved-page-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.resolved-page-view.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/interfaces/analytics.resolved-page-view.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC1B,mFAAmF;IACnF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,uFAAuF;IACvF,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;CAC/B"}
1
+ {"version":3,"file":"analytics.resolved-page-view.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/interfaces/analytics.resolved-page-view.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC1B,mFAAmF;IACnF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,uFAAuF;IACvF,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.processor.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/processors/analytics.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAoB,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAQrF;;;;;;;;;;GAUG;AACH,qBACa,kBAAmB,SAAQ,UAAU;IAK9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAG5B,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,0BAA0B,EACtC,UAAU,EAAE,yBAAyB,EACrC,GAAG,EAAE,UAAU,EACN,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC;IAQnE,OAAO,CAAC,GAAG,EAAE,GAAG;IAIV,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD9D,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,YAAY;CAQrB"}
1
+ {"version":3,"file":"analytics.processor.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/processors/analytics.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAoB,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAQrF;;;;;;;;;;GAUG;AACH,qBACa,kBAAmB,SAAQ,UAAU;IAK9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAG5B,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,0BAA0B,EACtC,UAAU,EAAE,yBAAyB,EACrC,GAAG,EAAE,UAAU,EACN,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC;IAQnE,OAAO,CAAC,GAAG,EAAE,GAAG;IAIV,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA4D9D,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,YAAY;CAQrB"}
@@ -70,6 +70,15 @@ let AnalyticsProcessor = class AnalyticsProcessor extends bullmq_1.WorkerHost {
70
70
  userAgent: input.userAgent,
71
71
  receivedAt: input.receivedAt,
72
72
  });
73
+ // On the Accept event the visitor may already have an open session under
74
+ // their cookieless id: hand that id over so the repository can adopt it.
75
+ const adoptVisitorId = input.consentGranted === true && input.visitorId
76
+ ? await this.visitorIds.dailyVisitorId({
77
+ clientIp: input.clientIp,
78
+ userAgent: input.userAgent,
79
+ receivedAt: input.receivedAt,
80
+ })
81
+ : null;
73
82
  const resolved = {
74
83
  visitorId,
75
84
  consented,
@@ -86,6 +95,7 @@ let AnalyticsProcessor = class AnalyticsProcessor extends bullmq_1.WorkerHost {
86
95
  userId: input.userId ?? null,
87
96
  receivedAt: input.receivedAt,
88
97
  sessionTimeoutMinutes: this.sessionTimeoutMinutes,
98
+ adoptVisitorId,
89
99
  };
90
100
  const { sessionId, created } = await this.repository.recordPageView(resolved);
91
101
  this.logger.debug(`analytics pageView visitor=${visitorId} session=${sessionId} created=${created}`);
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.processor.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/processors/analytics.processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.processor.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/processors/analytics.processor.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,12 @@ export declare class AnalyticsSessionRepository extends AbstractRepository<Analy
41
41
  * pageViews; then create the page view and, when the event carries a user
42
42
  * and the session has none yet, the BY_USER edge.
43
43
  *
44
+ * On the Accept event (adoptVisitorId set) with no open session for the
45
+ * cookie id, the visitor's open cookieless session is adopted instead of
46
+ * creating one: it is re-keyed to the cookie id and marked consented. The
47
+ * re-sent page is skipped when it equals the adopted session's latest page
48
+ * view, so the page the visitor accepted on is not counted twice.
49
+ *
44
50
  * The new session id is generated here, so `created` is simply whether the
45
51
  * returned session carries it. The session is returned through the
46
52
  * descriptor serialiser (writeOne + serialiser), never as a raw record.
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-session.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/repositories/analytics-session.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAE7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAavF;;;;;;;;;;GAUG;AACH,qBACa,0BAA2B,SAAQ,kBAAkB,CAChE,gBAAgB,EAChB,OAAO,0BAA0B,CAAC,aAAa,CAChD;IACC,SAAS,CAAC,QAAQ,CAAC,UAAU;;;;;;;;;OAA8B;gBAE/C,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU;IAIzF;;;;OAIG;IACY,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5C;;;;;;;;;;OAUG;IACG,cAAc,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IA+ExG;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,MAAM,EAAE,sBAAsB,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;QAClC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA8B/B;;;;;;OAMG;IACG,SAAS,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA+B3F,8FAA8F;IACxF,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAe3C,6FAA6F;IACvF,eAAe,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAkBrE,gBAAgB;CAc/B"}
1
+ {"version":3,"file":"analytics-session.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/repositories/analytics-session.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAE7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAavF;;;;;;;;;;GAUG;AACH,qBACa,0BAA2B,SAAQ,kBAAkB,CAChE,gBAAgB,EAChB,OAAO,0BAA0B,CAAC,aAAa,CAChD;IACC,SAAS,CAAC,QAAQ,CAAC,UAAU;;;;;;;;;OAA8B;gBAE/C,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU;IAIzF;;;;OAIG;IACY,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5C;;;;;;;;;;;;;;;;OAgBG;IACG,cAAc,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAkGxG;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,MAAM,EAAE,sBAAsB,CAAC;QAC/B,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;QAClC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA8B/B;;;;;;OAMG;IACG,SAAS,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA+B3F,8FAA8F;IACxF,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAe3C,6FAA6F;IACvF,eAAe,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAkBrE,gBAAgB;CAc/B"}
@@ -69,6 +69,12 @@ let AnalyticsSessionRepository = class AnalyticsSessionRepository extends abstra
69
69
  * pageViews; then create the page view and, when the event carries a user
70
70
  * and the session has none yet, the BY_USER edge.
71
71
  *
72
+ * On the Accept event (adoptVisitorId set) with no open session for the
73
+ * cookie id, the visitor's open cookieless session is adopted instead of
74
+ * creating one: it is re-keyed to the cookie id and marked consented. The
75
+ * re-sent page is skipped when it equals the adopted session's latest page
76
+ * view, so the page the visitor accepted on is not counted twice.
77
+ *
72
78
  * The new session id is generated here, so `created` is simply whether the
73
79
  * returned session carries it. The session is returned through the
74
80
  * descriptor serialiser (writeOne + serialiser), never as a raw record.
@@ -96,6 +102,7 @@ let AnalyticsSessionRepository = class AnalyticsSessionRepository extends abstra
96
102
  userId: input.userId ?? null,
97
103
  receivedAt: input.receivedAt,
98
104
  sessionTimeoutMinutes: input.sessionTimeoutMinutes,
105
+ adoptVisitorId: input.adoptVisitorId ?? null,
99
106
  ...this.getPolyLabelParams(),
100
107
  };
101
108
  query.query = `
@@ -104,7 +111,19 @@ let AnalyticsSessionRepository = class AnalyticsSessionRepository extends abstra
104
111
  WITH openSession
105
112
  ORDER BY openSession.lastSeenAt DESC
106
113
  LIMIT 1
107
- MERGE (${nodeName}:${labelName} {id: coalesce(openSession.id, $newSessionId)})
114
+ OPTIONAL MATCH (adopted:${labelName})
115
+ WHERE openSession IS NULL AND $adoptVisitorId IS NOT NULL
116
+ AND adopted.visitorId = $adoptVisitorId
117
+ AND adopted.lastSeenAt >= datetime($receivedAt) - duration({minutes: $sessionTimeoutMinutes})
118
+ WITH openSession, adopted
119
+ ORDER BY adopted.lastSeenAt DESC
120
+ LIMIT 1
121
+ OPTIONAL MATCH (lastView:${analytics_page_view_meta_1.analyticsPageViewMeta.labelName})-[:IN_SESSION]->(adopted)
122
+ WITH openSession, adopted, lastView
123
+ ORDER BY lastView.createdAt DESC
124
+ LIMIT 1
125
+ WITH openSession, adopted, lastView.path AS lastPath
126
+ MERGE (${nodeName}:${labelName} {id: coalesce(openSession.id, adopted.id, $newSessionId)})
108
127
  ON CREATE SET ${nodeName} += {
109
128
  visitorId: $visitorId,
110
129
  consented: $consented,
@@ -122,16 +141,22 @@ let AnalyticsSessionRepository = class AnalyticsSessionRepository extends abstra
122
141
  createdAt: datetime($receivedAt)
123
142
  }
124
143
  SET ${nodeName}.lastSeenAt = datetime($receivedAt),
125
- ${nodeName}.pageViews = ${nodeName}.pageViews + 1,
126
144
  ${nodeName}.updatedAt = datetime($receivedAt)
127
- CREATE (${analytics_page_view_meta_1.analyticsPageViewMeta.nodeName}:${analytics_page_view_meta_1.analyticsPageViewMeta.labelName} {
128
- id: $pageViewId,
129
- path: $path,
130
- route: $route,
131
- section: $section,
132
- createdAt: datetime($receivedAt),
133
- updatedAt: datetime($receivedAt)
134
- })-[:IN_SESSION]->(${nodeName})
145
+ FOREACH (_ IN CASE WHEN adopted IS NOT NULL THEN [1] ELSE [] END |
146
+ SET ${nodeName}.visitorId = $visitorId, ${nodeName}.consented = true
147
+ )
148
+ WITH ${nodeName}, adopted IS NOT NULL AND coalesce(lastPath = $path, false) AS repeatedView
149
+ FOREACH (_ IN CASE WHEN repeatedView THEN [] ELSE [1] END |
150
+ SET ${nodeName}.pageViews = ${nodeName}.pageViews + 1
151
+ CREATE (${analytics_page_view_meta_1.analyticsPageViewMeta.nodeName}:${analytics_page_view_meta_1.analyticsPageViewMeta.labelName} {
152
+ id: $pageViewId,
153
+ path: $path,
154
+ route: $route,
155
+ section: $section,
156
+ createdAt: datetime($receivedAt),
157
+ updatedAt: datetime($receivedAt)
158
+ })-[:IN_SESSION]->(${nodeName})
159
+ )
135
160
  WITH ${nodeName}
136
161
  OPTIONAL MATCH (${user_meta_1.userMeta.nodeName}:${user_meta_1.userMeta.labelName} {id: $userId})
137
162
  WITH ${nodeName}, ${user_meta_1.userMeta.nodeName}
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-session.repository.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/repositories/analytics-session.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics-session.repository.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/repositories/analytics-session.repository.ts"],"names":[],"mappings":"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"}
@@ -28,13 +28,14 @@ export declare class AnalyticsService extends AbstractService<AnalyticsSession,
28
28
  * Enqueue a page view for async write. Never throws — analytics must not
29
29
  * break the caller's request path.
30
30
  *
31
- * A page view from an excluded user id, or from a caller holding any
32
- * excluded role, is dropped before the queue. The roles only decide the
33
- * drop; they are not added to the job.
31
+ * A page view from a caller holding any excluded role is dropped before the
32
+ * queue. A page view from an excluded user id is dropped on app pages; on
33
+ * public pages it is counted as anonymous (no user link), because a shared
34
+ * login such as an embedded demo must not hide the visitor behind it. The
35
+ * roles only decide the drop; they are not added to the job.
34
36
  */
35
37
  track(input: AnalyticsPageViewInput, options?: {
36
38
  roles?: string[];
37
39
  }): Promise<void>;
38
- private _isExcluded;
39
40
  }
40
41
  //# sourceMappingURL=analytics.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/services/analytics.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAqC,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACpH,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAE1F,qBACa,gBAAiB,SAAQ,eAAe,CACnD,gBAAgB,EAChB,OAAO,0BAA0B,CAAC,aAAa,CAChD;IAU4B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,SAAS,CAAC,QAAQ,CAAC,UAAU;;;;;;;;;OAA8B;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;gBAG5C,cAAc,EAAE,cAAc,EAC9B,0BAA0B,EAAE,0BAA0B,EACtD,UAAU,EAAE,UAAU,EACoB,KAAK,EAAE,KAAK,EACrC,MAAM,EAAE,iBAAiB,EAChB,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC;IAQnE;;;;;;;OAOG;IACG,KAAK,CAAC,KAAK,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAczF,OAAO,CAAC,WAAW;CAIpB"}
1
+ {"version":3,"file":"analytics.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/services/analytics.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAqC,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACpH,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAE1F,qBACa,gBAAiB,SAAQ,eAAe,CACnD,gBAAgB,EAChB,OAAO,0BAA0B,CAAC,aAAa,CAChD;IAU4B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,SAAS,CAAC,QAAQ,CAAC,UAAU;;;;;;;;;OAA8B;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;gBAG5C,cAAc,EAAE,cAAc,EAC9B,0BAA0B,EAAE,0BAA0B,EACtD,UAAU,EAAE,UAAU,EACoB,KAAK,EAAE,KAAK,EACrC,MAAM,EAAE,iBAAiB,EAChB,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC;IAQnE;;;;;;;;;OASG;IACG,KAAK,CAAC,KAAK,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAsB1F"}
@@ -36,28 +36,32 @@ let AnalyticsService = class AnalyticsService extends abstract_service_1.Abstrac
36
36
  * Enqueue a page view for async write. Never throws — analytics must not
37
37
  * break the caller's request path.
38
38
  *
39
- * A page view from an excluded user id, or from a caller holding any
40
- * excluded role, is dropped before the queue. The roles only decide the
41
- * drop; they are not added to the job.
39
+ * A page view from a caller holding any excluded role is dropped before the
40
+ * queue. A page view from an excluded user id is dropped on app pages; on
41
+ * public pages it is counted as anonymous (no user link), because a shared
42
+ * login such as an embedded demo must not hide the visitor behind it. The
43
+ * roles only decide the drop; they are not added to the job.
42
44
  */
43
45
  async track(input, options) {
44
- if (this._isExcluded(input.userId, options?.roles)) {
46
+ const hasExcludedRole = (options?.roles ?? []).some((roleId) => this.excludedRoleIds.has(roleId));
47
+ const isExcludedUser = !!input.userId && this.excludedUserIds.has(input.userId);
48
+ if (hasExcludedRole || (isExcludedUser && input.section === "app")) {
45
49
  // Path only: raw IP and user agent must not reach the logs.
46
50
  this.logger.debug(`analytics pageView dropped reason=excluded path=${input.path}`);
47
51
  return;
48
52
  }
53
+ let job = input;
54
+ if (isExcludedUser) {
55
+ const { userId: _userId, ...anonymous } = input;
56
+ job = anonymous;
57
+ }
49
58
  try {
50
- await this.queue.add(this.jobName, input);
59
+ await this.queue.add(this.jobName, job);
51
60
  }
52
61
  catch (err) {
53
62
  this.logger.error(`AnalyticsService.track enqueue failed: ${err instanceof Error ? err.message : String(err)}`);
54
63
  }
55
64
  }
56
- _isExcluded(userId, roles) {
57
- if (userId && this.excludedUserIds.has(userId))
58
- return true;
59
- return (roles ?? []).some((roleId) => this.excludedRoleIds.has(roleId));
60
- }
61
65
  };
62
66
  exports.AnalyticsService = AnalyticsService;
63
67
  exports.AnalyticsService = AnalyticsService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.service.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/services/analytics.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,mCAA+B;AAC/B,2CAAwC;AACxC,oFAAgF;AAChF,oFAAmF;AACnF,qFAAiF;AACjF,qEAA6F;AAC7F,yFAAoH;AAEpH,+FAA0F;AAGnF,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,kCAGrC;IAMC,YACE,cAA8B,EAC9B,0BAAsD,EACtD,UAAsB,EACG,KAA6B,EACrC,MAAyB,EAChB,MAAuC;QAEjE,KAAK,CAAC,cAAc,EAAE,0BAA0B,EAAE,UAAU,EAAE,8CAA0B,CAAC,KAAK,CAAC,CAAC;QAJtD,UAAK,GAAL,KAAK,CAAO;QACrC,WAAM,GAAN,MAAM,CAAmB;QAVzB,eAAU,GAAG,8CAA0B,CAAC;QAczD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,KAA6B,EAAE,OAA8B;QACvE,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YACnD,4DAA4D;YAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,MAA0B,EAAE,KAA2B;QACzE,IAAI,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5D,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,CAAC;CACF,CAAA;AAjDY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAcR,WAAA,IAAA,eAAM,EAAC,4CAAe,CAAC,CAAA;IAEvB,WAAA,IAAA,eAAM,EAAC,6CAAgB,CAAC,CAAA;qCALT,gCAAc;QACF,yDAA0B;QAC1C,uBAAU;QAC2B,cAAK;QAC7B,mCAAiB;GAdjC,gBAAgB,CAiD5B"}
1
+ {"version":3,"file":"analytics.service.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/services/analytics.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,mCAA+B;AAC/B,2CAAwC;AACxC,oFAAgF;AAChF,oFAAmF;AACnF,qFAAiF;AACjF,qEAA6F;AAC7F,yFAAoH;AAEpH,+FAA0F;AAGnF,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,kCAGrC;IAMC,YACE,cAA8B,EAC9B,0BAAsD,EACtD,UAAsB,EACG,KAA6B,EACrC,MAAyB,EAChB,MAAuC;QAEjE,KAAK,CAAC,cAAc,EAAE,0BAA0B,EAAE,UAAU,EAAE,8CAA0B,CAAC,KAAK,CAAC,CAAC;QAJtD,UAAK,GAAL,KAAK,CAAO;QACrC,WAAM,GAAN,MAAM,CAAmB;QAVzB,eAAU,GAAG,8CAA0B,CAAC;QAczD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,CAAC,KAA6B,EAAE,OAA8B;QACvE,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAClG,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEhF,IAAI,eAAe,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC;YACnE,4DAA4D;YAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;YAChD,GAAG,GAAG,SAAS,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;CACF,CAAA;AAvDY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAcR,WAAA,IAAA,eAAM,EAAC,4CAAe,CAAC,CAAA;IAEvB,WAAA,IAAA,eAAM,EAAC,6CAAgB,CAAC,CAAA;qCALT,gCAAc;QACF,yDAA0B;QAC1C,uBAAU;QAC2B,cAAK;QAC7B,mCAAiB;GAdjC,gBAAgB,CAuD5B"}
@@ -29,6 +29,16 @@ export declare class AnalyticsVisitorIdService {
29
29
  visitorId: string;
30
30
  consented: boolean;
31
31
  }>;
32
+ /**
33
+ * The cookieless `d:` id for this IP and user agent on the day of
34
+ * `receivedAt`. Also used on the Accept event, so the worker can find the
35
+ * session the visitor opened before consenting.
36
+ */
37
+ dailyVisitorId(input: {
38
+ clientIp: string;
39
+ userAgent: string;
40
+ receivedAt: string;
41
+ }): Promise<string>;
32
42
  dailySalt(day: string): Promise<string>;
33
43
  }
34
44
  //# sourceMappingURL=analytics.visitor-id.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.visitor-id.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/services/analytics.visitor-id.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2DAA2D,CAAC;AAEtG,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAWrC;;;;;;;;;GASG;AACH,qBACa,yBAAyB;IAKlC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAG7B,KAAK,EAAE,yBAAyB,EAChC,MAAM,EAAE,iBAAiB;IAG5C,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIjC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ;IAOxD,OAAO,CAAC,KAAK,EAAE;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAWhD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA0B9C"}
1
+ {"version":3,"file":"analytics.visitor-id.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/analytics/services/analytics.visitor-id.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2DAA2D,CAAC;AAEtG,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAWrC;;;;;;;;;GASG;AACH,qBACa,yBAAyB;IAKlC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAG7B,KAAK,EAAE,yBAAyB,EAChC,MAAM,EAAE,iBAAiB;IAG5C,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIjC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ;IAOxD,OAAO,CAAC,KAAK,EAAE;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAMtD;;;;OAIG;IACG,cAAc,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IASnG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA0B9C"}
@@ -54,11 +54,19 @@ let AnalyticsVisitorIdService = AnalyticsVisitorIdService_1 = class AnalyticsVis
54
54
  async resolve(input) {
55
55
  if (input.visitorId)
56
56
  return { visitorId: `${exports.COOKIE_ID_PREFIX}${input.visitorId}`, consented: true };
57
+ return { visitorId: await this.dailyVisitorId(input), consented: false };
58
+ }
59
+ /**
60
+ * The cookieless `d:` id for this IP and user agent on the day of
61
+ * `receivedAt`. Also used on the Accept event, so the worker can find the
62
+ * session the visitor opened before consenting.
63
+ */
64
+ async dailyVisitorId(input) {
57
65
  const salt = await this.dailySalt(input.receivedAt.slice(0, 10));
58
66
  const hash = (0, crypto_1.createHash)("sha256")
59
67
  .update(salt + input.clientIp + input.userAgent)
60
68
  .digest("hex");
61
- return { visitorId: `${exports.DAILY_HASH_PREFIX}${hash}`, consented: false };
69
+ return `${exports.DAILY_HASH_PREFIX}${hash}`;
62
70
  }
63
71
  async dailySalt(day) {
64
72
  const key = `${SALT_KEY_PREFIX}${day}`;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.visitor-id.service.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/services/analytics.visitor-id.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.visitor-id.service.js","sourceRoot":"","sources":["../../../../src/foundations/analytics/services/analytics.visitor-id.service.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ import { BillingModuleConfig } from "./interfaces/billing.config.interface";
6
6
  * - `BILLING_CONFIG` (global): the resolved settings every billing service reads
7
7
  * - `BillingLifecycleCron` (worker only): hourly card-expiry check
8
8
  * - `BillingEmailProcessor` (worker only, opt-in): the library billing email sender on `QueueId.EMAIL`
9
+ * - `CreditWarningService` + `CreditWarningController`: the credit warning (always
10
+ * provided; every method is a no-op unless `billing.creditWarning.enabled`)
9
11
  *
10
12
  * Always mounted by `FoundationsModule`.
11
13
  *
@@ -1 +1 @@
1
- {"version":3,"file":"billing.module.d.ts","sourceRoot":"","sources":["../../../src/foundations/billing/billing.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAQjE,OAAO,EAAkB,mBAAmB,EAAwB,MAAM,uCAAuC,CAAC;AAIlH;;;;;;;;;;;;;;GAcG;AACH,qBACa,aAAa;IACxB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,aAAa;CA2B5D"}
1
+ {"version":3,"file":"billing.module.d.ts","sourceRoot":"","sources":["../../../src/foundations/billing/billing.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAWjE,OAAO,EAAkB,mBAAmB,EAAwB,MAAM,uCAAuC,CAAC;AAKlH;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,aAAa;IACxB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,aAAa;CA+B5D"}
@@ -13,19 +13,25 @@ const common_1 = require("@nestjs/common");
13
13
  const conditional_service_decorator_1 = require("../../common/decorators/conditional-service.decorator");
14
14
  const queue_id_1 = require("../../config/enums/queue.id");
15
15
  const email_module_1 = require("../../core/email/email.module");
16
+ const company_module_1 = require("../company/company.module");
17
+ const stripe_price_module_1 = require("../stripe-price/stripe-price.module");
16
18
  const stripe_customer_module_1 = require("../stripe-customer/stripe-customer.module");
17
19
  const stripe_subscription_module_1 = require("../stripe-subscription/stripe-subscription.module");
18
20
  const stripe_webhook_module_1 = require("../stripe-webhook/stripe-webhook.module");
21
+ const credit_warning_controller_1 = require("./controllers/credit-warning.controller");
19
22
  const billing_lifecycle_cron_1 = require("./cron/billing-lifecycle.cron");
20
23
  const billing_config_interface_1 = require("./interfaces/billing.config.interface");
21
24
  const billing_email_processor_1 = require("./processors/billing-email.processor");
22
25
  const card_expiry_warning_service_1 = require("./services/card-expiry-warning.service");
26
+ const credit_warning_service_1 = require("./services/credit-warning.service");
23
27
  /**
24
28
  * BillingModule — per-app billing settings and billing housekeeping.
25
29
  *
26
30
  * - `BILLING_CONFIG` (global): the resolved settings every billing service reads
27
31
  * - `BillingLifecycleCron` (worker only): hourly card-expiry check
28
32
  * - `BillingEmailProcessor` (worker only, opt-in): the library billing email sender on `QueueId.EMAIL`
33
+ * - `CreditWarningService` + `CreditWarningController`: the credit warning (always
34
+ * provided; every method is a no-op unless `billing.creditWarning.enabled`)
29
35
  *
30
36
  * Always mounted by `FoundationsModule`.
31
37
  *
@@ -53,13 +59,17 @@ let BillingModule = BillingModule_1 = class BillingModule {
53
59
  imports: [
54
60
  bullmq_1.BullModule.registerQueue({ name: queue_id_1.QueueId.EMAIL }),
55
61
  email_module_1.EmailModule,
62
+ company_module_1.CompanyModule,
63
+ stripe_price_module_1.StripePriceModule,
56
64
  stripe_subscription_module_1.StripeSubscriptionModule,
57
65
  stripe_customer_module_1.StripeCustomerModule,
58
66
  stripe_webhook_module_1.StripeWebhookModule,
59
67
  ],
68
+ controllers: [credit_warning_controller_1.CreditWarningController],
60
69
  providers: [
61
70
  configProvider,
62
71
  card_expiry_warning_service_1.CardExpiryWarningService,
72
+ credit_warning_service_1.CreditWarningService,
63
73
  (0, conditional_service_decorator_1.createWorkerProvider)(billing_lifecycle_cron_1.BillingLifecycleCron),
64
74
  ...(resolved.emailSender.enabled ? [(0, conditional_service_decorator_1.createWorkerProvider)(billing_email_processor_1.BillingEmailProcessor)] : []),
65
75
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"billing.module.js","sourceRoot":"","sources":["../../../src/foundations/billing/billing.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAAiE;AACjE,yGAA6F;AAC7F,0DAAsD;AACtD,gEAA4D;AAC5D,sFAAiF;AACjF,kGAA6F;AAC7F,mFAA8E;AAC9E,0EAAqE;AACrE,oFAAkH;AAClH,kFAA6E;AAC7E,wFAAkF;AAElF;;;;;;;;;;;;;;GAcG;AAEI,IAAM,aAAa,qBAAnB,MAAM,aAAa;IACxB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAA4B;QACzC,MAAM,QAAQ,GAAG,IAAA,+CAAoB,EAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,cAAc,GAAa;YAC/B,OAAO,EAAE,yCAAc;YACvB,QAAQ,EAAE,QAAQ;SACnB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,eAAa;YACrB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE;gBACP,mBAAU,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAO,CAAC,KAAK,EAAE,CAAC;gBACjD,0BAAW;gBACX,qDAAwB;gBACxB,6CAAoB;gBACpB,2CAAmB;aACpB;YACD,SAAS,EAAE;gBACT,cAAc;gBACd,sDAAwB;gBACxB,IAAA,oDAAoB,EAAC,6CAAoB,CAAC;gBAC1C,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,oDAAoB,EAAC,+CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACvF;YACD,OAAO,EAAE,CAAC,yCAAc,CAAC;SAC1B,CAAC;IACJ,CAAC;CACF,CAAA;AAjCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,aAAa,CAiCzB"}
1
+ {"version":3,"file":"billing.module.js","sourceRoot":"","sources":["../../../src/foundations/billing/billing.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAAiE;AACjE,yGAA6F;AAC7F,0DAAsD;AACtD,gEAA4D;AAC5D,8DAA0D;AAC1D,6EAAwE;AACxE,sFAAiF;AACjF,kGAA6F;AAC7F,mFAA8E;AAC9E,uFAAkF;AAClF,0EAAqE;AACrE,oFAAkH;AAClH,kFAA6E;AAC7E,wFAAkF;AAClF,8EAAyE;AAEzE;;;;;;;;;;;;;;;;GAgBG;AAEI,IAAM,aAAa,qBAAnB,MAAM,aAAa;IACxB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAA4B;QACzC,MAAM,QAAQ,GAAG,IAAA,+CAAoB,EAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,cAAc,GAAa;YAC/B,OAAO,EAAE,yCAAc;YACvB,QAAQ,EAAE,QAAQ;SACnB,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,eAAa;YACrB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE;gBACP,mBAAU,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,kBAAO,CAAC,KAAK,EAAE,CAAC;gBACjD,0BAAW;gBACX,8BAAa;gBACb,uCAAiB;gBACjB,qDAAwB;gBACxB,6CAAoB;gBACpB,2CAAmB;aACpB;YACD,WAAW,EAAE,CAAC,mDAAuB,CAAC;YACtC,SAAS,EAAE;gBACT,cAAc;gBACd,sDAAwB;gBACxB,6CAAoB;gBACpB,IAAA,oDAAoB,EAAC,6CAAoB,CAAC;gBAC1C,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,oDAAoB,EAAC,+CAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACvF;YACD,OAAO,EAAE,CAAC,yCAAc,CAAC;SAC1B,CAAC;IACJ,CAAC;CACF,CAAA;AArCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,aAAa,CAqCzB"}
@@ -0,0 +1,16 @@
1
+ import { FastifyReply } from "fastify";
2
+ import { AuthenticatedRequest } from "../../../common/interfaces/authenticated.request.interface";
3
+ import { CacheService } from "../../../core/cache/services/cache.service";
4
+ import { CreditWarningService } from "../services/credit-warning.service";
5
+ /**
6
+ * Credit warning routes. Company administrators only.
7
+ *
8
+ * With `billing.creditWarning` off the dismiss route still answers 204 and writes nothing.
9
+ */
10
+ export declare class CreditWarningController {
11
+ private readonly creditWarningService;
12
+ private readonly cacheService;
13
+ constructor(creditWarningService: CreditWarningService, cacheService: CacheService);
14
+ dismiss(req: AuthenticatedRequest, reply: FastifyReply, companyId: string): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=credit-warning.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credit-warning.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/billing/controllers/credit-warning.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAClG,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAG1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E;;;;GAIG;AACH,qBAEa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,YAAY;IASvC,OAAO,CAAQ,GAAG,EAAE,oBAAoB,EAAS,KAAK,EAAE,YAAY,EAAsB,SAAS,EAAE,MAAM;CAIlH"}