@explorins/pers-shared 2.1.76 → 2.1.77

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.
@@ -1,7 +1,6 @@
1
1
  import { CampaignClaimAnalyticsDTO } from './campaign-claim-analytics.dto';
2
- import { IncludableRelation } from '../../types/includable-relation.type';
3
2
  import { SortOrder } from '../../enum';
4
- import { AnalyticsGroupByType, AnalyticsMetricType } from '../../types/analytics.type';
3
+ import { AnalyticsGroupByType, AnalyticsMetricType, AnalyticsResultItem } from '../../types/analytics.type';
5
4
  import { GroupByExpressionDTO } from '../analytics/group-by-expression.dto';
6
5
  declare const CampaignClaimAnalyticsFiltersDTO_base: import("@nestjs/common").Type<Partial<Omit<CampaignClaimAnalyticsDTO, "user" | "business" | "campaign" | "triggerSource" | "createdAt">>>;
7
6
  /**
@@ -29,12 +28,10 @@ export declare class CampaignClaimAnalyticsFiltersDTO extends CampaignClaimAnaly
29
28
  /**
30
29
  * Campaign Claim Analytics Request DTO
31
30
  *
32
- * Follows same scalable pattern as TransactionAnalyticsRequestDTO.
33
- * Supports both aggregation mode (groupBy/metrics) and list mode (includes/pagination).
31
+ * Pure aggregation mode (like TransactionAnalyticsRequestDTO).
32
+ * For enriched list data, use the Campaign Claims controller endpoint.
34
33
  *
35
- * USE CASES:
36
- * - Aggregation mode: Provide groupBy/metrics for charts and summaries
37
- * - List mode: Provide includes for enriched paginated data with nested objects
34
+ * USE FOR: Charts, dashboards, metrics, aggregated reports
38
35
  */
39
36
  export declare class CampaignClaimAnalyticsRequestDTO {
40
37
  filters?: CampaignClaimAnalyticsFiltersDTO;
@@ -43,9 +40,7 @@ export declare class CampaignClaimAnalyticsRequestDTO {
43
40
  metrics?: AnalyticsMetricType[];
44
41
  sortBy?: AnalyticsMetricType | CampaignClaimAnalyticsGroupByType | string;
45
42
  sortOrder?: SortOrder;
46
- page?: number;
47
43
  limit?: number;
48
- includes?: IncludableRelation[];
49
44
  startDate?: Date;
50
45
  endDate?: Date;
51
46
  }
@@ -53,5 +48,20 @@ export declare class CampaignClaimAnalyticsRequestDTO {
53
48
  * Allow grouping by any meaningful CampaignClaimAnalyticsDTO field + computed time fields
54
49
  */
55
50
  export type CampaignClaimAnalyticsGroupByType = AnalyticsGroupByType | keyof Omit<CampaignClaimAnalyticsDTO, 'createdAt' | 'id' | 'user' | 'campaign' | 'business' | 'triggerSource'>;
51
+ /**
52
+ * RESPONSE: Campaign Claim Analytics Result Structure
53
+ *
54
+ * Used for aggregation mode (when groupBy/metrics are provided)
55
+ */
56
+ export declare class CampaignClaimAnalyticsResponseDTO {
57
+ results: CampaignClaimAnalyticsResultItem[];
58
+ totalGroups: number;
59
+ metadata: {
60
+ executionTime: string;
61
+ };
62
+ }
63
+ export type CampaignClaimAnalyticsResultItem = AnalyticsResultItem & {
64
+ [K in keyof Omit<CampaignClaimAnalyticsDTO, 'id' | 'createdAt' | 'user' | 'campaign' | 'business' | 'triggerSource' | 'message'>]?: CampaignClaimAnalyticsDTO[K];
65
+ };
56
66
  export {};
57
67
  //# sourceMappingURL=campaign-claim-analytics-request.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-claim-analytics-request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAA0B,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;;AAE5E;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,qBAAa,gCAAiC,SAAQ,qCAQrD;IASC,MAAM,CAAC,EAAE,MAAM,CAAC;IAShB,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,qBAAa,gCAAgC;IAe3C,OAAO,CAAC,EAAE,gCAAgC,CAAC;IAU3C,OAAO,CAAC,EAAE,iCAAiC,EAAE,CAAC;IAe9C,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAW5C,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAShC,MAAM,CAAC,EAAE,mBAAmB,GAAG,iCAAiC,GAAG,MAAM,CAAC;IAS1E,SAAS,CAAC,EAAE,SAAS,CAAC;IAYtB,IAAI,CAAC,EAAE,MAAM,CAAC;IAad,KAAK,CAAC,EAAE,MAAM,CAAC;IAYf,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAShC,SAAS,CAAC,EAAE,IAAI,CAAC;IAQjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAC3C,oBAAoB,GAClB,MAAM,IAAI,CAAC,yBAAyB,EAChC,WAAW,GACX,IAAI,GACJ,MAAM,GACN,UAAU,GACV,UAAU,GACV,eAAe,CAClB,CAAC"}
1
+ {"version":3,"file":"campaign-claim-analytics-request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAA0B,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACpI,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;;AAE5E;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,qBAAa,gCAAiC,SAAQ,qCAQrD;IASC,MAAM,CAAC,EAAE,MAAM,CAAC;IAShB,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,qBAAa,gCAAgC;IAe3C,OAAO,CAAC,EAAE,gCAAgC,CAAC;IAU3C,OAAO,CAAC,EAAE,iCAAiC,EAAE,CAAC;IAe9C,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAW5C,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAa;IAS5C,MAAM,CAAC,EAAE,mBAAmB,GAAG,iCAAiC,GAAG,MAAM,CAAW;IASpF,SAAS,CAAC,EAAE,SAAS,CAAkB;IAcvC,KAAK,CAAC,EAAE,MAAM,CAAM;IASpB,SAAS,CAAC,EAAE,IAAI,CAAC;IAQjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAC3C,oBAAoB,GAClB,MAAM,IAAI,CAAC,yBAAyB,EAChC,WAAW,GACX,IAAI,GACJ,MAAM,GACN,UAAU,GACV,UAAU,GACV,eAAe,CAClB,CAAC;AAEN;;;;GAIG;AACH,qBAAa,iCAAiC;IAU5C,OAAO,EAAE,gCAAgC,EAAE,CAAM;IAMjD,WAAW,EAAE,MAAM,CAAK;IAMxB,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;KACvB,CAEC;CACH;AAED,MAAM,MAAM,gCAAgC,GAAG,mBAAmB,GAAG;KAElE,CAAC,IAAI,MAAM,IAAI,CAAC,yBAAyB,EACtC,IAAI,GACJ,WAAW,GACX,MAAM,GACN,UAAU,GACV,UAAU,GACV,eAAe,GACf,SAAS,CACZ,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;CAClC,CAAC"}
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CampaignClaimAnalyticsRequestDTO = exports.CampaignClaimAnalyticsFiltersDTO = void 0;
12
+ exports.CampaignClaimAnalyticsResponseDTO = exports.CampaignClaimAnalyticsRequestDTO = exports.CampaignClaimAnalyticsFiltersDTO = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const class_transformer_1 = require("class-transformer");
15
15
  const swagger_1 = require("@nestjs/swagger");
@@ -90,30 +90,25 @@ __decorate([
90
90
  /**
91
91
  * Campaign Claim Analytics Request DTO
92
92
  *
93
- * Follows same scalable pattern as TransactionAnalyticsRequestDTO.
94
- * Supports both aggregation mode (groupBy/metrics) and list mode (includes/pagination).
93
+ * Pure aggregation mode (like TransactionAnalyticsRequestDTO).
94
+ * For enriched list data, use the Campaign Claims controller endpoint.
95
95
  *
96
- * USE CASES:
97
- * - Aggregation mode: Provide groupBy/metrics for charts and summaries
98
- * - List mode: Provide includes for enriched paginated data with nested objects
96
+ * USE FOR: Charts, dashboards, metrics, aggregated reports
99
97
  */
100
98
  class CampaignClaimAnalyticsRequestDTO {
101
99
  // FILTERING OPTIONS
102
100
  filters;
103
- // AGGREGATION MODE: GROUPING OPTIONS
101
+ // GROUPING OPTIONS
104
102
  groupBy;
105
103
  groupByExpressions;
106
- // AGGREGATION MODE: METRICS OPTIONS
107
- metrics;
108
- // AGGREGATION MODE: ORDERING
109
- sortBy;
110
- sortOrder;
111
- // LIST MODE: PAGINATION OPTIONS
112
- page;
113
- limit;
114
- // LIST MODE: RELATION INCLUDES
115
- includes;
116
- // DATE RANGE OPTIONS (both modes)
104
+ // METRICS OPTIONS
105
+ metrics = ['count'];
106
+ // ORDERING OPTIONS
107
+ sortBy = 'count';
108
+ sortOrder = enum_1.SortOrder.DESC;
109
+ // LIMIT OPTIONS
110
+ limit = 10;
111
+ // DATE RANGE OPTIONS
117
112
  startDate;
118
113
  endDate;
119
114
  }
@@ -135,7 +130,7 @@ __decorate([
135
130
  ], CampaignClaimAnalyticsRequestDTO.prototype, "filters", void 0);
136
131
  __decorate([
137
132
  (0, swagger_1.ApiPropertyOptional)({
138
- description: 'Fields to group by - enables aggregation mode (like transaction analytics)',
133
+ description: 'Fields to group by for aggregation',
139
134
  type: [String],
140
135
  example: ['campaignId', 'status', 'month']
141
136
  }),
@@ -161,9 +156,9 @@ __decorate([
161
156
  ], CampaignClaimAnalyticsRequestDTO.prototype, "groupByExpressions", void 0);
162
157
  __decorate([
163
158
  (0, swagger_1.ApiPropertyOptional)({
164
- description: 'Metrics to calculate (aggregation mode)',
159
+ description: 'Metrics to calculate',
165
160
  enum: analytics_type_1.ANALYTICS_METRIC_TYPES,
166
- example: ['count', 'sum']
161
+ example: ['count']
167
162
  }),
168
163
  (0, class_validator_1.IsOptional)(),
169
164
  (0, class_validator_1.IsString)({ each: true }),
@@ -191,22 +186,10 @@ __decorate([
191
186
  ], CampaignClaimAnalyticsRequestDTO.prototype, "sortOrder", void 0);
192
187
  __decorate([
193
188
  (0, swagger_1.ApiPropertyOptional)({
194
- description: 'Page number for pagination (list mode)',
195
- minimum: 1,
196
- example: 1
197
- }),
198
- (0, class_validator_1.IsOptional)(),
199
- (0, class_validator_1.IsNumber)(),
200
- (0, class_validator_1.Min)(1),
201
- (0, class_transformer_1.Transform)(({ value }) => parseInt(value)),
202
- __metadata("design:type", Number)
203
- ], CampaignClaimAnalyticsRequestDTO.prototype, "page", void 0);
204
- __decorate([
205
- (0, swagger_1.ApiPropertyOptional)({
206
- description: 'Number of results per page or max aggregation groups',
189
+ description: 'Maximum number of aggregation groups to return',
207
190
  minimum: 1,
208
191
  maximum: 100,
209
- example: 50
192
+ example: 10
210
193
  }),
211
194
  (0, class_validator_1.IsOptional)(),
212
195
  (0, class_validator_1.IsNumber)(),
@@ -215,18 +198,6 @@ __decorate([
215
198
  (0, class_transformer_1.Transform)(({ value }) => parseInt(value)),
216
199
  __metadata("design:type", Number)
217
200
  ], CampaignClaimAnalyticsRequestDTO.prototype, "limit", void 0);
218
- __decorate([
219
- (0, swagger_1.ApiPropertyOptional)({
220
- description: 'Relations to include (list mode - enriched data with nested objects)',
221
- type: [String],
222
- enum: ['user', 'campaign', 'business', 'triggerSource'],
223
- example: ['user', 'campaign', 'business']
224
- }),
225
- (0, class_validator_1.IsOptional)(),
226
- (0, class_validator_1.IsArray)(),
227
- (0, class_validator_1.IsString)({ each: true }),
228
- __metadata("design:type", Array)
229
- ], CampaignClaimAnalyticsRequestDTO.prototype, "includes", void 0);
230
201
  __decorate([
231
202
  (0, swagger_1.ApiPropertyOptional)({
232
203
  description: 'Start date for analytics (ISO format)',
@@ -245,4 +216,43 @@ __decorate([
245
216
  (0, class_validator_1.IsDateString)(),
246
217
  __metadata("design:type", Date)
247
218
  ], CampaignClaimAnalyticsRequestDTO.prototype, "endDate", void 0);
219
+ /**
220
+ * RESPONSE: Campaign Claim Analytics Result Structure
221
+ *
222
+ * Used for aggregation mode (when groupBy/metrics are provided)
223
+ */
224
+ class CampaignClaimAnalyticsResponseDTO {
225
+ results = [];
226
+ totalGroups = 0;
227
+ metadata = {
228
+ executionTime: '0ms'
229
+ };
230
+ }
231
+ exports.CampaignClaimAnalyticsResponseDTO = CampaignClaimAnalyticsResponseDTO;
232
+ __decorate([
233
+ (0, swagger_1.ApiProperty)({
234
+ description: 'Analytics results array with dynamic fields based on groupBy',
235
+ type: 'array',
236
+ example: [
237
+ { campaignId: 'camp-uuid-1', count: '150' },
238
+ { status: 'COMPLETED', month: '2026-01-01T00:00:00.000Z', count: '45' },
239
+ { businessId: 'biz-uuid-1', userCountryCode: 'US', count: '89' }
240
+ ]
241
+ }),
242
+ __metadata("design:type", Array)
243
+ ], CampaignClaimAnalyticsResponseDTO.prototype, "results", void 0);
244
+ __decorate([
245
+ (0, swagger_1.ApiProperty)({
246
+ description: 'Total number of result groups',
247
+ example: 10
248
+ }),
249
+ __metadata("design:type", Number)
250
+ ], CampaignClaimAnalyticsResponseDTO.prototype, "totalGroups", void 0);
251
+ __decorate([
252
+ (0, swagger_1.ApiProperty)({
253
+ description: 'Query execution metadata',
254
+ example: { executionTime: '15ms' }
255
+ }),
256
+ __metadata("design:type", Object)
257
+ ], CampaignClaimAnalyticsResponseDTO.prototype, "metadata", void 0);
248
258
  //# sourceMappingURL=campaign-claim-analytics-request.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-claim-analytics-request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaign-claim-analytics-request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { CampaignClaimAnalyticsDTO } from './campaign-claim-analytics.dto';
2
- import { IncludableRelation } from '../../types/includable-relation.type';
3
2
  import { SortOrder } from '../../enum';
4
- import { AnalyticsGroupByType, AnalyticsMetricType } from '../../types/analytics.type';
3
+ import { AnalyticsGroupByType, AnalyticsMetricType, AnalyticsResultItem } from '../../types/analytics.type';
5
4
  import { GroupByExpressionDTO } from '../analytics/group-by-expression.dto';
6
5
  declare const CampaignClaimAnalyticsFiltersDTO_base: import("@nestjs/common").Type<Partial<Omit<CampaignClaimAnalyticsDTO, "user" | "business" | "campaign" | "triggerSource" | "createdAt">>>;
7
6
  /**
@@ -29,12 +28,10 @@ export declare class CampaignClaimAnalyticsFiltersDTO extends CampaignClaimAnaly
29
28
  /**
30
29
  * Campaign Claim Analytics Request DTO
31
30
  *
32
- * Follows same scalable pattern as TransactionAnalyticsRequestDTO.
33
- * Supports both aggregation mode (groupBy/metrics) and list mode (includes/pagination).
31
+ * Pure aggregation mode (like TransactionAnalyticsRequestDTO).
32
+ * For enriched list data, use the Campaign Claims controller endpoint.
34
33
  *
35
- * USE CASES:
36
- * - Aggregation mode: Provide groupBy/metrics for charts and summaries
37
- * - List mode: Provide includes for enriched paginated data with nested objects
34
+ * USE FOR: Charts, dashboards, metrics, aggregated reports
38
35
  */
39
36
  export declare class CampaignClaimAnalyticsRequestDTO {
40
37
  filters?: CampaignClaimAnalyticsFiltersDTO;
@@ -43,9 +40,7 @@ export declare class CampaignClaimAnalyticsRequestDTO {
43
40
  metrics?: AnalyticsMetricType[];
44
41
  sortBy?: AnalyticsMetricType | CampaignClaimAnalyticsGroupByType | string;
45
42
  sortOrder?: SortOrder;
46
- page?: number;
47
43
  limit?: number;
48
- includes?: IncludableRelation[];
49
44
  startDate?: Date;
50
45
  endDate?: Date;
51
46
  }
@@ -53,5 +48,20 @@ export declare class CampaignClaimAnalyticsRequestDTO {
53
48
  * Allow grouping by any meaningful CampaignClaimAnalyticsDTO field + computed time fields
54
49
  */
55
50
  export type CampaignClaimAnalyticsGroupByType = AnalyticsGroupByType | keyof Omit<CampaignClaimAnalyticsDTO, 'createdAt' | 'id' | 'user' | 'campaign' | 'business' | 'triggerSource'>;
51
+ /**
52
+ * RESPONSE: Campaign Claim Analytics Result Structure
53
+ *
54
+ * Used for aggregation mode (when groupBy/metrics are provided)
55
+ */
56
+ export declare class CampaignClaimAnalyticsResponseDTO {
57
+ results: CampaignClaimAnalyticsResultItem[];
58
+ totalGroups: number;
59
+ metadata: {
60
+ executionTime: string;
61
+ };
62
+ }
63
+ export type CampaignClaimAnalyticsResultItem = AnalyticsResultItem & {
64
+ [K in keyof Omit<CampaignClaimAnalyticsDTO, 'id' | 'createdAt' | 'user' | 'campaign' | 'business' | 'triggerSource' | 'message'>]?: CampaignClaimAnalyticsDTO[K];
65
+ };
56
66
  export {};
57
67
  //# sourceMappingURL=campaign-claim-analytics-request.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-claim-analytics-request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAA0B,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;;AAE5E;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,qBAAa,gCAAiC,SAAQ,qCAQrD;IASC,MAAM,CAAC,EAAE,MAAM,CAAC;IAShB,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,qBAAa,gCAAgC;IAe3C,OAAO,CAAC,EAAE,gCAAgC,CAAC;IAU3C,OAAO,CAAC,EAAE,iCAAiC,EAAE,CAAC;IAe9C,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAW5C,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAShC,MAAM,CAAC,EAAE,mBAAmB,GAAG,iCAAiC,GAAG,MAAM,CAAC;IAS1E,SAAS,CAAC,EAAE,SAAS,CAAC;IAYtB,IAAI,CAAC,EAAE,MAAM,CAAC;IAad,KAAK,CAAC,EAAE,MAAM,CAAC;IAYf,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAShC,SAAS,CAAC,EAAE,IAAI,CAAC;IAQjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAC3C,oBAAoB,GAClB,MAAM,IAAI,CAAC,yBAAyB,EAChC,WAAW,GACX,IAAI,GACJ,MAAM,GACN,UAAU,GACV,UAAU,GACV,eAAe,CAClB,CAAC"}
1
+ {"version":3,"file":"campaign-claim-analytics-request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAA0B,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACpI,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;;AAE5E;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,qBAAa,gCAAiC,SAAQ,qCAQrD;IASC,MAAM,CAAC,EAAE,MAAM,CAAC;IAShB,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,qBAAa,gCAAgC;IAe3C,OAAO,CAAC,EAAE,gCAAgC,CAAC;IAU3C,OAAO,CAAC,EAAE,iCAAiC,EAAE,CAAC;IAe9C,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAW5C,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAa;IAS5C,MAAM,CAAC,EAAE,mBAAmB,GAAG,iCAAiC,GAAG,MAAM,CAAW;IASpF,SAAS,CAAC,EAAE,SAAS,CAAkB;IAcvC,KAAK,CAAC,EAAE,MAAM,CAAM;IASpB,SAAS,CAAC,EAAE,IAAI,CAAC;IAQjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAC3C,oBAAoB,GAClB,MAAM,IAAI,CAAC,yBAAyB,EAChC,WAAW,GACX,IAAI,GACJ,MAAM,GACN,UAAU,GACV,UAAU,GACV,eAAe,CAClB,CAAC;AAEN;;;;GAIG;AACH,qBAAa,iCAAiC;IAU5C,OAAO,EAAE,gCAAgC,EAAE,CAAM;IAMjD,WAAW,EAAE,MAAM,CAAK;IAMxB,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;KACvB,CAEC;CACH;AAED,MAAM,MAAM,gCAAgC,GAAG,mBAAmB,GAAG;KAElE,CAAC,IAAI,MAAM,IAAI,CAAC,yBAAyB,EACtC,IAAI,GACJ,WAAW,GACX,MAAM,GACN,UAAU,GACV,UAAU,GACV,eAAe,GACf,SAAS,CACZ,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;CAClC,CAAC"}
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { IsOptional, IsNumber, Min, Max, IsArray, IsString, ValidateNested, IsEnum, IsIn, IsDateString } from 'class-validator';
8
8
  import { Transform, Type } from 'class-transformer';
9
- import { ApiPropertyOptional, OmitType, PartialType } from '@nestjs/swagger';
9
+ import { ApiProperty, ApiPropertyOptional, OmitType, PartialType } from '@nestjs/swagger';
10
10
  import { CampaignClaimAnalyticsDTO } from './campaign-claim-analytics.dto.js';
11
11
  import { SortOrder } from '../../enum/index.js';
12
12
  import { ANALYTICS_METRIC_TYPES } from '../../types/analytics.type.js';
@@ -79,30 +79,25 @@ __decorate([
79
79
  /**
80
80
  * Campaign Claim Analytics Request DTO
81
81
  *
82
- * Follows same scalable pattern as TransactionAnalyticsRequestDTO.
83
- * Supports both aggregation mode (groupBy/metrics) and list mode (includes/pagination).
82
+ * Pure aggregation mode (like TransactionAnalyticsRequestDTO).
83
+ * For enriched list data, use the Campaign Claims controller endpoint.
84
84
  *
85
- * USE CASES:
86
- * - Aggregation mode: Provide groupBy/metrics for charts and summaries
87
- * - List mode: Provide includes for enriched paginated data with nested objects
85
+ * USE FOR: Charts, dashboards, metrics, aggregated reports
88
86
  */
89
87
  export class CampaignClaimAnalyticsRequestDTO {
90
88
  // FILTERING OPTIONS
91
89
  filters;
92
- // AGGREGATION MODE: GROUPING OPTIONS
90
+ // GROUPING OPTIONS
93
91
  groupBy;
94
92
  groupByExpressions;
95
- // AGGREGATION MODE: METRICS OPTIONS
96
- metrics;
97
- // AGGREGATION MODE: ORDERING
98
- sortBy;
99
- sortOrder;
100
- // LIST MODE: PAGINATION OPTIONS
101
- page;
102
- limit;
103
- // LIST MODE: RELATION INCLUDES
104
- includes;
105
- // DATE RANGE OPTIONS (both modes)
93
+ // METRICS OPTIONS
94
+ metrics = ['count'];
95
+ // ORDERING OPTIONS
96
+ sortBy = 'count';
97
+ sortOrder = SortOrder.DESC;
98
+ // LIMIT OPTIONS
99
+ limit = 10;
100
+ // DATE RANGE OPTIONS
106
101
  startDate;
107
102
  endDate;
108
103
  }
@@ -122,7 +117,7 @@ __decorate([
122
117
  ], CampaignClaimAnalyticsRequestDTO.prototype, "filters", void 0);
123
118
  __decorate([
124
119
  ApiPropertyOptional({
125
- description: 'Fields to group by - enables aggregation mode (like transaction analytics)',
120
+ description: 'Fields to group by for aggregation',
126
121
  type: [String],
127
122
  example: ['campaignId', 'status', 'month']
128
123
  }),
@@ -146,9 +141,9 @@ __decorate([
146
141
  ], CampaignClaimAnalyticsRequestDTO.prototype, "groupByExpressions", void 0);
147
142
  __decorate([
148
143
  ApiPropertyOptional({
149
- description: 'Metrics to calculate (aggregation mode)',
144
+ description: 'Metrics to calculate',
150
145
  enum: ANALYTICS_METRIC_TYPES,
151
- example: ['count', 'sum']
146
+ example: ['count']
152
147
  }),
153
148
  IsOptional(),
154
149
  IsString({ each: true }),
@@ -173,21 +168,10 @@ __decorate([
173
168
  ], CampaignClaimAnalyticsRequestDTO.prototype, "sortOrder", void 0);
174
169
  __decorate([
175
170
  ApiPropertyOptional({
176
- description: 'Page number for pagination (list mode)',
177
- minimum: 1,
178
- example: 1
179
- }),
180
- IsOptional(),
181
- IsNumber(),
182
- Min(1),
183
- Transform(({ value }) => parseInt(value))
184
- ], CampaignClaimAnalyticsRequestDTO.prototype, "page", void 0);
185
- __decorate([
186
- ApiPropertyOptional({
187
- description: 'Number of results per page or max aggregation groups',
171
+ description: 'Maximum number of aggregation groups to return',
188
172
  minimum: 1,
189
173
  maximum: 100,
190
- example: 50
174
+ example: 10
191
175
  }),
192
176
  IsOptional(),
193
177
  IsNumber(),
@@ -195,17 +179,6 @@ __decorate([
195
179
  Max(100),
196
180
  Transform(({ value }) => parseInt(value))
197
181
  ], CampaignClaimAnalyticsRequestDTO.prototype, "limit", void 0);
198
- __decorate([
199
- ApiPropertyOptional({
200
- description: 'Relations to include (list mode - enriched data with nested objects)',
201
- type: [String],
202
- enum: ['user', 'campaign', 'business', 'triggerSource'],
203
- example: ['user', 'campaign', 'business']
204
- }),
205
- IsOptional(),
206
- IsArray(),
207
- IsString({ each: true })
208
- ], CampaignClaimAnalyticsRequestDTO.prototype, "includes", void 0);
209
182
  __decorate([
210
183
  ApiPropertyOptional({
211
184
  description: 'Start date for analytics (ISO format)',
@@ -222,4 +195,39 @@ __decorate([
222
195
  IsOptional(),
223
196
  IsDateString()
224
197
  ], CampaignClaimAnalyticsRequestDTO.prototype, "endDate", void 0);
198
+ /**
199
+ * RESPONSE: Campaign Claim Analytics Result Structure
200
+ *
201
+ * Used for aggregation mode (when groupBy/metrics are provided)
202
+ */
203
+ export class CampaignClaimAnalyticsResponseDTO {
204
+ results = [];
205
+ totalGroups = 0;
206
+ metadata = {
207
+ executionTime: '0ms'
208
+ };
209
+ }
210
+ __decorate([
211
+ ApiProperty({
212
+ description: 'Analytics results array with dynamic fields based on groupBy',
213
+ type: 'array',
214
+ example: [
215
+ { campaignId: 'camp-uuid-1', count: '150' },
216
+ { status: 'COMPLETED', month: '2026-01-01T00:00:00.000Z', count: '45' },
217
+ { businessId: 'biz-uuid-1', userCountryCode: 'US', count: '89' }
218
+ ]
219
+ })
220
+ ], CampaignClaimAnalyticsResponseDTO.prototype, "results", void 0);
221
+ __decorate([
222
+ ApiProperty({
223
+ description: 'Total number of result groups',
224
+ example: 10
225
+ })
226
+ ], CampaignClaimAnalyticsResponseDTO.prototype, "totalGroups", void 0);
227
+ __decorate([
228
+ ApiProperty({
229
+ description: 'Query execution metadata',
230
+ example: { executionTime: '15ms' }
231
+ })
232
+ ], CampaignClaimAnalyticsResponseDTO.prototype, "metadata", void 0);
225
233
  //# sourceMappingURL=campaign-claim-analytics-request.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-claim-analytics-request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaign-claim-analytics-request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAChI,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAkE,MAAM,4BAA4B,CAAC;AACpI,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,MAAM,OAAO,gCAAiC,SAAQ,WAAW,CAC/D,QAAQ,CAAC,yBAAyB,EAAE;IAClC,MAAM,EAAU,2BAA2B;IAC3C,UAAU,EAAM,+BAA+B;IAC/C,UAAU,EAAM,+BAA+B;IAC/C,eAAe,EAAE,oCAAoC;IACrD,WAAW,EAAK,gCAAgC;CACxC,CAAC,CACZ;IACC,yCAAyC;IAQzC,MAAM,CAAU;IAShB,UAAU,CAAU;IASpB,UAAU,CAAU;IASpB,eAAe,CAAU;CAC1B;AA5BC;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;gEACK;AAShB;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,uBAAuB;QACpC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;oEACS;AASpB;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,uBAAuB;QACpC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;oEACS;AASpB;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;yEACc;AAG3B;;;;;;;GAOG;AACH,MAAM,OAAO,gCAAgC;IAE3C,oBAAoB;IAapB,OAAO,CAAoC;IAE3C,mBAAmB;IAQnB,OAAO,CAAuC;IAe9C,kBAAkB,CAA0B;IAE5C,kBAAkB;IASlB,OAAO,GAA2B,CAAC,OAAO,CAAC,CAAC;IAE5C,mBAAmB;IAOnB,MAAM,GAAsE,OAAO,CAAC;IASpF,SAAS,GAAe,SAAS,CAAC,IAAI,CAAC;IAEvC,gBAAgB;IAYhB,KAAK,GAAY,EAAE,CAAC;IAEpB,qBAAqB;IAOrB,SAAS,CAAQ;IAQjB,OAAO,CAAQ;CAChB;AAtFC;IAZC,mBAAmB,CAAC;QACnB,WAAW,EAAE,2DAA2D;QACxE,IAAI,EAAE,gCAAgC;QACtC,OAAO,EAAE;YACP,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,mBAAmB;YAC/B,eAAe,EAAE,IAAI;SACtB;KACF,CAAC;IACD,UAAU,EAAE;IACZ,cAAc,EAAE;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC;iEACF;AAU3C;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC;KAC3C,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;iEACqB;AAe9C;IAbC,mBAAmB,CAAC;QACnB,WAAW,EAAE,qDAAqD;QAClE,IAAI,EAAE,CAAC,oBAAoB,CAAC;QAC5B,OAAO,EAAE,CAAC;gBACR,UAAU,EAAE,gEAAgE;gBAC5E,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,cAAc;aACtB,CAAC;KACH,CAAC;IACD,UAAU,EAAE;IACZ,OAAO,EAAE;IACT,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC;4EACW;AAW5C;IARC,mBAAmB,CAAC;QACnB,WAAW,EAAE,sBAAsB;QACnC,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,CAAC,OAAO,CAAC;KACnB,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;iEACD;AAS5C;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,0EAA0E;QACvF,OAAO,EAAE,OAAO;KACjB,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;gEACyE;AASpF;IAPC,mBAAmB,CAAC;QACnB,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS,CAAC,IAAI;KACxB,CAAC;IACD,UAAU,EAAE;IACZ,MAAM,CAAC,SAAS,CAAC;mEACqB;AAcvC;IAXC,mBAAmB,CAAC;QACnB,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,EAAE;KACZ,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,GAAG,CAAC;IACR,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;+DACtB;AASpB;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,0BAA0B;KACpC,CAAC;IACD,UAAU,EAAE;IACZ,YAAY,EAAE;mEACE;AAQjB;IANC,mBAAmB,CAAC;QACnB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,0BAA0B;KACpC,CAAC;IACD,UAAU,EAAE;IACZ,YAAY,EAAE;iEACA;AAiBjB;;;;GAIG;AACH,MAAM,OAAO,iCAAiC;IAU5C,OAAO,GAAuC,EAAE,CAAC;IAMjD,WAAW,GAAW,CAAC,CAAC;IAMxB,QAAQ,GAEJ;QACF,aAAa,EAAE,KAAK;KACrB,CAAC;CACH;AAjBC;IATC,WAAW,CAAC;QACX,WAAW,EAAE,8DAA8D;QAC3E,IAAI,EAAE,OAAO;QACb,OAAO,EAAE;YACP,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;YAC3C,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,IAAI,EAAE;YACvE,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;SACjE;KACF,CAAC;kEAC+C;AAMjD;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,EAAE;KACZ,CAAC;sEACsB;AAMxB;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;KACnC,CAAC;mEAKA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@explorins/pers-shared",
3
- "version": "2.1.76",
3
+ "version": "2.1.77",
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",