@carlonicora/nestjs-neo4jsonapi 8.1.0 → 8.2.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.
- package/dist/foundations/analytics/controllers/analytics.controller.d.ts.map +1 -1
- package/dist/foundations/analytics/controllers/analytics.controller.js +1 -0
- package/dist/foundations/analytics/controllers/analytics.controller.js.map +1 -1
- package/dist/foundations/analytics/dtos/analytics-event.post.dto.d.ts +1 -0
- package/dist/foundations/analytics/dtos/analytics-event.post.dto.d.ts.map +1 -1
- package/dist/foundations/analytics/dtos/analytics-event.post.dto.js +5 -0
- package/dist/foundations/analytics/dtos/analytics-event.post.dto.js.map +1 -1
- package/dist/foundations/analytics/interfaces/analytics.config.interface.d.ts +4 -2
- package/dist/foundations/analytics/interfaces/analytics.config.interface.d.ts.map +1 -1
- package/dist/foundations/analytics/interfaces/analytics.config.interface.js.map +1 -1
- package/dist/foundations/analytics/interfaces/analytics.page-view.input.d.ts +2 -0
- package/dist/foundations/analytics/interfaces/analytics.page-view.input.d.ts.map +1 -1
- package/dist/foundations/analytics/interfaces/analytics.resolved-page-view.d.ts +6 -0
- package/dist/foundations/analytics/interfaces/analytics.resolved-page-view.d.ts.map +1 -1
- package/dist/foundations/analytics/processors/analytics.processor.d.ts.map +1 -1
- package/dist/foundations/analytics/processors/analytics.processor.js +10 -0
- package/dist/foundations/analytics/processors/analytics.processor.js.map +1 -1
- package/dist/foundations/analytics/repositories/analytics-session.repository.d.ts +6 -0
- package/dist/foundations/analytics/repositories/analytics-session.repository.d.ts.map +1 -1
- package/dist/foundations/analytics/repositories/analytics-session.repository.js +35 -10
- package/dist/foundations/analytics/repositories/analytics-session.repository.js.map +1 -1
- package/dist/foundations/analytics/services/analytics.service.d.ts +5 -4
- package/dist/foundations/analytics/services/analytics.service.d.ts.map +1 -1
- package/dist/foundations/analytics/services/analytics.service.js +14 -10
- package/dist/foundations/analytics/services/analytics.service.js.map +1 -1
- package/dist/foundations/analytics/services/analytics.visitor-id.service.d.ts +10 -0
- package/dist/foundations/analytics/services/analytics.visitor-id.service.d.ts.map +1 -1
- package/dist/foundations/analytics/services/analytics.visitor-id.service.js +9 -1
- package/dist/foundations/analytics/services/analytics.visitor-id.service.js.map +1 -1
- 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;
|
|
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;
|
|
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"}
|
|
@@ -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":"
|
|
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,
|
|
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
|
|
74
|
-
*
|
|
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
|
|
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;
|
|
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;
|
|
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;
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,mCAAoC;AACpC,2CAAwC;AACxC,yEAA0E;AAE1E,2FAAuF;AACvF,8EAA0E;AAC1E,uFAAmF;AACnF,6DAAyD;AACzD,qEAA6F;AAC7F,mFAA6E;AAG7E,0DAA0D;AAC1D,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAU,EAAE;IACtC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,OAAQ,CAAiC,CAAC,QAAQ,KAAK,UAAU;QACnE,OAAQ,CAAgC,CAAC,QAAQ,EAAE,CAAC;IACtD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,wCAG/C;IAGC,YAAY,KAAmB,EAAE,eAAgC,EAAE,UAAsB;QACvF,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;QAHzB,eAAU,GAAG,8CAA0B,CAAC;IAI3D,CAAC;IAED;;;;OAIG;IACM,KAAK,CAAC,YAAY;QACzB,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;QAE3B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAEtD,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxB,KAAK,EAAE,gBAAgB,QAAQ,4CAA4C,QAAQ,IAAI,SAAS,SAAS,QAAQ,eAAe,QAAQ,cAAc;SACvJ,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxB,KAAK,EAAE,gBAAgB,QAAQ,iCAAiC,QAAQ,IAAI,SAAS,SAAS,QAAQ,aAAa;SACpH,CAAC,CAAC;IACL,CAAC;IAED
|
|
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
|
|
32
|
-
*
|
|
33
|
-
*
|
|
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
|
|
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
|
|
40
|
-
*
|
|
41
|
-
*
|
|
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
|
-
|
|
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,
|
|
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
|
|
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;
|
|
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
|
|
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":";;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,mCAAiD;AACjD,oFAAmF;AACnF,4GAAsG;AAEzF,QAAA,iBAAiB,GAAG,IAAI,CAAC;AACzB,QAAA,gBAAgB,GAAG,IAAI,CAAC;AAErC,wGAAwG;AACxG,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAE1C,MAAM,WAAW,GACf,6IAA6I,CAAC;AAChJ,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAClD,MAAM,cAAc,GAAG,4CAA4C,CAAC;AAEpE;;;;;;;;;GASG;AAEI,IAAM,yBAAyB,iCAA/B,MAAM,yBAAyB;IAIpC,YACmB,KAAgC,EAChC,MAAyB;QADzB,UAAK,GAAL,KAAK,CAA2B;QAChC,WAAM,GAAN,MAAM,CAAmB;QAL3B,eAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,eAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAK7C,CAAC;IAEJ,KAAK,CAAC,SAAiB;QACrB,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU,CAAC,SAAiB;QAC1B,MAAM,EAAE,GAAG,SAAS,IAAI,EAAE,CAAC;QAC3B,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC7C,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAKb;QACC,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO,EAAE,SAAS,EAAE,GAAG,wBAAgB,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAEpG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC;aAC9B,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;aAC/C,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjB,OAAO,
|
|
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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"}
|
package/package.json
CHANGED