@explorins/pers-shared 2.1.78 → 2.1.80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/cjs/shared-lib/dto/campaign/campaign-claim-analytics.dto.js +14 -14
  2. package/dist/cjs/shared-lib/dto/campaign/campaign-claim-analytics.dto.js.map +1 -1
  3. package/dist/cjs/shared-lib/dto/index.d.ts +1 -0
  4. package/dist/cjs/shared-lib/dto/index.d.ts.map +1 -1
  5. package/dist/cjs/shared-lib/dto/index.js +1 -0
  6. package/dist/cjs/shared-lib/dto/index.js.map +1 -1
  7. package/dist/cjs/shared-lib/dto/user-analytics.dto.d.ts +46 -0
  8. package/dist/cjs/shared-lib/dto/user-analytics.dto.d.ts.map +1 -0
  9. package/dist/cjs/shared-lib/dto/user-analytics.dto.js +194 -0
  10. package/dist/cjs/shared-lib/dto/user-analytics.dto.js.map +1 -0
  11. package/dist/cjs/shared-lib/dto/user.dto.d.ts +2 -0
  12. package/dist/cjs/shared-lib/dto/user.dto.d.ts.map +1 -1
  13. package/dist/cjs/shared-lib/dto/user.dto.js +17 -0
  14. package/dist/cjs/shared-lib/dto/user.dto.js.map +1 -1
  15. package/dist/esm/shared-lib/dto/campaign/campaign-claim-analytics.dto.js +14 -14
  16. package/dist/esm/shared-lib/dto/campaign/campaign-claim-analytics.dto.js.map +1 -1
  17. package/dist/esm/shared-lib/dto/index.d.ts +1 -0
  18. package/dist/esm/shared-lib/dto/index.d.ts.map +1 -1
  19. package/dist/esm/shared-lib/dto/index.js +1 -0
  20. package/dist/esm/shared-lib/dto/index.js.map +1 -1
  21. package/dist/esm/shared-lib/dto/user-analytics.dto.d.ts +46 -0
  22. package/dist/esm/shared-lib/dto/user-analytics.dto.d.ts.map +1 -0
  23. package/dist/esm/shared-lib/dto/user-analytics.dto.js +169 -0
  24. package/dist/esm/shared-lib/dto/user-analytics.dto.js.map +1 -0
  25. package/dist/esm/shared-lib/dto/user.dto.d.ts +2 -0
  26. package/dist/esm/shared-lib/dto/user.dto.d.ts.map +1 -1
  27. package/dist/esm/shared-lib/dto/user.dto.js +15 -0
  28. package/dist/esm/shared-lib/dto/user.dto.js.map +1 -1
  29. package/package.json +1 -1
@@ -50,21 +50,21 @@ class CampaignClaimAnalyticsDTO {
50
50
  exports.CampaignClaimAnalyticsDTO = CampaignClaimAnalyticsDTO;
51
51
  __decorate([
52
52
  (0, swagger_1.ApiProperty)({
53
- description: 'Unique claim ID',
53
+ description: 'Unique claim ID (UUID) - primary identifier for this claim record',
54
54
  example: 'claim-uuid-123'
55
55
  }),
56
56
  __metadata("design:type", String)
57
57
  ], CampaignClaimAnalyticsDTO.prototype, "id", void 0);
58
58
  __decorate([
59
59
  (0, swagger_1.ApiProperty)({
60
- description: 'Timestamp when claim was created',
60
+ description: 'Timestamp when claim was created (ISO 8601 format). Used for time-based analytics and filtering.',
61
61
  type: Date
62
62
  }),
63
63
  __metadata("design:type", Object)
64
64
  ], CampaignClaimAnalyticsDTO.prototype, "createdAt", void 0);
65
65
  __decorate([
66
66
  (0, swagger_1.ApiPropertyOptional)({
67
- description: 'User ID - foreign key for groupBy operations',
67
+ description: 'User ID (UUID) who made the claim - foreign key reference. Use for user-based grouping and aggregations.',
68
68
  type: String,
69
69
  nullable: true,
70
70
  example: 'user-uuid-123'
@@ -73,7 +73,7 @@ __decorate([
73
73
  ], CampaignClaimAnalyticsDTO.prototype, "userId", void 0);
74
74
  __decorate([
75
75
  (0, swagger_1.ApiPropertyOptional)({
76
- description: 'Campaign ID - foreign key for groupBy operations',
76
+ description: 'Campaign ID (UUID) that was claimed - foreign key reference. Use for campaign performance analytics and grouping.',
77
77
  type: String,
78
78
  nullable: true,
79
79
  example: 'campaign-uuid-456'
@@ -82,7 +82,7 @@ __decorate([
82
82
  ], CampaignClaimAnalyticsDTO.prototype, "campaignId", void 0);
83
83
  __decorate([
84
84
  (0, swagger_1.ApiPropertyOptional)({
85
- description: 'Business ID - foreign key for groupBy operations',
85
+ description: 'Business ID (UUID) associated with the claim - foreign key reference. Use for business-level analytics and grouping.',
86
86
  type: String,
87
87
  nullable: true,
88
88
  example: 'business-uuid-789'
@@ -91,7 +91,7 @@ __decorate([
91
91
  ], CampaignClaimAnalyticsDTO.prototype, "businessId", void 0);
92
92
  __decorate([
93
93
  (0, swagger_1.ApiPropertyOptional)({
94
- description: 'Trigger Source ID - foreign key for groupBy operations',
94
+ description: 'Trigger Source ID (UUID) - the specific trigger (QR code, geofence, etc.) that initiated the claim. Use for trigger effectiveness analytics.',
95
95
  type: String,
96
96
  nullable: true,
97
97
  example: 'trigger-uuid-101'
@@ -100,7 +100,7 @@ __decorate([
100
100
  ], CampaignClaimAnalyticsDTO.prototype, "triggerSourceId", void 0);
101
101
  __decorate([
102
102
  (0, swagger_1.ApiPropertyOptional)({
103
- description: 'User who claimed the campaign (full object for analytics)',
103
+ description: 'Full user object (enriched data) - includes email, wallet address, public profile. Only populated when "include=user" query parameter is provided. NULL if not requested to optimize response size.',
104
104
  type: () => user_dto_1.UserDTO,
105
105
  nullable: true
106
106
  }),
@@ -108,7 +108,7 @@ __decorate([
108
108
  ], CampaignClaimAnalyticsDTO.prototype, "user", void 0);
109
109
  __decorate([
110
110
  (0, swagger_1.ApiPropertyOptional)({
111
- description: 'Campaign that was claimed (full object for analytics)',
111
+ description: 'Full campaign object (enriched data) - includes name, description, token rewards. Only populated when "include=campaign" query parameter is provided. NULL if not requested to optimize response size.',
112
112
  type: () => campaign_dto_1.CampaignDTO,
113
113
  nullable: true
114
114
  }),
@@ -116,7 +116,7 @@ __decorate([
116
116
  ], CampaignClaimAnalyticsDTO.prototype, "campaign", void 0);
117
117
  __decorate([
118
118
  (0, swagger_1.ApiPropertyOptional)({
119
- description: 'Business associated with claim (full object for analytics)',
119
+ description: 'Full business object (enriched data) - includes business name, location, logo. Only populated when "include=business" query parameter is provided. NULL if not requested to optimize response size.',
120
120
  type: () => business_dto_1.BusinessDTO,
121
121
  nullable: true
122
122
  }),
@@ -124,7 +124,7 @@ __decorate([
124
124
  ], CampaignClaimAnalyticsDTO.prototype, "business", void 0);
125
125
  __decorate([
126
126
  (0, swagger_1.ApiPropertyOptional)({
127
- description: 'Trigger source used for claim (full object for analytics)',
127
+ description: 'Full trigger source object (enriched data) - includes trigger type, location, configuration. Only populated when "include=triggerSource" query parameter is provided. NULL if not requested to optimize response size.',
128
128
  type: () => trigger_source_dto_1.TriggerSourceDTO,
129
129
  nullable: true
130
130
  }),
@@ -132,7 +132,7 @@ __decorate([
132
132
  ], CampaignClaimAnalyticsDTO.prototype, "triggerSource", void 0);
133
133
  __decorate([
134
134
  (0, swagger_1.ApiProperty)({
135
- description: 'Processing status of the claim',
135
+ description: 'Processing status of the claim lifecycle: PENDING (created, awaiting blockchain), PROCESSING (blockchain transaction in progress), COMPLETED (tokens delivered successfully), FAILED (error occurred). Filter by COMPLETED for successful claims in analytics.',
136
136
  enum: enum_1.ProcessRecordStatus,
137
137
  example: enum_1.ProcessRecordStatus.COMPLETED
138
138
  }),
@@ -140,7 +140,7 @@ __decorate([
140
140
  ], CampaignClaimAnalyticsDTO.prototype, "status", void 0);
141
141
  __decorate([
142
142
  (0, swagger_1.ApiPropertyOptional)({
143
- description: 'Country code of user at time of claim',
143
+ description: 'ISO 3166-1 alpha-2 country code of the user at time of claim (derived from IP geolocation). Used for geographic analytics and compliance reporting.',
144
144
  type: String,
145
145
  nullable: true,
146
146
  example: 'US'
@@ -149,7 +149,7 @@ __decorate([
149
149
  ], CampaignClaimAnalyticsDTO.prototype, "userCountryCode", void 0);
150
150
  __decorate([
151
151
  (0, swagger_1.ApiPropertyOptional)({
152
- description: 'Latitude coordinate of claim location',
152
+ description: 'Latitude coordinate (decimal degrees) of claim location. Combined with longitude for geospatial analytics, heatmaps, and location-based insights. NULL if location not available.',
153
153
  type: Number,
154
154
  nullable: true,
155
155
  example: 47.6062
@@ -158,7 +158,7 @@ __decorate([
158
158
  ], CampaignClaimAnalyticsDTO.prototype, "latitude", void 0);
159
159
  __decorate([
160
160
  (0, swagger_1.ApiPropertyOptional)({
161
- description: 'Longitude coordinate of claim location',
161
+ description: 'Longitude coordinate (decimal degrees) of claim location. Combined with latitude for geospatial analytics, heatmaps, and location-based insights. NULL if location not available.',
162
162
  type: Number,
163
163
  nullable: true,
164
164
  example: -122.3321
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-claim-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign-claim-analytics.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaign-claim-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign-claim-analytics.dto.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export * from './tenant';
6
6
  export * from './user.dto';
7
7
  export * from './user.request.dto';
8
8
  export * from './user-status-type.dto';
9
+ export * from './user-analytics.dto';
9
10
  export * from './userUploadData.dto';
10
11
  export * from './error-response.dto';
11
12
  export * from './account-token-balances.dto';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":"AAKA,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAGhD,cAAc,QAAQ,CAAC;AAGvB,cAAc,YAAY,CAAA;AAG1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAI3B,cAAc,cAAc,CAAC;AAE7B,cAAc,WAAW,CAAA;AAGzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAI9C,cAAc,mBAAmB,CAAA;AAGjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAIlC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":"AAKA,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAGhD,cAAc,QAAQ,CAAC;AAGvB,cAAc,YAAY,CAAA;AAG1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAI3B,cAAc,cAAc,CAAC;AAE7B,cAAc,WAAW,CAAA;AAGzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAI9C,cAAc,mBAAmB,CAAA;AAGjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAIlC,cAAc,SAAS,CAAC"}
@@ -28,6 +28,7 @@ __exportStar(require("./tenant"), exports);
28
28
  __exportStar(require("./user.dto"), exports);
29
29
  __exportStar(require("./user.request.dto"), exports);
30
30
  __exportStar(require("./user-status-type.dto"), exports);
31
+ __exportStar(require("./user-analytics.dto"), exports);
31
32
  __exportStar(require("./userUploadData.dto"), exports);
32
33
  // Error Response DTOs
33
34
  __exportStar(require("./error-response.dto"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,qFAAqF;;;;;;;;;;;;;;;;AAGrF,iBAAiB;AACjB,sEAAoD;AACpD,kEAAgD;AAEhD,YAAY;AACZ,yCAAuB;AAEvB,gBAAgB;AAChB,6CAA0B;AAE1B,YAAY;AACZ,2CAAyB;AACzB,6CAA2B;AAC3B,qDAAmC;AACnC,yDAAuC;AACvC,uDAAqC;AAErC,sBAAsB;AACtB,uDAAqC;AACrC,+DAA6C;AAE7C,sDAAoC;AACpC,oDAAkC;AAClC,4CAA0B;AAC1B,+CAA6B;AAE7B,aAAa;AACb,0CAAwB;AAExB,mBAAmB;AACnB,gDAA8B;AAE9B,gBAAgB;AAChB,6CAA2B;AAG3B,kBAAkB;AAClB,+CAA6B;AAE7B,4CAAyB;AAEzB,gBAAgB;AAChB,0DAAwC;AACxC,gEAA8C;AAC9C,wEAAsD;AACtD,wEAAsD;AACtD,uEAAqD;AACrD,iEAA+C;AAC/C,0EAAwD;AACxD,kFAAgE;AAChE,0EAAwD;AACxD,mEAAiD;AACjD,sFAAoE;AACpE,8EAA4D;AAC5D,gEAA8C;AAG9C,uBAAuB;AACvB,oDAAiC;AAEjC,mBAAmB;AACnB,yDAAuC;AAEvC,aAAa;AACb,+CAA6B;AAE7B,oDAAkC;AAGlC,aAAa;AACb,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,qFAAqF;;;;;;;;;;;;;;;;AAGrF,iBAAiB;AACjB,sEAAoD;AACpD,kEAAgD;AAEhD,YAAY;AACZ,yCAAuB;AAEvB,gBAAgB;AAChB,6CAA0B;AAE1B,YAAY;AACZ,2CAAyB;AACzB,6CAA2B;AAC3B,qDAAmC;AACnC,yDAAuC;AACvC,uDAAqC;AACrC,uDAAqC;AAErC,sBAAsB;AACtB,uDAAqC;AACrC,+DAA6C;AAE7C,sDAAoC;AACpC,oDAAkC;AAClC,4CAA0B;AAC1B,+CAA6B;AAE7B,aAAa;AACb,0CAAwB;AAExB,mBAAmB;AACnB,gDAA8B;AAE9B,gBAAgB;AAChB,6CAA2B;AAG3B,kBAAkB;AAClB,+CAA6B;AAE7B,4CAAyB;AAEzB,gBAAgB;AAChB,0DAAwC;AACxC,gEAA8C;AAC9C,wEAAsD;AACtD,wEAAsD;AACtD,uEAAqD;AACrD,iEAA+C;AAC/C,0EAAwD;AACxD,kFAAgE;AAChE,0EAAwD;AACxD,mEAAiD;AACjD,sFAAoE;AACpE,8EAA4D;AAC5D,gEAA8C;AAG9C,uBAAuB;AACvB,oDAAiC;AAEjC,mBAAmB;AACnB,yDAAuC;AAEvC,aAAa;AACb,+CAA6B;AAE7B,oDAAkC;AAGlC,aAAa;AACb,0CAAwB"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * USER ANALYTICS REQUEST DTO
3
+ *
4
+ * Filters for user analytics queries.
5
+ * Supports date range filtering and business-specific analytics.
6
+ */
7
+ export declare class UserAnalyticsRequestDTO {
8
+ startDate?: Date;
9
+ endDate?: Date;
10
+ businessId?: string;
11
+ }
12
+ /**
13
+ * USER ANALYTICS RESPONSE DTO
14
+ *
15
+ * Aggregated user statistics and metrics.
16
+ * Uses ONLY database-stored data (user, transaction, campaign_user_claim tables).
17
+ *
18
+ * NOTE: Does NOT include blockchain balance data (fetched on-demand via Web3, not stored in DB).
19
+ */
20
+ export declare class UserAnalyticsResponseDTO {
21
+ totalUsers: number;
22
+ activeUsers: number;
23
+ newUsers: number;
24
+ averageTransactionsPerUser: number;
25
+ averageTransactionAmount: number;
26
+ totalTransactionVolume: number;
27
+ averageClaimsPerUser: number;
28
+ averageRedemptionsPerUser: number;
29
+ averageTransactionsPerActiveUser: number;
30
+ averageClaimsPerActiveUser: number;
31
+ averageRedemptionsPerActiveUser: number;
32
+ engagementRate: number;
33
+ periodBreakdown?: {
34
+ date: string;
35
+ activeUsers: number;
36
+ newUsers: number;
37
+ }[];
38
+ metadata: {
39
+ executionTimeMs: number;
40
+ dateRange?: {
41
+ startDate: Date;
42
+ endDate: Date;
43
+ };
44
+ };
45
+ }
46
+ //# sourceMappingURL=user-analytics.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user-analytics.dto.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,qBAAa,uBAAuB;IAKlC,SAAS,CAAC,EAAE,IAAI,CAAC;IAMjB,OAAO,CAAC,EAAE,IAAI,CAAC;IAMf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;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;IAO5C,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;IAqBJ,QAAQ,EAAE;QACR,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE;YACV,SAAS,EAAE,IAAI,CAAC;YAChB,OAAO,EAAE,IAAI,CAAC;SACf,CAAC;KACH,CAA0B;CAC5B"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UserAnalyticsResponseDTO = exports.UserAnalyticsRequestDTO = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ /**
15
+ * USER ANALYTICS REQUEST DTO
16
+ *
17
+ * Filters for user analytics queries.
18
+ * Supports date range filtering and business-specific analytics.
19
+ */
20
+ class UserAnalyticsRequestDTO {
21
+ startDate;
22
+ endDate;
23
+ businessId;
24
+ }
25
+ exports.UserAnalyticsRequestDTO = UserAnalyticsRequestDTO;
26
+ __decorate([
27
+ (0, swagger_1.ApiPropertyOptional)({
28
+ description: 'Start date for filtering (ISO 8601)',
29
+ example: '2024-01-01T00:00:00Z'
30
+ }),
31
+ __metadata("design:type", Date)
32
+ ], UserAnalyticsRequestDTO.prototype, "startDate", void 0);
33
+ __decorate([
34
+ (0, swagger_1.ApiPropertyOptional)({
35
+ description: 'End date for filtering (ISO 8601)',
36
+ example: '2024-12-31T23:59:59Z'
37
+ }),
38
+ __metadata("design:type", Date)
39
+ ], UserAnalyticsRequestDTO.prototype, "endDate", void 0);
40
+ __decorate([
41
+ (0, swagger_1.ApiPropertyOptional)({
42
+ description: 'Filter by specific business ID',
43
+ example: 'biz-uuid-123'
44
+ }),
45
+ __metadata("design:type", String)
46
+ ], UserAnalyticsRequestDTO.prototype, "businessId", void 0);
47
+ /**
48
+ * USER ANALYTICS RESPONSE DTO
49
+ *
50
+ * Aggregated user statistics and metrics.
51
+ * Uses ONLY database-stored data (user, transaction, campaign_user_claim tables).
52
+ *
53
+ * NOTE: Does NOT include blockchain balance data (fetched on-demand via Web3, not stored in DB).
54
+ */
55
+ class UserAnalyticsResponseDTO {
56
+ totalUsers = 0;
57
+ activeUsers = 0;
58
+ newUsers = 0;
59
+ averageTransactionsPerUser = 0;
60
+ averageTransactionAmount = 0;
61
+ totalTransactionVolume = 0;
62
+ averageClaimsPerUser = 0;
63
+ averageRedemptionsPerUser = 0;
64
+ averageTransactionsPerActiveUser = 0;
65
+ averageClaimsPerActiveUser = 0;
66
+ averageRedemptionsPerActiveUser = 0;
67
+ engagementRate = 0;
68
+ periodBreakdown;
69
+ metadata = { executionTimeMs: 0 };
70
+ }
71
+ exports.UserAnalyticsResponseDTO = UserAnalyticsResponseDTO;
72
+ __decorate([
73
+ (0, swagger_1.ApiProperty)({
74
+ description: 'Total number of registered users (all-time, no date filter applied). Includes all non-deleted users regardless of activity.',
75
+ example: 10523
76
+ }),
77
+ __metadata("design:type", Number)
78
+ ], UserAnalyticsResponseDTO.prototype, "totalUsers", void 0);
79
+ __decorate([
80
+ (0, swagger_1.ApiProperty)({
81
+ description: 'Number of active users - users with ≥1 successful transaction (status=succeeded), completed claim (status=COMPLETED), or completed redemption (status=COMPLETED) within the specified date range. If no date range provided, counts users with any activity ever.',
82
+ example: 3241
83
+ }),
84
+ __metadata("design:type", Number)
85
+ ], UserAnalyticsResponseDTO.prototype, "activeUsers", void 0);
86
+ __decorate([
87
+ (0, swagger_1.ApiProperty)({
88
+ description: 'Number of new users created within the specified date range (filtered by user.createdAt). If no date range provided, equals totalUsers.',
89
+ example: 156
90
+ }),
91
+ __metadata("design:type", Number)
92
+ ], UserAnalyticsResponseDTO.prototype, "newUsers", void 0);
93
+ __decorate([
94
+ (0, swagger_1.ApiProperty)({
95
+ description: 'Average transactions per user across entire user base (total successful transactions in date range ÷ total users). Only counts transactions with status=succeeded, excludes REDEMPTION_SPEND and REDEMPTION_RECEIVE types to prevent double-counting.',
96
+ example: 12.5
97
+ }),
98
+ __metadata("design:type", Number)
99
+ ], UserAnalyticsResponseDTO.prototype, "averageTransactionsPerUser", void 0);
100
+ __decorate([
101
+ (0, swagger_1.ApiProperty)({
102
+ description: 'Average amount per transaction (total transaction volume ÷ transaction count). Only includes successful transactions (status=succeeded) in date range.',
103
+ example: 45.67
104
+ }),
105
+ __metadata("design:type", Number)
106
+ ], UserAnalyticsResponseDTO.prototype, "averageTransactionAmount", void 0);
107
+ __decorate([
108
+ (0, swagger_1.ApiProperty)({
109
+ description: 'Total transaction volume - sum of all successful transaction amounts (status=succeeded) in date range. Excludes REDEMPTION_SPEND and REDEMPTION_RECEIVE types.',
110
+ example: 56789.12
111
+ }),
112
+ __metadata("design:type", Number)
113
+ ], UserAnalyticsResponseDTO.prototype, "totalTransactionVolume", void 0);
114
+ __decorate([
115
+ (0, swagger_1.ApiProperty)({
116
+ description: 'Average claims per user across entire user base (total completed claims in date range ÷ total users). Only counts claims with status=COMPLETED.',
117
+ example: 3.2
118
+ }),
119
+ __metadata("design:type", Number)
120
+ ], UserAnalyticsResponseDTO.prototype, "averageClaimsPerUser", void 0);
121
+ __decorate([
122
+ (0, swagger_1.ApiProperty)({
123
+ description: 'Average redemptions per user across entire user base (total completed redemptions in date range ÷ total users). Only counts redemptions with status=COMPLETED.',
124
+ example: 1.8
125
+ }),
126
+ __metadata("design:type", Number)
127
+ ], UserAnalyticsResponseDTO.prototype, "averageRedemptionsPerUser", void 0);
128
+ __decorate([
129
+ (0, swagger_1.ApiProperty)({
130
+ 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.',
131
+ example: 15.3
132
+ }),
133
+ __metadata("design:type", Number)
134
+ ], UserAnalyticsResponseDTO.prototype, "averageTransactionsPerActiveUser", void 0);
135
+ __decorate([
136
+ (0, swagger_1.ApiProperty)({
137
+ description: 'Average claims per active user (total completed claims in date range ÷ active users in date range). Shows claim activity concentrated among engaged users.',
138
+ example: 4.7
139
+ }),
140
+ __metadata("design:type", Number)
141
+ ], UserAnalyticsResponseDTO.prototype, "averageClaimsPerActiveUser", void 0);
142
+ __decorate([
143
+ (0, swagger_1.ApiProperty)({
144
+ description: 'Average redemptions per active user (total completed redemptions in date range ÷ active users in date range). Shows redemption activity concentrated among engaged users.',
145
+ example: 2.1
146
+ }),
147
+ __metadata("design:type", Number)
148
+ ], UserAnalyticsResponseDTO.prototype, "averageRedemptionsPerActiveUser", void 0);
149
+ __decorate([
150
+ (0, swagger_1.ApiProperty)({
151
+ description: 'User engagement rate as percentage (activeUsers ÷ totalUsers × 100). Indicates what percentage of all registered users had activity in the date range.',
152
+ example: 30.79,
153
+ type: 'number'
154
+ }),
155
+ __metadata("design:type", Number)
156
+ ], UserAnalyticsResponseDTO.prototype, "engagementRate", void 0);
157
+ __decorate([
158
+ (0, swagger_1.ApiPropertyOptional)({
159
+ description: 'Breakdown by time period (if requested)',
160
+ type: 'array',
161
+ items: {
162
+ type: 'object',
163
+ properties: {
164
+ date: { type: 'string', example: '2024-01-01' },
165
+ activeUsers: { type: 'number', example: 245 },
166
+ newUsers: { type: 'number', example: 12 }
167
+ }
168
+ }
169
+ }),
170
+ __metadata("design:type", Array)
171
+ ], UserAnalyticsResponseDTO.prototype, "periodBreakdown", void 0);
172
+ __decorate([
173
+ (0, swagger_1.ApiProperty)({
174
+ description: 'Query execution metadata including timing and applied filters',
175
+ type: 'object',
176
+ properties: {
177
+ executionTimeMs: {
178
+ type: 'number',
179
+ example: 142,
180
+ description: 'SQL query execution time in milliseconds (for performance monitoring)'
181
+ },
182
+ dateRange: {
183
+ type: 'object',
184
+ properties: {
185
+ startDate: { type: 'string', format: 'date-time' },
186
+ endDate: { type: 'string', format: 'date-time' }
187
+ },
188
+ description: 'Applied date range filter (only present if filters were used)'
189
+ }
190
+ }
191
+ }),
192
+ __metadata("design:type", Object)
193
+ ], UserAnalyticsResponseDTO.prototype, "metadata", void 0);
194
+ //# sourceMappingURL=user-analytics.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-analytics.dto.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user-analytics.dto.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export declare class UserDTO {
22
22
  isActive: boolean;
23
23
  currentSigningAccountId: string | null;
24
24
  wallets: PublicWalletDTO[];
25
+ createdAt: Date;
26
+ updatedAt: Date | null;
25
27
  }
26
28
  export declare class PublicUserDTO {
27
29
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"user.dto.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,qBAAa,OAAO;IAGhB,EAAE,EAAG,MAAM,CAAM;IAIjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM5B,eAAe,EAAE,MAAM,CAAM;IAW7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMhC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEjC;;OAEG;IAQH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAQrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMzC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAKxC,UAAU,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAOhD,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAKnD,QAAQ,EAAE,OAAO,CAAQ;IAMzB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO9C,OAAO,EAAE,eAAe,EAAE,CAAM;CACnC;AAED,qBAAa,aAAa;IAEtB,EAAE,EAAG,MAAM,CAAM;IAKjB,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;CAC7C;AAED,qBAAa,oBAAqB,SAAQ,OAAO;IAK7C,aAAa,EAAE,uBAAuB,EAAE,CAAM;CACjD;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"user.dto.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,qBAAa,OAAO;IAGhB,EAAE,EAAG,MAAM,CAAM;IAIjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM5B,eAAe,EAAE,MAAM,CAAM;IAW7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMhC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEjC;;OAEG;IAQH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAQrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMzC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAKxC,UAAU,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAOhD,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAKnD,QAAQ,EAAE,OAAO,CAAQ;IAMzB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO9C,OAAO,EAAE,eAAe,EAAE,CAAM;IAMhC,SAAS,EAAE,IAAI,CAAc;IAO7B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;CACjC;AAED,qBAAa,aAAa;IAEtB,EAAE,EAAG,MAAM,CAAM;IAKjB,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;CAC7C;AAED,qBAAa,oBAAqB,SAAQ,OAAO;IAK7C,aAAa,EAAE,uBAAuB,EAAE,CAAM;CACjD;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC"}
@@ -36,6 +36,8 @@ class UserDTO {
36
36
  isActive = true;
37
37
  currentSigningAccountId = null;
38
38
  wallets = [];
39
+ createdAt = new Date();
40
+ updatedAt = null;
39
41
  }
40
42
  exports.UserDTO = UserDTO;
41
43
  __decorate([
@@ -123,6 +125,21 @@ __decorate([
123
125
  }),
124
126
  __metadata("design:type", Array)
125
127
  ], UserDTO.prototype, "wallets", void 0);
128
+ __decorate([
129
+ (0, swagger_1.ApiProperty)({
130
+ description: 'Timestamp when the user was created',
131
+ type: Date
132
+ }),
133
+ __metadata("design:type", Date)
134
+ ], UserDTO.prototype, "createdAt", void 0);
135
+ __decorate([
136
+ (0, swagger_1.ApiProperty)({
137
+ description: 'Timestamp when the user was last updated',
138
+ type: Date,
139
+ nullable: true
140
+ }),
141
+ __metadata("design:type", Object)
142
+ ], UserDTO.prototype, "updatedAt", void 0);
126
143
  class PublicUserDTO {
127
144
  id = '';
128
145
  publicProfile = {};
@@ -1 +1 @@
1
- {"version":3,"file":"user.dto.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.dto.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user.dto.ts"],"names":[],"mappings":"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"}
@@ -43,19 +43,19 @@ export class CampaignClaimAnalyticsDTO {
43
43
  }
44
44
  __decorate([
45
45
  ApiProperty({
46
- description: 'Unique claim ID',
46
+ description: 'Unique claim ID (UUID) - primary identifier for this claim record',
47
47
  example: 'claim-uuid-123'
48
48
  })
49
49
  ], CampaignClaimAnalyticsDTO.prototype, "id", void 0);
50
50
  __decorate([
51
51
  ApiProperty({
52
- description: 'Timestamp when claim was created',
52
+ description: 'Timestamp when claim was created (ISO 8601 format). Used for time-based analytics and filtering.',
53
53
  type: Date
54
54
  })
55
55
  ], CampaignClaimAnalyticsDTO.prototype, "createdAt", void 0);
56
56
  __decorate([
57
57
  ApiPropertyOptional({
58
- description: 'User ID - foreign key for groupBy operations',
58
+ description: 'User ID (UUID) who made the claim - foreign key reference. Use for user-based grouping and aggregations.',
59
59
  type: String,
60
60
  nullable: true,
61
61
  example: 'user-uuid-123'
@@ -63,7 +63,7 @@ __decorate([
63
63
  ], CampaignClaimAnalyticsDTO.prototype, "userId", void 0);
64
64
  __decorate([
65
65
  ApiPropertyOptional({
66
- description: 'Campaign ID - foreign key for groupBy operations',
66
+ description: 'Campaign ID (UUID) that was claimed - foreign key reference. Use for campaign performance analytics and grouping.',
67
67
  type: String,
68
68
  nullable: true,
69
69
  example: 'campaign-uuid-456'
@@ -71,7 +71,7 @@ __decorate([
71
71
  ], CampaignClaimAnalyticsDTO.prototype, "campaignId", void 0);
72
72
  __decorate([
73
73
  ApiPropertyOptional({
74
- description: 'Business ID - foreign key for groupBy operations',
74
+ description: 'Business ID (UUID) associated with the claim - foreign key reference. Use for business-level analytics and grouping.',
75
75
  type: String,
76
76
  nullable: true,
77
77
  example: 'business-uuid-789'
@@ -79,7 +79,7 @@ __decorate([
79
79
  ], CampaignClaimAnalyticsDTO.prototype, "businessId", void 0);
80
80
  __decorate([
81
81
  ApiPropertyOptional({
82
- description: 'Trigger Source ID - foreign key for groupBy operations',
82
+ description: 'Trigger Source ID (UUID) - the specific trigger (QR code, geofence, etc.) that initiated the claim. Use for trigger effectiveness analytics.',
83
83
  type: String,
84
84
  nullable: true,
85
85
  example: 'trigger-uuid-101'
@@ -87,42 +87,42 @@ __decorate([
87
87
  ], CampaignClaimAnalyticsDTO.prototype, "triggerSourceId", void 0);
88
88
  __decorate([
89
89
  ApiPropertyOptional({
90
- description: 'User who claimed the campaign (full object for analytics)',
90
+ description: 'Full user object (enriched data) - includes email, wallet address, public profile. Only populated when "include=user" query parameter is provided. NULL if not requested to optimize response size.',
91
91
  type: () => UserDTO,
92
92
  nullable: true
93
93
  })
94
94
  ], CampaignClaimAnalyticsDTO.prototype, "user", void 0);
95
95
  __decorate([
96
96
  ApiPropertyOptional({
97
- description: 'Campaign that was claimed (full object for analytics)',
97
+ description: 'Full campaign object (enriched data) - includes name, description, token rewards. Only populated when "include=campaign" query parameter is provided. NULL if not requested to optimize response size.',
98
98
  type: () => CampaignDTO,
99
99
  nullable: true
100
100
  })
101
101
  ], CampaignClaimAnalyticsDTO.prototype, "campaign", void 0);
102
102
  __decorate([
103
103
  ApiPropertyOptional({
104
- description: 'Business associated with claim (full object for analytics)',
104
+ description: 'Full business object (enriched data) - includes business name, location, logo. Only populated when "include=business" query parameter is provided. NULL if not requested to optimize response size.',
105
105
  type: () => BusinessDTO,
106
106
  nullable: true
107
107
  })
108
108
  ], CampaignClaimAnalyticsDTO.prototype, "business", void 0);
109
109
  __decorate([
110
110
  ApiPropertyOptional({
111
- description: 'Trigger source used for claim (full object for analytics)',
111
+ description: 'Full trigger source object (enriched data) - includes trigger type, location, configuration. Only populated when "include=triggerSource" query parameter is provided. NULL if not requested to optimize response size.',
112
112
  type: () => TriggerSourceDTO,
113
113
  nullable: true
114
114
  })
115
115
  ], CampaignClaimAnalyticsDTO.prototype, "triggerSource", void 0);
116
116
  __decorate([
117
117
  ApiProperty({
118
- description: 'Processing status of the claim',
118
+ description: 'Processing status of the claim lifecycle: PENDING (created, awaiting blockchain), PROCESSING (blockchain transaction in progress), COMPLETED (tokens delivered successfully), FAILED (error occurred). Filter by COMPLETED for successful claims in analytics.',
119
119
  enum: ProcessRecordStatus,
120
120
  example: ProcessRecordStatus.COMPLETED
121
121
  })
122
122
  ], CampaignClaimAnalyticsDTO.prototype, "status", void 0);
123
123
  __decorate([
124
124
  ApiPropertyOptional({
125
- description: 'Country code of user at time of claim',
125
+ description: 'ISO 3166-1 alpha-2 country code of the user at time of claim (derived from IP geolocation). Used for geographic analytics and compliance reporting.',
126
126
  type: String,
127
127
  nullable: true,
128
128
  example: 'US'
@@ -130,7 +130,7 @@ __decorate([
130
130
  ], CampaignClaimAnalyticsDTO.prototype, "userCountryCode", void 0);
131
131
  __decorate([
132
132
  ApiPropertyOptional({
133
- description: 'Latitude coordinate of claim location',
133
+ description: 'Latitude coordinate (decimal degrees) of claim location. Combined with longitude for geospatial analytics, heatmaps, and location-based insights. NULL if location not available.',
134
134
  type: Number,
135
135
  nullable: true,
136
136
  example: 47.6062
@@ -138,7 +138,7 @@ __decorate([
138
138
  ], CampaignClaimAnalyticsDTO.prototype, "latitude", void 0);
139
139
  __decorate([
140
140
  ApiPropertyOptional({
141
- description: 'Longitude coordinate of claim location',
141
+ description: 'Longitude coordinate (decimal degrees) of claim location. Combined with latitude for geospatial analytics, heatmaps, and location-based insights. NULL if location not available.',
142
142
  type: Number,
143
143
  nullable: true,
144
144
  example: -122.3321
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-claim-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign-claim-analytics.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaign-claim-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign-claim-analytics.dto.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export * from './tenant';
6
6
  export * from './user.dto';
7
7
  export * from './user.request.dto';
8
8
  export * from './user-status-type.dto';
9
+ export * from './user-analytics.dto';
9
10
  export * from './userUploadData.dto';
10
11
  export * from './error-response.dto';
11
12
  export * from './account-token-balances.dto';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":"AAKA,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAGhD,cAAc,QAAQ,CAAC;AAGvB,cAAc,YAAY,CAAA;AAG1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAI3B,cAAc,cAAc,CAAC;AAE7B,cAAc,WAAW,CAAA;AAGzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAI9C,cAAc,mBAAmB,CAAA;AAGjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAIlC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":"AAKA,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAGhD,cAAc,QAAQ,CAAC;AAGvB,cAAc,YAAY,CAAA;AAG1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAI3B,cAAc,cAAc,CAAC;AAE7B,cAAc,WAAW,CAAA;AAGzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAI9C,cAAc,mBAAmB,CAAA;AAGjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAIlC,cAAc,SAAS,CAAC"}
@@ -12,6 +12,7 @@ export * from './tenant/index.js';
12
12
  export * from './user.dto.js';
13
13
  export * from './user.request.dto.js';
14
14
  export * from './user-status-type.dto.js';
15
+ export * from './user-analytics.dto.js';
15
16
  export * from './userUploadData.dto.js';
16
17
  // Error Response DTOs
17
18
  export * from './error-response.dto.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,qFAAqF;AAGrF,iBAAiB;AACjB,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAEhD,YAAY;AACZ,cAAc,QAAQ,CAAC;AAEvB,gBAAgB;AAChB,cAAc,YAAY,CAAA;AAE1B,YAAY;AACZ,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAErC,sBAAsB;AACtB,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAE7B,aAAa;AACb,cAAc,SAAS,CAAC;AAExB,mBAAmB;AACnB,cAAc,eAAe,CAAC;AAE9B,gBAAgB;AAChB,cAAc,YAAY,CAAC;AAG3B,kBAAkB;AAClB,cAAc,cAAc,CAAC;AAE7B,cAAc,WAAW,CAAA;AAEzB,gBAAgB;AAChB,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAG9C,uBAAuB;AACvB,cAAc,mBAAmB,CAAA;AAEjC,mBAAmB;AACnB,cAAc,wBAAwB,CAAC;AAEvC,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAGlC,aAAa;AACb,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,qFAAqF;AAGrF,iBAAiB;AACjB,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAEhD,YAAY;AACZ,cAAc,QAAQ,CAAC;AAEvB,gBAAgB;AAChB,cAAc,YAAY,CAAA;AAE1B,YAAY;AACZ,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AAErC,sBAAsB;AACtB,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAE7B,aAAa;AACb,cAAc,SAAS,CAAC;AAExB,mBAAmB;AACnB,cAAc,eAAe,CAAC;AAE9B,gBAAgB;AAChB,cAAc,YAAY,CAAC;AAG3B,kBAAkB;AAClB,cAAc,cAAc,CAAC;AAE7B,cAAc,WAAW,CAAA;AAEzB,gBAAgB;AAChB,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAG9C,uBAAuB;AACvB,cAAc,mBAAmB,CAAA;AAEjC,mBAAmB;AACnB,cAAc,wBAAwB,CAAC;AAEvC,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAGlC,aAAa;AACb,cAAc,SAAS,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * USER ANALYTICS REQUEST DTO
3
+ *
4
+ * Filters for user analytics queries.
5
+ * Supports date range filtering and business-specific analytics.
6
+ */
7
+ export declare class UserAnalyticsRequestDTO {
8
+ startDate?: Date;
9
+ endDate?: Date;
10
+ businessId?: string;
11
+ }
12
+ /**
13
+ * USER ANALYTICS RESPONSE DTO
14
+ *
15
+ * Aggregated user statistics and metrics.
16
+ * Uses ONLY database-stored data (user, transaction, campaign_user_claim tables).
17
+ *
18
+ * NOTE: Does NOT include blockchain balance data (fetched on-demand via Web3, not stored in DB).
19
+ */
20
+ export declare class UserAnalyticsResponseDTO {
21
+ totalUsers: number;
22
+ activeUsers: number;
23
+ newUsers: number;
24
+ averageTransactionsPerUser: number;
25
+ averageTransactionAmount: number;
26
+ totalTransactionVolume: number;
27
+ averageClaimsPerUser: number;
28
+ averageRedemptionsPerUser: number;
29
+ averageTransactionsPerActiveUser: number;
30
+ averageClaimsPerActiveUser: number;
31
+ averageRedemptionsPerActiveUser: number;
32
+ engagementRate: number;
33
+ periodBreakdown?: {
34
+ date: string;
35
+ activeUsers: number;
36
+ newUsers: number;
37
+ }[];
38
+ metadata: {
39
+ executionTimeMs: number;
40
+ dateRange?: {
41
+ startDate: Date;
42
+ endDate: Date;
43
+ };
44
+ };
45
+ }
46
+ //# sourceMappingURL=user-analytics.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user-analytics.dto.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,qBAAa,uBAAuB;IAKlC,SAAS,CAAC,EAAE,IAAI,CAAC;IAMjB,OAAO,CAAC,EAAE,IAAI,CAAC;IAMf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;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;IAO5C,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;IAqBJ,QAAQ,EAAE;QACR,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE;YACV,SAAS,EAAE,IAAI,CAAC;YAChB,OAAO,EAAE,IAAI,CAAC;SACf,CAAC;KACH,CAA0B;CAC5B"}
@@ -0,0 +1,169 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
8
+ /**
9
+ * USER ANALYTICS REQUEST DTO
10
+ *
11
+ * Filters for user analytics queries.
12
+ * Supports date range filtering and business-specific analytics.
13
+ */
14
+ export class UserAnalyticsRequestDTO {
15
+ startDate;
16
+ endDate;
17
+ businessId;
18
+ }
19
+ __decorate([
20
+ ApiPropertyOptional({
21
+ description: 'Start date for filtering (ISO 8601)',
22
+ example: '2024-01-01T00:00:00Z'
23
+ })
24
+ ], UserAnalyticsRequestDTO.prototype, "startDate", void 0);
25
+ __decorate([
26
+ ApiPropertyOptional({
27
+ description: 'End date for filtering (ISO 8601)',
28
+ example: '2024-12-31T23:59:59Z'
29
+ })
30
+ ], UserAnalyticsRequestDTO.prototype, "endDate", void 0);
31
+ __decorate([
32
+ ApiPropertyOptional({
33
+ description: 'Filter by specific business ID',
34
+ example: 'biz-uuid-123'
35
+ })
36
+ ], UserAnalyticsRequestDTO.prototype, "businessId", void 0);
37
+ /**
38
+ * USER ANALYTICS RESPONSE DTO
39
+ *
40
+ * Aggregated user statistics and metrics.
41
+ * Uses ONLY database-stored data (user, transaction, campaign_user_claim tables).
42
+ *
43
+ * NOTE: Does NOT include blockchain balance data (fetched on-demand via Web3, not stored in DB).
44
+ */
45
+ export class UserAnalyticsResponseDTO {
46
+ totalUsers = 0;
47
+ activeUsers = 0;
48
+ newUsers = 0;
49
+ averageTransactionsPerUser = 0;
50
+ averageTransactionAmount = 0;
51
+ totalTransactionVolume = 0;
52
+ averageClaimsPerUser = 0;
53
+ averageRedemptionsPerUser = 0;
54
+ averageTransactionsPerActiveUser = 0;
55
+ averageClaimsPerActiveUser = 0;
56
+ averageRedemptionsPerActiveUser = 0;
57
+ engagementRate = 0;
58
+ periodBreakdown;
59
+ metadata = { executionTimeMs: 0 };
60
+ }
61
+ __decorate([
62
+ ApiProperty({
63
+ description: 'Total number of registered users (all-time, no date filter applied). Includes all non-deleted users regardless of activity.',
64
+ example: 10523
65
+ })
66
+ ], UserAnalyticsResponseDTO.prototype, "totalUsers", void 0);
67
+ __decorate([
68
+ ApiProperty({
69
+ description: 'Number of active users - users with ≥1 successful transaction (status=succeeded), completed claim (status=COMPLETED), or completed redemption (status=COMPLETED) within the specified date range. If no date range provided, counts users with any activity ever.',
70
+ example: 3241
71
+ })
72
+ ], UserAnalyticsResponseDTO.prototype, "activeUsers", void 0);
73
+ __decorate([
74
+ ApiProperty({
75
+ description: 'Number of new users created within the specified date range (filtered by user.createdAt). If no date range provided, equals totalUsers.',
76
+ example: 156
77
+ })
78
+ ], UserAnalyticsResponseDTO.prototype, "newUsers", void 0);
79
+ __decorate([
80
+ ApiProperty({
81
+ description: 'Average transactions per user across entire user base (total successful transactions in date range ÷ total users). Only counts transactions with status=succeeded, excludes REDEMPTION_SPEND and REDEMPTION_RECEIVE types to prevent double-counting.',
82
+ example: 12.5
83
+ })
84
+ ], UserAnalyticsResponseDTO.prototype, "averageTransactionsPerUser", void 0);
85
+ __decorate([
86
+ ApiProperty({
87
+ description: 'Average amount per transaction (total transaction volume ÷ transaction count). Only includes successful transactions (status=succeeded) in date range.',
88
+ example: 45.67
89
+ })
90
+ ], UserAnalyticsResponseDTO.prototype, "averageTransactionAmount", void 0);
91
+ __decorate([
92
+ ApiProperty({
93
+ description: 'Total transaction volume - sum of all successful transaction amounts (status=succeeded) in date range. Excludes REDEMPTION_SPEND and REDEMPTION_RECEIVE types.',
94
+ example: 56789.12
95
+ })
96
+ ], UserAnalyticsResponseDTO.prototype, "totalTransactionVolume", void 0);
97
+ __decorate([
98
+ ApiProperty({
99
+ description: 'Average claims per user across entire user base (total completed claims in date range ÷ total users). Only counts claims with status=COMPLETED.',
100
+ example: 3.2
101
+ })
102
+ ], UserAnalyticsResponseDTO.prototype, "averageClaimsPerUser", void 0);
103
+ __decorate([
104
+ ApiProperty({
105
+ description: 'Average redemptions per user across entire user base (total completed redemptions in date range ÷ total users). Only counts redemptions with status=COMPLETED.',
106
+ example: 1.8
107
+ })
108
+ ], UserAnalyticsResponseDTO.prototype, "averageRedemptionsPerUser", void 0);
109
+ __decorate([
110
+ ApiProperty({
111
+ 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.',
112
+ example: 15.3
113
+ })
114
+ ], UserAnalyticsResponseDTO.prototype, "averageTransactionsPerActiveUser", void 0);
115
+ __decorate([
116
+ ApiProperty({
117
+ description: 'Average claims per active user (total completed claims in date range ÷ active users in date range). Shows claim activity concentrated among engaged users.',
118
+ example: 4.7
119
+ })
120
+ ], UserAnalyticsResponseDTO.prototype, "averageClaimsPerActiveUser", void 0);
121
+ __decorate([
122
+ ApiProperty({
123
+ description: 'Average redemptions per active user (total completed redemptions in date range ÷ active users in date range). Shows redemption activity concentrated among engaged users.',
124
+ example: 2.1
125
+ })
126
+ ], UserAnalyticsResponseDTO.prototype, "averageRedemptionsPerActiveUser", void 0);
127
+ __decorate([
128
+ ApiProperty({
129
+ description: 'User engagement rate as percentage (activeUsers ÷ totalUsers × 100). Indicates what percentage of all registered users had activity in the date range.',
130
+ example: 30.79,
131
+ type: 'number'
132
+ })
133
+ ], UserAnalyticsResponseDTO.prototype, "engagementRate", void 0);
134
+ __decorate([
135
+ ApiPropertyOptional({
136
+ description: 'Breakdown by time period (if requested)',
137
+ type: 'array',
138
+ items: {
139
+ type: 'object',
140
+ properties: {
141
+ date: { type: 'string', example: '2024-01-01' },
142
+ activeUsers: { type: 'number', example: 245 },
143
+ newUsers: { type: 'number', example: 12 }
144
+ }
145
+ }
146
+ })
147
+ ], UserAnalyticsResponseDTO.prototype, "periodBreakdown", void 0);
148
+ __decorate([
149
+ ApiProperty({
150
+ description: 'Query execution metadata including timing and applied filters',
151
+ type: 'object',
152
+ properties: {
153
+ executionTimeMs: {
154
+ type: 'number',
155
+ example: 142,
156
+ description: 'SQL query execution time in milliseconds (for performance monitoring)'
157
+ },
158
+ dateRange: {
159
+ type: 'object',
160
+ properties: {
161
+ startDate: { type: 'string', format: 'date-time' },
162
+ endDate: { type: 'string', format: 'date-time' }
163
+ },
164
+ description: 'Applied date range filter (only present if filters were used)'
165
+ }
166
+ }
167
+ })
168
+ ], UserAnalyticsResponseDTO.prototype, "metadata", void 0);
169
+ //# sourceMappingURL=user-analytics.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-analytics.dto.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user-analytics.dto.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export declare class UserDTO {
22
22
  isActive: boolean;
23
23
  currentSigningAccountId: string | null;
24
24
  wallets: PublicWalletDTO[];
25
+ createdAt: Date;
26
+ updatedAt: Date | null;
25
27
  }
26
28
  export declare class PublicUserDTO {
27
29
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"user.dto.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,qBAAa,OAAO;IAGhB,EAAE,EAAG,MAAM,CAAM;IAIjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM5B,eAAe,EAAE,MAAM,CAAM;IAW7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMhC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEjC;;OAEG;IAQH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAQrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMzC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAKxC,UAAU,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAOhD,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAKnD,QAAQ,EAAE,OAAO,CAAQ;IAMzB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO9C,OAAO,EAAE,eAAe,EAAE,CAAM;CACnC;AAED,qBAAa,aAAa;IAEtB,EAAE,EAAG,MAAM,CAAM;IAKjB,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;CAC7C;AAED,qBAAa,oBAAqB,SAAQ,OAAO;IAK7C,aAAa,EAAE,uBAAuB,EAAE,CAAM;CACjD;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"user.dto.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,qBAAa,OAAO;IAGhB,EAAE,EAAG,MAAM,CAAM;IAIjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM5B,eAAe,EAAE,MAAM,CAAM;IAW7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMhC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAM/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEjC;;OAEG;IAQH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAQrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMzC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAKxC,UAAU,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAOhD,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAKnD,QAAQ,EAAE,OAAO,CAAQ;IAMzB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAO9C,OAAO,EAAE,eAAe,EAAE,CAAM;IAMhC,SAAS,EAAE,IAAI,CAAc;IAO7B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;CACjC;AAED,qBAAa,aAAa;IAEtB,EAAE,EAAG,MAAM,CAAM;IAKjB,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;CAC7C;AAED,qBAAa,oBAAqB,SAAQ,OAAO;IAK7C,aAAa,EAAE,uBAAuB,EAAE,CAAM;CACjD;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC"}
@@ -30,6 +30,8 @@ export class UserDTO {
30
30
  isActive = true;
31
31
  currentSigningAccountId = null;
32
32
  wallets = [];
33
+ createdAt = new Date();
34
+ updatedAt = null;
33
35
  }
34
36
  __decorate([
35
37
  ApiProperty()
@@ -102,6 +104,19 @@ __decorate([
102
104
  isArray: true
103
105
  })
104
106
  ], UserDTO.prototype, "wallets", void 0);
107
+ __decorate([
108
+ ApiProperty({
109
+ description: 'Timestamp when the user was created',
110
+ type: Date
111
+ })
112
+ ], UserDTO.prototype, "createdAt", void 0);
113
+ __decorate([
114
+ ApiProperty({
115
+ description: 'Timestamp when the user was last updated',
116
+ type: Date,
117
+ nullable: true
118
+ })
119
+ ], UserDTO.prototype, "updatedAt", void 0);
105
120
  export class PublicUserDTO {
106
121
  id = '';
107
122
  publicProfile = {};
@@ -1 +1 @@
1
- {"version":3,"file":"user.dto.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,MAAM,OAAO,OAAO;IAGhB,EAAE,GAAY,EAAE,CAAC;IAEjB,eAAe;IAEf,KAAK,GAAkB,IAAI,CAAC;IAM5B,eAAe,GAAW,EAAE,CAAC;IAE7B;;;mCAG+B;IAM/B,SAAS,GAAkB,IAAI,CAAC;IAMhC,QAAQ,GAAkB,IAAI,CAAC;IAM/B,UAAU,GAAkB,IAAI,CAAC;IAEjC;;OAEG;IAQH,cAAc,GAAkB,IAAI,CAAC;IAQrC,kBAAkB,GAAkB,IAAI,CAAC;IAMzC,iBAAiB,GAAkB,IAAI,CAAC;IAKxC,UAAU,GAAiC,IAAI,CAAC;IAOhD,aAAa,GAAiC,IAAI,CAAC;IAKnD,QAAQ,GAAY,IAAI,CAAC;IAMzB,uBAAuB,GAAkB,IAAI,CAAC;IAO9C,OAAO,GAAsB,EAAE,CAAC;CACnC;AA1FG;IADC,WAAW,EAAE;mCACG;AAIjB;IADC,mBAAmB,EAAE;sCACM;AAM5B;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,8JAA8J;QAC3K,OAAO,EAAE,4BAA4B;KACxC,CAAC;gDAC2B;AAW7B;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,IAAI;KACjB,CAAC;0CAC8B;AAMhC;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,gBAAgB;QAC7B,QAAQ,EAAE,IAAI;KACjB,CAAC;yCAC6B;AAM/B;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,kBAAkB;QAC/B,QAAQ,EAAE,IAAI;KACjB,CAAC;2CAC+B;AAYjC;IAPC,WAAW,CACR;QACI,WAAW,EAAE,sBAAsB;QACnC,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;KACnB,CACJ;+CACoC;AAQrC;IANC,WAAW,CACR;QACI,WAAW,EAAE,sBAAsB;QACnC,QAAQ,EAAE,IAAI;KACjB,CACJ;mDACwC;AAMzC;IAJC,WAAW,CACR,EAAC,WAAW,EAAE,qBAAqB;QACnC,QAAQ,EAAE,IAAI,EAAC,CAClB;kDACuC;AAKxC;IAHC,WAAW,CACR,EAAC,WAAW,EAAE,aAAa,EAAC,CAC/B;2CAC+C;AAOhD;IALC,WAAW,CACR,EAAC,WAAW,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,IAAI;KACjB,CACJ;8CACkD;AAKnD;IAHC,WAAW,CACR,EAAC,WAAW,EAAE,WAAW,EAAC,CAC7B;yCACwB;AAMzB;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,kEAAkE;QAC/E,QAAQ,EAAE,KAAK;KAClB,CAAC;wDAC4C;AAO9C;IALC,WAAW,CAAC;QACT,WAAW,EAAE,0EAA0E;QACvF,IAAI,EAAE,GAAG,EAAE,CAAC,eAAe;QAC3B,OAAO,EAAE,IAAI;KAChB,CAAC;wCAC8B;AAGpC,MAAM,OAAO,aAAa;IAEtB,EAAE,GAAY,EAAE,CAAC;IAKjB,aAAa,GAA0B,EAAE,CAAC;CAC7C;AANG;IADC,WAAW,EAAE;yCACG;AAKjB;IAHC,WAAW,CACR,EAAC,WAAW,EAAE,qBAAqB,EAAC,CACvC;oDACyC;AAG9C,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IAK7C,aAAa,GAA8B,EAAE,CAAC;CACjD;AADG;IAJC,WAAW,CAAC;QACT,IAAI,EAAE,GAAG,EAAE,CAAC,uBAAuB;QACnC,OAAO,EAAE,IAAI;KAChB,CAAC;2DAC4C"}
1
+ {"version":3,"file":"user.dto.js","sourceRoot":"","sources":["../../../../src/shared-lib/dto/user.dto.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@explorins/pers-shared",
3
- "version": "2.1.78",
3
+ "version": "2.1.80",
4
4
  "scripts": {
5
5
  "clean": "find dist -type f -delete 2>/dev/null || true",
6
6
  "build:esm": "tsc -p tsconfig.esm.json && node scripts/add-js-extensions.js",