@carlonicora/nestjs-neo4jsonapi 8.0.0 → 8.1.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/bootstrap/bootstrap.options.d.ts +3 -0
- package/dist/bootstrap/bootstrap.options.d.ts.map +1 -1
- package/dist/foundations/analytics/controllers/analytics.controller.d.ts +1 -0
- package/dist/foundations/analytics/controllers/analytics.controller.d.ts.map +1 -1
- package/dist/foundations/analytics/controllers/analytics.controller.js +1 -1
- package/dist/foundations/analytics/controllers/analytics.controller.js.map +1 -1
- package/dist/foundations/analytics/interfaces/analytics.config.interface.d.ts +19 -0
- package/dist/foundations/analytics/interfaces/analytics.config.interface.d.ts.map +1 -1
- package/dist/foundations/analytics/interfaces/analytics.config.interface.js +2 -0
- package/dist/foundations/analytics/interfaces/analytics.config.interface.js.map +1 -1
- package/dist/foundations/analytics/services/analytics.service.d.ts +10 -1
- package/dist/foundations/analytics/services/analytics.service.d.ts.map +1 -1
- package/dist/foundations/analytics/services/analytics.service.js +17 -1
- package/dist/foundations/analytics/services/analytics.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -197,6 +197,9 @@ export interface BootstrapOptions {
|
|
|
197
197
|
* ```typescript
|
|
198
198
|
* // Force analytics off whatever ANALYTICS_ENABLED says
|
|
199
199
|
* analytics: { enabled: false }
|
|
200
|
+
*
|
|
201
|
+
* // Keep ANALYTICS_ENABLED in charge; never record these roles or users
|
|
202
|
+
* analytics: { excludedRoleIds: ["<role-id>"], excludedUserIds: ["<user-id>"] }
|
|
200
203
|
* ```
|
|
201
204
|
*/
|
|
202
205
|
analytics?: AnalyticsModuleConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.options.d.ts","sourceRoot":"","sources":["../../src/bootstrap/bootstrap.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+DAA+D,CAAC;AACvG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4DAA4D,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,8EAA8E,CAAC;AAC3H,OAAO,EAAE,wBAAwB,EAAE,MAAM,wEAAwE,CAAC;AAClH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AAEvG;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC;IAE1C;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEnC;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAE1C;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAEhC;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,EAAE,wBAAwB,CAAC;IAExC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAEhC;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAE1B;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IAExB;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,CAAC,EAAE,2BAA2B,CAAC;IAE9C;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAE9B
|
|
1
|
+
{"version":3,"file":"bootstrap.options.d.ts","sourceRoot":"","sources":["../../src/bootstrap/bootstrap.options.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,CAAA;SAAE,CAAA;KAAE,
|
|
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"}
|
|
@@ -53,7 +53,7 @@ let AnalyticsController = class AnalyticsController {
|
|
|
53
53
|
userId: request.user?.userId,
|
|
54
54
|
receivedAt: new Date().toISOString(),
|
|
55
55
|
};
|
|
56
|
-
await this.analyticsService.track(input);
|
|
56
|
+
await this.analyticsService.track(input, { roles: request.user?.roles });
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
59
|
* First comma-separated hop of X-Forwarded-For, trimmed; request.ip otherwise.
|
|
@@ -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,
|
|
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"}
|
|
@@ -59,6 +59,25 @@ export interface AnalyticsModuleConfig {
|
|
|
59
59
|
* @default "analytics:pageView"
|
|
60
60
|
*/
|
|
61
61
|
jobName?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Role ids whose page views are never recorded. A logged-in caller holding
|
|
64
|
+
* any one of these roles is dropped before the queue; the endpoint still
|
|
65
|
+
* answers 202. Anonymous page views are unaffected.
|
|
66
|
+
*
|
|
67
|
+
* Not read from env: set it through `bootstrap({ analytics })`.
|
|
68
|
+
*
|
|
69
|
+
* @default []
|
|
70
|
+
*/
|
|
71
|
+
excludedRoleIds?: string[];
|
|
72
|
+
/**
|
|
73
|
+
* User ids whose page views are never recorded. Dropped before the queue,
|
|
74
|
+
* exactly like `excludedRoleIds`.
|
|
75
|
+
*
|
|
76
|
+
* Not read from env: set it through `bootstrap({ analytics })`.
|
|
77
|
+
*
|
|
78
|
+
* @default []
|
|
79
|
+
*/
|
|
80
|
+
excludedUserIds?: string[];
|
|
62
81
|
}
|
|
63
82
|
/**
|
|
64
83
|
* Injection token for the resolved analytics configuration.
|
|
@@ -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;
|
|
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 +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;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"}
|
|
@@ -21,11 +21,20 @@ export declare class AnalyticsService extends AbstractService<AnalyticsSession,
|
|
|
21
21
|
};
|
|
22
22
|
}>;
|
|
23
23
|
private readonly jobName;
|
|
24
|
+
private readonly excludedRoleIds;
|
|
25
|
+
private readonly excludedUserIds;
|
|
24
26
|
constructor(jsonApiService: JsonApiService, analyticsSessionRepository: AnalyticsSessionRepository, clsService: ClsService, queue: Queue, logger: AppLoggingService, config: Required<AnalyticsModuleConfig>);
|
|
25
27
|
/**
|
|
26
28
|
* Enqueue a page view for async write. Never throws — analytics must not
|
|
27
29
|
* break the caller's request path.
|
|
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.
|
|
28
34
|
*/
|
|
29
|
-
track(input: AnalyticsPageViewInput
|
|
35
|
+
track(input: AnalyticsPageViewInput, options?: {
|
|
36
|
+
roles?: string[];
|
|
37
|
+
}): Promise<void>;
|
|
38
|
+
private _isExcluded;
|
|
30
39
|
}
|
|
31
40
|
//# 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;
|
|
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"}
|
|
@@ -29,12 +29,23 @@ let AnalyticsService = class AnalyticsService extends abstract_service_1.Abstrac
|
|
|
29
29
|
this.logger = logger;
|
|
30
30
|
this.descriptor = analytics_session_1.AnalyticsSessionDescriptor;
|
|
31
31
|
this.jobName = config.jobName;
|
|
32
|
+
this.excludedRoleIds = new Set(config.excludedRoleIds);
|
|
33
|
+
this.excludedUserIds = new Set(config.excludedUserIds);
|
|
32
34
|
}
|
|
33
35
|
/**
|
|
34
36
|
* Enqueue a page view for async write. Never throws — analytics must not
|
|
35
37
|
* break the caller's request path.
|
|
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.
|
|
36
42
|
*/
|
|
37
|
-
async track(input) {
|
|
43
|
+
async track(input, options) {
|
|
44
|
+
if (this._isExcluded(input.userId, options?.roles)) {
|
|
45
|
+
// Path only: raw IP and user agent must not reach the logs.
|
|
46
|
+
this.logger.debug(`analytics pageView dropped reason=excluded path=${input.path}`);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
38
49
|
try {
|
|
39
50
|
await this.queue.add(this.jobName, input);
|
|
40
51
|
}
|
|
@@ -42,6 +53,11 @@ let AnalyticsService = class AnalyticsService extends abstract_service_1.Abstrac
|
|
|
42
53
|
this.logger.error(`AnalyticsService.track enqueue failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
43
54
|
}
|
|
44
55
|
}
|
|
56
|
+
_isExcluded(userId, roles) {
|
|
57
|
+
if (userId && this.excludedUserIds.has(userId))
|
|
58
|
+
return true;
|
|
59
|
+
return (roles ?? []).some((roleId) => this.excludedRoleIds.has(roleId));
|
|
60
|
+
}
|
|
45
61
|
};
|
|
46
62
|
exports.AnalyticsService = AnalyticsService;
|
|
47
63
|
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;
|
|
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"}
|
package/package.json
CHANGED