@explorins/pers-shared 2.1.149 → 2.1.151
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/cjs/shared-lib/constants/analytics.constants.d.ts +45 -0
- package/dist/cjs/shared-lib/constants/analytics.constants.d.ts.map +1 -0
- package/dist/cjs/shared-lib/constants/analytics.constants.js +52 -0
- package/dist/cjs/shared-lib/constants/analytics.constants.js.map +1 -0
- package/dist/cjs/shared-lib/constants/index.d.ts +1 -0
- package/dist/cjs/shared-lib/constants/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/constants/index.js +1 -0
- package/dist/cjs/shared-lib/constants/index.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/user-analytics.dto.d.ts +5 -0
- package/dist/cjs/shared-lib/dto/analytics/user-analytics.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/user-analytics.dto.js +40 -0
- package/dist/cjs/shared-lib/dto/analytics/user-analytics.dto.js.map +1 -1
- package/dist/esm/shared-lib/constants/analytics.constants.d.ts +45 -0
- package/dist/esm/shared-lib/constants/analytics.constants.d.ts.map +1 -0
- package/dist/esm/shared-lib/constants/analytics.constants.js +49 -0
- package/dist/esm/shared-lib/constants/analytics.constants.js.map +1 -0
- package/dist/esm/shared-lib/constants/index.d.ts +1 -0
- package/dist/esm/shared-lib/constants/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/constants/index.js +1 -0
- package/dist/esm/shared-lib/constants/index.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/user-analytics.dto.d.ts +5 -0
- package/dist/esm/shared-lib/dto/analytics/user-analytics.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/user-analytics.dto.js +35 -0
- package/dist/esm/shared-lib/dto/analytics/user-analytics.dto.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics Constants
|
|
3
|
+
*
|
|
4
|
+
* Shared definitions for consistent analytics across frontend and backend.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Active User Definition
|
|
8
|
+
*
|
|
9
|
+
* A user qualifies as "active" in a given period if they performed
|
|
10
|
+
* any of the qualifying actions during that period.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // Display in UI
|
|
14
|
+
* `${engagementRate}% engagement. ${ACTIVE_USER_DEFINITION.description}`
|
|
15
|
+
*
|
|
16
|
+
* // Result: "25.5% engagement. Active = sent transaction, claimed, or redeemed in period"
|
|
17
|
+
*/
|
|
18
|
+
export declare const ACTIVE_USER_DEFINITION: {
|
|
19
|
+
/** Actions that qualify a user as "active" */
|
|
20
|
+
readonly qualifyingActions: readonly ["TRANSACTION_SEND", "CLAIM_COMPLETED", "REDEMPTION_COMPLETED"];
|
|
21
|
+
/** Short description for UI display */
|
|
22
|
+
readonly description: "Active = sent transaction, claimed, or redeemed in period";
|
|
23
|
+
/** Detailed explanation for tooltips/documentation */
|
|
24
|
+
readonly details: {
|
|
25
|
+
readonly TRANSACTION_SEND: "User initiated a transaction (spending, transferring, or purchasing)";
|
|
26
|
+
readonly CLAIM_COMPLETED: "User successfully claimed a campaign reward";
|
|
27
|
+
readonly REDEMPTION_COMPLETED: "User successfully redeemed an offer";
|
|
28
|
+
};
|
|
29
|
+
/** What does NOT count as active */
|
|
30
|
+
readonly excluded: readonly ["Receiving tokens (passive)", "Failed or pending claims/redemptions", "System-generated transactions (REDEMPTION_RECEIVE)"];
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Engagement rate formula
|
|
34
|
+
* engagementRate = (activeUsers / totalUsers) × 100
|
|
35
|
+
*/
|
|
36
|
+
export declare const ENGAGEMENT_RATE_FORMULA = "activeUsers / totalUsers \u00D7 100";
|
|
37
|
+
/**
|
|
38
|
+
* Transaction statuses that count for analytics
|
|
39
|
+
*/
|
|
40
|
+
export declare const ANALYTICS_VALID_TRANSACTION_STATUSES: readonly ["SUCCEEDED", "BROADCASTED"];
|
|
41
|
+
/**
|
|
42
|
+
* Process statuses that count for analytics (claims, redemptions)
|
|
43
|
+
*/
|
|
44
|
+
export declare const ANALYTICS_VALID_PROCESS_STATUS: "COMPLETED";
|
|
45
|
+
//# sourceMappingURL=analytics.constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.constants.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/constants/analytics.constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB;IACjC,8CAA8C;;IAG9C,uCAAuC;;IAGvC,sDAAsD;;;;;;IAOtD,oCAAoC;;CAM5B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,uBAAuB,wCAAmC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,oCAAoC,uCAAwC,CAAC;AAE1F;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAG,WAAoB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Analytics Constants
|
|
4
|
+
*
|
|
5
|
+
* Shared definitions for consistent analytics across frontend and backend.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ANALYTICS_VALID_PROCESS_STATUS = exports.ANALYTICS_VALID_TRANSACTION_STATUSES = exports.ENGAGEMENT_RATE_FORMULA = exports.ACTIVE_USER_DEFINITION = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* Active User Definition
|
|
11
|
+
*
|
|
12
|
+
* A user qualifies as "active" in a given period if they performed
|
|
13
|
+
* any of the qualifying actions during that period.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* // Display in UI
|
|
17
|
+
* `${engagementRate}% engagement. ${ACTIVE_USER_DEFINITION.description}`
|
|
18
|
+
*
|
|
19
|
+
* // Result: "25.5% engagement. Active = sent transaction, claimed, or redeemed in period"
|
|
20
|
+
*/
|
|
21
|
+
exports.ACTIVE_USER_DEFINITION = {
|
|
22
|
+
/** Actions that qualify a user as "active" */
|
|
23
|
+
qualifyingActions: ['TRANSACTION_SEND', 'CLAIM_COMPLETED', 'REDEMPTION_COMPLETED'],
|
|
24
|
+
/** Short description for UI display */
|
|
25
|
+
description: 'Active = sent transaction, claimed, or redeemed in period',
|
|
26
|
+
/** Detailed explanation for tooltips/documentation */
|
|
27
|
+
details: {
|
|
28
|
+
TRANSACTION_SEND: 'User initiated a transaction (spending, transferring, or purchasing)',
|
|
29
|
+
CLAIM_COMPLETED: 'User successfully claimed a campaign reward',
|
|
30
|
+
REDEMPTION_COMPLETED: 'User successfully redeemed an offer',
|
|
31
|
+
},
|
|
32
|
+
/** What does NOT count as active */
|
|
33
|
+
excluded: [
|
|
34
|
+
'Receiving tokens (passive)',
|
|
35
|
+
'Failed or pending claims/redemptions',
|
|
36
|
+
'System-generated transactions (REDEMPTION_RECEIVE)',
|
|
37
|
+
],
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Engagement rate formula
|
|
41
|
+
* engagementRate = (activeUsers / totalUsers) × 100
|
|
42
|
+
*/
|
|
43
|
+
exports.ENGAGEMENT_RATE_FORMULA = 'activeUsers / totalUsers × 100';
|
|
44
|
+
/**
|
|
45
|
+
* Transaction statuses that count for analytics
|
|
46
|
+
*/
|
|
47
|
+
exports.ANALYTICS_VALID_TRANSACTION_STATUSES = ['SUCCEEDED', 'BROADCASTED'];
|
|
48
|
+
/**
|
|
49
|
+
* Process statuses that count for analytics (claims, redemptions)
|
|
50
|
+
*/
|
|
51
|
+
exports.ANALYTICS_VALID_PROCESS_STATUS = 'COMPLETED';
|
|
52
|
+
//# sourceMappingURL=analytics.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.constants.js","sourceRoot":"","sources":["../../../../src/shared-lib/constants/analytics.constants.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;;;;;;;;;GAWG;AACU,QAAA,sBAAsB,GAAG;IACpC,8CAA8C;IAC9C,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,CAAC;IAElF,uCAAuC;IACvC,WAAW,EAAE,2DAA2D;IAExE,sDAAsD;IACtD,OAAO,EAAE;QACP,gBAAgB,EAAE,sEAAsE;QACxF,eAAe,EAAE,6CAA6C;QAC9D,oBAAoB,EAAE,qCAAqC;KAC5D;IAED,oCAAoC;IACpC,QAAQ,EAAE;QACR,4BAA4B;QAC5B,sCAAsC;QACtC,oDAAoD;KACrD;CACO,CAAC;AAEX;;;GAGG;AACU,QAAA,uBAAuB,GAAG,gCAAgC,CAAC;AAExE;;GAEG;AACU,QAAA,oCAAoC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAU,CAAC;AAE1F;;GAEG;AACU,QAAA,8BAA8B,GAAG,WAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/constants/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/constants/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
|
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
// Constants Barrel - Auto-exports all constants
|
|
18
|
+
__exportStar(require("./analytics.constants"), exports);
|
|
18
19
|
__exportStar(require("./image-cdn.constants"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,wDAAsC;AACtC,wDAAsC"}
|
|
@@ -36,11 +36,16 @@ export declare class UserAnalyticsResponseDTO {
|
|
|
36
36
|
averageTransactionsPerUser: number;
|
|
37
37
|
averageTransactionAmount: number;
|
|
38
38
|
totalTransactionVolume: number;
|
|
39
|
+
totalClaims: number;
|
|
39
40
|
averageClaimsPerUser: number;
|
|
41
|
+
totalRedemptions: number;
|
|
40
42
|
averageRedemptionsPerUser: number;
|
|
43
|
+
totalBurns: number;
|
|
44
|
+
averageBurnsPerUser: number;
|
|
41
45
|
averageTransactionsPerActiveUser: number;
|
|
42
46
|
averageClaimsPerActiveUser: number;
|
|
43
47
|
averageRedemptionsPerActiveUser: number;
|
|
48
|
+
averageBurnsPerActiveUser: number;
|
|
44
49
|
engagementRate: number;
|
|
45
50
|
periodBreakdown?: {
|
|
46
51
|
date: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/user-analytics.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG7D;;;;;GAKG;AACH,qBAAa,uBAAuB;IAQlC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAuB;IAWlC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAQlC,SAAS,CAAC,EAAE,IAAI,CAAC;IAQjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,qBAAa,wBAAwB;IAKnC,UAAU,EAAE,MAAM,CAAK;IAMvB,WAAW,EAAE,MAAM,CAAK;IAMxB,QAAQ,EAAE,MAAM,CAAK;IAMrB,0BAA0B,EAAE,MAAM,CAAK;IAMvC,wBAAwB,EAAE,MAAM,CAAK;IAMrC,sBAAsB,EAAE,MAAM,CAAK;IAMnC,oBAAoB,EAAE,MAAM,CAAK;IAMjC,yBAAyB,EAAE,MAAM,CAAK;IAMtC,gCAAgC,EAAE,MAAM,CAAK;IAM7C,0BAA0B,EAAE,MAAM,CAAK;IAMvC,+BAA+B,EAAE,MAAM,CAAK;
|
|
1
|
+
{"version":3,"file":"user-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/user-analytics.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG7D;;;;;GAKG;AACH,qBAAa,uBAAuB;IAQlC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAuB;IAWlC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAQlC,SAAS,CAAC,EAAE,IAAI,CAAC;IAQjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,qBAAa,wBAAwB;IAKnC,UAAU,EAAE,MAAM,CAAK;IAMvB,WAAW,EAAE,MAAM,CAAK;IAMxB,QAAQ,EAAE,MAAM,CAAK;IAMrB,0BAA0B,EAAE,MAAM,CAAK;IAMvC,wBAAwB,EAAE,MAAM,CAAK;IAMrC,sBAAsB,EAAE,MAAM,CAAK;IAMnC,WAAW,EAAE,MAAM,CAAK;IAMxB,oBAAoB,EAAE,MAAM,CAAK;IAMjC,gBAAgB,EAAE,MAAM,CAAK;IAM7B,yBAAyB,EAAE,MAAM,CAAK;IAMtC,UAAU,EAAE,MAAM,CAAK;IAMvB,mBAAmB,EAAE,MAAM,CAAK;IAMhC,gCAAgC,EAAE,MAAM,CAAK;IAM7C,0BAA0B,EAAE,MAAM,CAAK;IAMvC,+BAA+B,EAAE,MAAM,CAAK;IAM5C,yBAAyB,EAAE,MAAM,CAAK;IAOtC,cAAc,EAAE,MAAM,CAAK;IAc3B,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;IAiBJ,QAAQ,EAAE,qBAAqB,CAE7B;CACH"}
|
|
@@ -94,11 +94,16 @@ class UserAnalyticsResponseDTO {
|
|
|
94
94
|
averageTransactionsPerUser = 0;
|
|
95
95
|
averageTransactionAmount = 0;
|
|
96
96
|
totalTransactionVolume = 0;
|
|
97
|
+
totalClaims = 0;
|
|
97
98
|
averageClaimsPerUser = 0;
|
|
99
|
+
totalRedemptions = 0;
|
|
98
100
|
averageRedemptionsPerUser = 0;
|
|
101
|
+
totalBurns = 0;
|
|
102
|
+
averageBurnsPerUser = 0;
|
|
99
103
|
averageTransactionsPerActiveUser = 0;
|
|
100
104
|
averageClaimsPerActiveUser = 0;
|
|
101
105
|
averageRedemptionsPerActiveUser = 0;
|
|
106
|
+
averageBurnsPerActiveUser = 0;
|
|
102
107
|
engagementRate = 0;
|
|
103
108
|
periodBreakdown;
|
|
104
109
|
metadata = {
|
|
@@ -148,6 +153,13 @@ __decorate([
|
|
|
148
153
|
}),
|
|
149
154
|
__metadata("design:type", Number)
|
|
150
155
|
], UserAnalyticsResponseDTO.prototype, "totalTransactionVolume", void 0);
|
|
156
|
+
__decorate([
|
|
157
|
+
(0, swagger_1.ApiProperty)({
|
|
158
|
+
description: 'Total completed claims in the date range. Only counts claims with status=COMPLETED.',
|
|
159
|
+
example: 1523
|
|
160
|
+
}),
|
|
161
|
+
__metadata("design:type", Number)
|
|
162
|
+
], UserAnalyticsResponseDTO.prototype, "totalClaims", void 0);
|
|
151
163
|
__decorate([
|
|
152
164
|
(0, swagger_1.ApiProperty)({
|
|
153
165
|
description: 'Average claims per user across entire user base (total completed claims in date range ÷ total users). Only counts claims with status=COMPLETED.',
|
|
@@ -155,6 +167,13 @@ __decorate([
|
|
|
155
167
|
}),
|
|
156
168
|
__metadata("design:type", Number)
|
|
157
169
|
], UserAnalyticsResponseDTO.prototype, "averageClaimsPerUser", void 0);
|
|
170
|
+
__decorate([
|
|
171
|
+
(0, swagger_1.ApiProperty)({
|
|
172
|
+
description: 'Total completed redemptions in the date range. Only counts redemptions with status=COMPLETED.',
|
|
173
|
+
example: 892
|
|
174
|
+
}),
|
|
175
|
+
__metadata("design:type", Number)
|
|
176
|
+
], UserAnalyticsResponseDTO.prototype, "totalRedemptions", void 0);
|
|
158
177
|
__decorate([
|
|
159
178
|
(0, swagger_1.ApiProperty)({
|
|
160
179
|
description: 'Average redemptions per user across entire user base (total completed redemptions in date range ÷ total users). Only counts redemptions with status=COMPLETED.',
|
|
@@ -162,6 +181,20 @@ __decorate([
|
|
|
162
181
|
}),
|
|
163
182
|
__metadata("design:type", Number)
|
|
164
183
|
], UserAnalyticsResponseDTO.prototype, "averageRedemptionsPerUser", void 0);
|
|
184
|
+
__decorate([
|
|
185
|
+
(0, swagger_1.ApiProperty)({
|
|
186
|
+
description: 'Total burn transactions in the date range. Only counts successful burn transactions (status=SUCCEEDED or BROADCASTED, type=BURN).',
|
|
187
|
+
example: 523
|
|
188
|
+
}),
|
|
189
|
+
__metadata("design:type", Number)
|
|
190
|
+
], UserAnalyticsResponseDTO.prototype, "totalBurns", void 0);
|
|
191
|
+
__decorate([
|
|
192
|
+
(0, swagger_1.ApiProperty)({
|
|
193
|
+
description: 'Average burns per user across entire user base (total burns in date range ÷ total users).',
|
|
194
|
+
example: 0.5
|
|
195
|
+
}),
|
|
196
|
+
__metadata("design:type", Number)
|
|
197
|
+
], UserAnalyticsResponseDTO.prototype, "averageBurnsPerUser", void 0);
|
|
165
198
|
__decorate([
|
|
166
199
|
(0, swagger_1.ApiProperty)({
|
|
167
200
|
description: 'Average transactions per active user (total successful transactions in date range ÷ active users in date range). Provides more accurate engagement metric than averageTransactionsPerUser by excluding inactive users.',
|
|
@@ -183,6 +216,13 @@ __decorate([
|
|
|
183
216
|
}),
|
|
184
217
|
__metadata("design:type", Number)
|
|
185
218
|
], UserAnalyticsResponseDTO.prototype, "averageRedemptionsPerActiveUser", void 0);
|
|
219
|
+
__decorate([
|
|
220
|
+
(0, swagger_1.ApiProperty)({
|
|
221
|
+
description: 'Average burns per active user (total burns in date range ÷ active users in date range).',
|
|
222
|
+
example: 0.8
|
|
223
|
+
}),
|
|
224
|
+
__metadata("design:type", Number)
|
|
225
|
+
], UserAnalyticsResponseDTO.prototype, "averageBurnsPerActiveUser", void 0);
|
|
186
226
|
__decorate([
|
|
187
227
|
(0, swagger_1.ApiProperty)({
|
|
188
228
|
description: 'User engagement rate as percentage (activeUsers ÷ totalUsers × 100). Indicates what percentage of all registered users had activity in the date range.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/user-analytics.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qDAA+D;AAC/D,yDAAyC;AAEzC,iDAAiD;AAEjD;;;;;GAKG;AACH,MAAa,uBAAuB;IAQlC,UAAU,CAAU;CACrB;AATD,0DASC;AADC;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,iGAAiG;QAC9G,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,cAAc;KACxB,CAAC;IACD,IAAA,0BAAa,GAAE;;2DACI;AAGtB;;;;;;;GAOG;AACH,MAAa,uBAAuB;IAWlC,OAAO,CAA2B;IAQlC,SAAS,CAAQ;IAQjB,OAAO,CAAQ;CAChB;AA5BD,0DA4BC;AAjBC;IAVC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,+DAA+D;QAC5E,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE;YACP,UAAU,EAAE,cAAc;SAC3B;KACF,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC;8BAC1B,uBAAuB;wDAAC;AAQlC;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,wIAAwI;QACrJ,OAAO,EAAE,sBAAsB;KAChC,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,8BAAY,GAAE;8BACH,IAAI;0DAAC;AAQjB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,sIAAsI;QACnJ,OAAO,EAAE,sBAAsB;KAChC,CAAC;IACD,IAAA,0BAAa,GAAE;IACf,IAAA,8BAAY,GAAE;8BACL,IAAI;wDAAC;AAGjB;;;;;;;GAOG;AACH,MAAa,wBAAwB;IAKnC,UAAU,GAAW,CAAC,CAAC;IAMvB,WAAW,GAAW,CAAC,CAAC;IAMxB,QAAQ,GAAW,CAAC,CAAC;IAMrB,0BAA0B,GAAW,CAAC,CAAC;IAMvC,wBAAwB,GAAW,CAAC,CAAC;IAMrC,sBAAsB,GAAW,CAAC,CAAC;IAMnC,oBAAoB,GAAW,CAAC,CAAC;IAMjC,yBAAyB,GAAW,CAAC,CAAC;IAMtC,gCAAgC,GAAW,CAAC,CAAC;IAM7C,0BAA0B,GAAW,CAAC,CAAC;IAMvC,+BAA+B,GAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"user-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/user-analytics.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics Constants
|
|
3
|
+
*
|
|
4
|
+
* Shared definitions for consistent analytics across frontend and backend.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Active User Definition
|
|
8
|
+
*
|
|
9
|
+
* A user qualifies as "active" in a given period if they performed
|
|
10
|
+
* any of the qualifying actions during that period.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // Display in UI
|
|
14
|
+
* `${engagementRate}% engagement. ${ACTIVE_USER_DEFINITION.description}`
|
|
15
|
+
*
|
|
16
|
+
* // Result: "25.5% engagement. Active = sent transaction, claimed, or redeemed in period"
|
|
17
|
+
*/
|
|
18
|
+
export declare const ACTIVE_USER_DEFINITION: {
|
|
19
|
+
/** Actions that qualify a user as "active" */
|
|
20
|
+
readonly qualifyingActions: readonly ["TRANSACTION_SEND", "CLAIM_COMPLETED", "REDEMPTION_COMPLETED"];
|
|
21
|
+
/** Short description for UI display */
|
|
22
|
+
readonly description: "Active = sent transaction, claimed, or redeemed in period";
|
|
23
|
+
/** Detailed explanation for tooltips/documentation */
|
|
24
|
+
readonly details: {
|
|
25
|
+
readonly TRANSACTION_SEND: "User initiated a transaction (spending, transferring, or purchasing)";
|
|
26
|
+
readonly CLAIM_COMPLETED: "User successfully claimed a campaign reward";
|
|
27
|
+
readonly REDEMPTION_COMPLETED: "User successfully redeemed an offer";
|
|
28
|
+
};
|
|
29
|
+
/** What does NOT count as active */
|
|
30
|
+
readonly excluded: readonly ["Receiving tokens (passive)", "Failed or pending claims/redemptions", "System-generated transactions (REDEMPTION_RECEIVE)"];
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Engagement rate formula
|
|
34
|
+
* engagementRate = (activeUsers / totalUsers) × 100
|
|
35
|
+
*/
|
|
36
|
+
export declare const ENGAGEMENT_RATE_FORMULA = "activeUsers / totalUsers \u00D7 100";
|
|
37
|
+
/**
|
|
38
|
+
* Transaction statuses that count for analytics
|
|
39
|
+
*/
|
|
40
|
+
export declare const ANALYTICS_VALID_TRANSACTION_STATUSES: readonly ["SUCCEEDED", "BROADCASTED"];
|
|
41
|
+
/**
|
|
42
|
+
* Process statuses that count for analytics (claims, redemptions)
|
|
43
|
+
*/
|
|
44
|
+
export declare const ANALYTICS_VALID_PROCESS_STATUS: "COMPLETED";
|
|
45
|
+
//# sourceMappingURL=analytics.constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.constants.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/constants/analytics.constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB;IACjC,8CAA8C;;IAG9C,uCAAuC;;IAGvC,sDAAsD;;;;;;IAOtD,oCAAoC;;CAM5B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,uBAAuB,wCAAmC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,oCAAoC,uCAAwC,CAAC;AAE1F;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAG,WAAoB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics Constants
|
|
3
|
+
*
|
|
4
|
+
* Shared definitions for consistent analytics across frontend and backend.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Active User Definition
|
|
8
|
+
*
|
|
9
|
+
* A user qualifies as "active" in a given period if they performed
|
|
10
|
+
* any of the qualifying actions during that period.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // Display in UI
|
|
14
|
+
* `${engagementRate}% engagement. ${ACTIVE_USER_DEFINITION.description}`
|
|
15
|
+
*
|
|
16
|
+
* // Result: "25.5% engagement. Active = sent transaction, claimed, or redeemed in period"
|
|
17
|
+
*/
|
|
18
|
+
export const ACTIVE_USER_DEFINITION = {
|
|
19
|
+
/** Actions that qualify a user as "active" */
|
|
20
|
+
qualifyingActions: ['TRANSACTION_SEND', 'CLAIM_COMPLETED', 'REDEMPTION_COMPLETED'],
|
|
21
|
+
/** Short description for UI display */
|
|
22
|
+
description: 'Active = sent transaction, claimed, or redeemed in period',
|
|
23
|
+
/** Detailed explanation for tooltips/documentation */
|
|
24
|
+
details: {
|
|
25
|
+
TRANSACTION_SEND: 'User initiated a transaction (spending, transferring, or purchasing)',
|
|
26
|
+
CLAIM_COMPLETED: 'User successfully claimed a campaign reward',
|
|
27
|
+
REDEMPTION_COMPLETED: 'User successfully redeemed an offer',
|
|
28
|
+
},
|
|
29
|
+
/** What does NOT count as active */
|
|
30
|
+
excluded: [
|
|
31
|
+
'Receiving tokens (passive)',
|
|
32
|
+
'Failed or pending claims/redemptions',
|
|
33
|
+
'System-generated transactions (REDEMPTION_RECEIVE)',
|
|
34
|
+
],
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Engagement rate formula
|
|
38
|
+
* engagementRate = (activeUsers / totalUsers) × 100
|
|
39
|
+
*/
|
|
40
|
+
export const ENGAGEMENT_RATE_FORMULA = 'activeUsers / totalUsers × 100';
|
|
41
|
+
/**
|
|
42
|
+
* Transaction statuses that count for analytics
|
|
43
|
+
*/
|
|
44
|
+
export const ANALYTICS_VALID_TRANSACTION_STATUSES = ['SUCCEEDED', 'BROADCASTED'];
|
|
45
|
+
/**
|
|
46
|
+
* Process statuses that count for analytics (claims, redemptions)
|
|
47
|
+
*/
|
|
48
|
+
export const ANALYTICS_VALID_PROCESS_STATUS = 'COMPLETED';
|
|
49
|
+
//# sourceMappingURL=analytics.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.constants.js","sourceRoot":"","sources":["../../../../src/shared-lib/constants/analytics.constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,8CAA8C;IAC9C,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,sBAAsB,CAAC;IAElF,uCAAuC;IACvC,WAAW,EAAE,2DAA2D;IAExE,sDAAsD;IACtD,OAAO,EAAE;QACP,gBAAgB,EAAE,sEAAsE;QACxF,eAAe,EAAE,6CAA6C;QAC9D,oBAAoB,EAAE,qCAAqC;KAC5D;IAED,oCAAoC;IACpC,QAAQ,EAAE;QACR,4BAA4B;QAC5B,sCAAsC;QACtC,oDAAoD;KACrD;CACO,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,gCAAgC,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAU,CAAC;AAE1F;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/constants/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/constants/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/constants/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/constants/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
|
@@ -36,11 +36,16 @@ export declare class UserAnalyticsResponseDTO {
|
|
|
36
36
|
averageTransactionsPerUser: number;
|
|
37
37
|
averageTransactionAmount: number;
|
|
38
38
|
totalTransactionVolume: number;
|
|
39
|
+
totalClaims: number;
|
|
39
40
|
averageClaimsPerUser: number;
|
|
41
|
+
totalRedemptions: number;
|
|
40
42
|
averageRedemptionsPerUser: number;
|
|
43
|
+
totalBurns: number;
|
|
44
|
+
averageBurnsPerUser: number;
|
|
41
45
|
averageTransactionsPerActiveUser: number;
|
|
42
46
|
averageClaimsPerActiveUser: number;
|
|
43
47
|
averageRedemptionsPerActiveUser: number;
|
|
48
|
+
averageBurnsPerActiveUser: number;
|
|
44
49
|
engagementRate: number;
|
|
45
50
|
periodBreakdown?: {
|
|
46
51
|
date: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/user-analytics.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG7D;;;;;GAKG;AACH,qBAAa,uBAAuB;IAQlC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAuB;IAWlC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAQlC,SAAS,CAAC,EAAE,IAAI,CAAC;IAQjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,qBAAa,wBAAwB;IAKnC,UAAU,EAAE,MAAM,CAAK;IAMvB,WAAW,EAAE,MAAM,CAAK;IAMxB,QAAQ,EAAE,MAAM,CAAK;IAMrB,0BAA0B,EAAE,MAAM,CAAK;IAMvC,wBAAwB,EAAE,MAAM,CAAK;IAMrC,sBAAsB,EAAE,MAAM,CAAK;IAMnC,oBAAoB,EAAE,MAAM,CAAK;IAMjC,yBAAyB,EAAE,MAAM,CAAK;IAMtC,gCAAgC,EAAE,MAAM,CAAK;IAM7C,0BAA0B,EAAE,MAAM,CAAK;IAMvC,+BAA+B,EAAE,MAAM,CAAK;
|
|
1
|
+
{"version":3,"file":"user-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/user-analytics.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG7D;;;;;GAKG;AACH,qBAAa,uBAAuB;IAQlC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAuB;IAWlC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAQlC,SAAS,CAAC,EAAE,IAAI,CAAC;IAQjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,qBAAa,wBAAwB;IAKnC,UAAU,EAAE,MAAM,CAAK;IAMvB,WAAW,EAAE,MAAM,CAAK;IAMxB,QAAQ,EAAE,MAAM,CAAK;IAMrB,0BAA0B,EAAE,MAAM,CAAK;IAMvC,wBAAwB,EAAE,MAAM,CAAK;IAMrC,sBAAsB,EAAE,MAAM,CAAK;IAMnC,WAAW,EAAE,MAAM,CAAK;IAMxB,oBAAoB,EAAE,MAAM,CAAK;IAMjC,gBAAgB,EAAE,MAAM,CAAK;IAM7B,yBAAyB,EAAE,MAAM,CAAK;IAMtC,UAAU,EAAE,MAAM,CAAK;IAMvB,mBAAmB,EAAE,MAAM,CAAK;IAMhC,gCAAgC,EAAE,MAAM,CAAK;IAM7C,0BAA0B,EAAE,MAAM,CAAK;IAMvC,+BAA+B,EAAE,MAAM,CAAK;IAM5C,yBAAyB,EAAE,MAAM,CAAK;IAOtC,cAAc,EAAE,MAAM,CAAK;IAc3B,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;IAiBJ,QAAQ,EAAE,qBAAqB,CAE7B;CACH"}
|
|
@@ -82,11 +82,16 @@ export class UserAnalyticsResponseDTO {
|
|
|
82
82
|
averageTransactionsPerUser = 0;
|
|
83
83
|
averageTransactionAmount = 0;
|
|
84
84
|
totalTransactionVolume = 0;
|
|
85
|
+
totalClaims = 0;
|
|
85
86
|
averageClaimsPerUser = 0;
|
|
87
|
+
totalRedemptions = 0;
|
|
86
88
|
averageRedemptionsPerUser = 0;
|
|
89
|
+
totalBurns = 0;
|
|
90
|
+
averageBurnsPerUser = 0;
|
|
87
91
|
averageTransactionsPerActiveUser = 0;
|
|
88
92
|
averageClaimsPerActiveUser = 0;
|
|
89
93
|
averageRedemptionsPerActiveUser = 0;
|
|
94
|
+
averageBurnsPerActiveUser = 0;
|
|
90
95
|
engagementRate = 0;
|
|
91
96
|
periodBreakdown;
|
|
92
97
|
metadata = {
|
|
@@ -129,18 +134,42 @@ __decorate([
|
|
|
129
134
|
example: 56789.12
|
|
130
135
|
})
|
|
131
136
|
], UserAnalyticsResponseDTO.prototype, "totalTransactionVolume", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
ApiProperty({
|
|
139
|
+
description: 'Total completed claims in the date range. Only counts claims with status=COMPLETED.',
|
|
140
|
+
example: 1523
|
|
141
|
+
})
|
|
142
|
+
], UserAnalyticsResponseDTO.prototype, "totalClaims", void 0);
|
|
132
143
|
__decorate([
|
|
133
144
|
ApiProperty({
|
|
134
145
|
description: 'Average claims per user across entire user base (total completed claims in date range ÷ total users). Only counts claims with status=COMPLETED.',
|
|
135
146
|
example: 3.2
|
|
136
147
|
})
|
|
137
148
|
], UserAnalyticsResponseDTO.prototype, "averageClaimsPerUser", void 0);
|
|
149
|
+
__decorate([
|
|
150
|
+
ApiProperty({
|
|
151
|
+
description: 'Total completed redemptions in the date range. Only counts redemptions with status=COMPLETED.',
|
|
152
|
+
example: 892
|
|
153
|
+
})
|
|
154
|
+
], UserAnalyticsResponseDTO.prototype, "totalRedemptions", void 0);
|
|
138
155
|
__decorate([
|
|
139
156
|
ApiProperty({
|
|
140
157
|
description: 'Average redemptions per user across entire user base (total completed redemptions in date range ÷ total users). Only counts redemptions with status=COMPLETED.',
|
|
141
158
|
example: 1.8
|
|
142
159
|
})
|
|
143
160
|
], UserAnalyticsResponseDTO.prototype, "averageRedemptionsPerUser", void 0);
|
|
161
|
+
__decorate([
|
|
162
|
+
ApiProperty({
|
|
163
|
+
description: 'Total burn transactions in the date range. Only counts successful burn transactions (status=SUCCEEDED or BROADCASTED, type=BURN).',
|
|
164
|
+
example: 523
|
|
165
|
+
})
|
|
166
|
+
], UserAnalyticsResponseDTO.prototype, "totalBurns", void 0);
|
|
167
|
+
__decorate([
|
|
168
|
+
ApiProperty({
|
|
169
|
+
description: 'Average burns per user across entire user base (total burns in date range ÷ total users).',
|
|
170
|
+
example: 0.5
|
|
171
|
+
})
|
|
172
|
+
], UserAnalyticsResponseDTO.prototype, "averageBurnsPerUser", void 0);
|
|
144
173
|
__decorate([
|
|
145
174
|
ApiProperty({
|
|
146
175
|
description: 'Average transactions per active user (total successful transactions in date range ÷ active users in date range). Provides more accurate engagement metric than averageTransactionsPerUser by excluding inactive users.',
|
|
@@ -159,6 +188,12 @@ __decorate([
|
|
|
159
188
|
example: 2.1
|
|
160
189
|
})
|
|
161
190
|
], UserAnalyticsResponseDTO.prototype, "averageRedemptionsPerActiveUser", void 0);
|
|
191
|
+
__decorate([
|
|
192
|
+
ApiProperty({
|
|
193
|
+
description: 'Average burns per active user (total burns in date range ÷ active users in date range).',
|
|
194
|
+
example: 0.8
|
|
195
|
+
})
|
|
196
|
+
], UserAnalyticsResponseDTO.prototype, "averageBurnsPerActiveUser", void 0);
|
|
162
197
|
__decorate([
|
|
163
198
|
ApiProperty({
|
|
164
199
|
description: 'User engagement rate as percentage (activeUsers ÷ totalUsers × 100). Indicates what percentage of all registered users had activity in the date range.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/user-analytics.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,uBAAuB;IAQlC,UAAU,CAAU;CACrB;AADC;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,iGAAiG;QAC9G,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,cAAc;KACxB,CAAC;IACD,aAAa,EAAE;2DACI;AAGtB;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAuB;IAWlC,OAAO,CAA2B;IAQlC,SAAS,CAAQ;IAQjB,OAAO,CAAQ;CAChB;AAjBC;IAVC,mBAAmB,CAAC;QACnB,WAAW,EAAE,+DAA+D;QAC5E,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE;YACP,UAAU,EAAE,cAAc;SAC3B;KACF,CAAC;IACD,aAAa,EAAE;IACf,cAAc,EAAE;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC;wDACF;AAQlC;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,wIAAwI;QACrJ,OAAO,EAAE,sBAAsB;KAChC,CAAC;IACD,aAAa,EAAE;IACf,YAAY,EAAE;0DACE;AAQjB;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,sIAAsI;QACnJ,OAAO,EAAE,sBAAsB;KAChC,CAAC;IACD,aAAa,EAAE;IACf,YAAY,EAAE;wDACA;AAGjB;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAwB;IAKnC,UAAU,GAAW,CAAC,CAAC;IAMvB,WAAW,GAAW,CAAC,CAAC;IAMxB,QAAQ,GAAW,CAAC,CAAC;IAMrB,0BAA0B,GAAW,CAAC,CAAC;IAMvC,wBAAwB,GAAW,CAAC,CAAC;IAMrC,sBAAsB,GAAW,CAAC,CAAC;IAMnC,oBAAoB,GAAW,CAAC,CAAC;IAMjC,yBAAyB,GAAW,CAAC,CAAC;IAMtC,gCAAgC,GAAW,CAAC,CAAC;IAM7C,0BAA0B,GAAW,CAAC,CAAC;IAMvC,+BAA+B,GAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"user-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/user-analytics.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,uBAAuB;IAQlC,UAAU,CAAU;CACrB;AADC;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,iGAAiG;QAC9G,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,cAAc;KACxB,CAAC;IACD,aAAa,EAAE;2DACI;AAGtB;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAuB;IAWlC,OAAO,CAA2B;IAQlC,SAAS,CAAQ;IAQjB,OAAO,CAAQ;CAChB;AAjBC;IAVC,mBAAmB,CAAC;QACnB,WAAW,EAAE,+DAA+D;QAC5E,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE;YACP,UAAU,EAAE,cAAc;SAC3B;KACF,CAAC;IACD,aAAa,EAAE;IACf,cAAc,EAAE;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC;wDACF;AAQlC;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,wIAAwI;QACrJ,OAAO,EAAE,sBAAsB;KAChC,CAAC;IACD,aAAa,EAAE;IACf,YAAY,EAAE;0DACE;AAQjB;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,sIAAsI;QACnJ,OAAO,EAAE,sBAAsB;KAChC,CAAC;IACD,aAAa,EAAE;IACf,YAAY,EAAE;wDACA;AAGjB;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAwB;IAKnC,UAAU,GAAW,CAAC,CAAC;IAMvB,WAAW,GAAW,CAAC,CAAC;IAMxB,QAAQ,GAAW,CAAC,CAAC;IAMrB,0BAA0B,GAAW,CAAC,CAAC;IAMvC,wBAAwB,GAAW,CAAC,CAAC;IAMrC,sBAAsB,GAAW,CAAC,CAAC;IAMnC,WAAW,GAAW,CAAC,CAAC;IAMxB,oBAAoB,GAAW,CAAC,CAAC;IAMjC,gBAAgB,GAAW,CAAC,CAAC;IAM7B,yBAAyB,GAAW,CAAC,CAAC;IAMtC,UAAU,GAAW,CAAC,CAAC;IAMvB,mBAAmB,GAAW,CAAC,CAAC;IAMhC,gCAAgC,GAAW,CAAC,CAAC;IAM7C,0BAA0B,GAAW,CAAC,CAAC;IAMvC,+BAA+B,GAAW,CAAC,CAAC;IAM5C,yBAAyB,GAAW,CAAC,CAAC;IAOtC,cAAc,GAAW,CAAC,CAAC;IAc3B,eAAe,CAIX;IAiBJ,QAAQ,GAA0B;QAChC,SAAS,EAAE,IAAI;KAChB,CAAC;CACH;AAvIC;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,6HAA6H;QAC1I,OAAO,EAAE,KAAK;KACf,CAAC;4DACqB;AAMvB;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,mQAAmQ;QAChR,OAAO,EAAE,IAAI;KACd,CAAC;6DACsB;AAMxB;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,yIAAyI;QACtJ,OAAO,EAAE,GAAG;KACb,CAAC;0DACmB;AAMrB;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,uPAAuP;QACpQ,OAAO,EAAE,IAAI;KACd,CAAC;4EACqC;AAMvC;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,wJAAwJ;QACrK,OAAO,EAAE,KAAK;KACf,CAAC;0EACmC;AAMrC;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,gKAAgK;QAC7K,OAAO,EAAE,QAAQ;KAClB,CAAC;wEACiC;AAMnC;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,qFAAqF;QAClG,OAAO,EAAE,IAAI;KACd,CAAC;6DACsB;AAMxB;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,iJAAiJ;QAC9J,OAAO,EAAE,GAAG;KACb,CAAC;sEAC+B;AAMjC;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,+FAA+F;QAC5G,OAAO,EAAE,GAAG;KACb,CAAC;kEAC2B;AAM7B;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,gKAAgK;QAC7K,OAAO,EAAE,GAAG;KACb,CAAC;2EACoC;AAMtC;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,mIAAmI;QAChJ,OAAO,EAAE,GAAG;KACb,CAAC;4DACqB;AAMvB;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,2FAA2F;QACxG,OAAO,EAAE,GAAG;KACb,CAAC;qEAC8B;AAMhC;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,wNAAwN;QACrO,OAAO,EAAE,IAAI;KACd,CAAC;kFAC2C;AAM7C;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,4JAA4J;QACzK,OAAO,EAAE,GAAG;KACb,CAAC;4EACqC;AAMvC;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,2KAA2K;QACxL,OAAO,EAAE,GAAG;KACb,CAAC;iFAC0C;AAM5C;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,yFAAyF;QACtG,OAAO,EAAE,GAAG;KACb,CAAC;2EACoC;AAOtC;IALC,WAAW,CAAC;QACX,WAAW,EAAE,wJAAwJ;QACrK,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,QAAQ;KACf,CAAC;gEACyB;AAc3B;IAZC,mBAAmB,CAAC;QACnB,WAAW,EAAE,yCAAyC;QACtD,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;gBAC/C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;gBAC7C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;aAC1C;SACF;KACF,CAAC;iEAKE;AAiBJ;IAfC,WAAW,CAAC;QACX,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;oBAClD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;iBACjD;gBACD,WAAW,EAAE,uDAAuD;aACrE;SACF;KACF,CAAC;0DAGA"}
|
package/package.json
CHANGED