@explorins/pers-shared 2.1.81 → 2.1.82
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/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/base-analytics.dto.d.ts +2 -2
- package/dist/cjs/shared-lib/dto/analytics/base-analytics.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/transaction-analytics.request.dto.d.ts +2 -6
- package/dist/cjs/shared-lib/dto/analytics/transaction-analytics.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/transaction-analytics.request.dto.js +13 -7
- package/dist/cjs/shared-lib/dto/analytics/transaction-analytics.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/user-analytics.dto.d.ts +2 -6
- 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 +8 -3
- package/dist/cjs/shared-lib/dto/analytics/user-analytics.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/analytics/user-ranking-analytics.dto.d.ts +71 -0
- package/dist/cjs/shared-lib/dto/analytics/user-ranking-analytics.dto.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/analytics/user-ranking-analytics.dto.js +242 -0
- package/dist/cjs/shared-lib/dto/analytics/user-ranking-analytics.dto.js.map +1 -0
- package/dist/cjs/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.d.ts +2 -6
- package/dist/cjs/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.js +7 -2
- package/dist/cjs/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/index.d.ts +1 -0
- package/dist/cjs/shared-lib/dto/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/index.js +1 -0
- package/dist/cjs/shared-lib/dto/index.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/base-analytics.dto.d.ts +2 -2
- package/dist/esm/shared-lib/dto/analytics/base-analytics.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/transaction-analytics.request.dto.d.ts +2 -6
- package/dist/esm/shared-lib/dto/analytics/transaction-analytics.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/transaction-analytics.request.dto.js +13 -7
- package/dist/esm/shared-lib/dto/analytics/transaction-analytics.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/user-analytics.dto.d.ts +2 -6
- 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 +8 -3
- package/dist/esm/shared-lib/dto/analytics/user-analytics.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/analytics/user-ranking-analytics.dto.d.ts +71 -0
- package/dist/esm/shared-lib/dto/analytics/user-ranking-analytics.dto.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/analytics/user-ranking-analytics.dto.js +215 -0
- package/dist/esm/shared-lib/dto/analytics/user-ranking-analytics.dto.js.map +1 -0
- package/dist/esm/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.d.ts +2 -6
- package/dist/esm/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.js +7 -2
- package/dist/esm/shared-lib/dto/campaign/campaign-claim-analytics-request.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/index.d.ts +1 -0
- package/dist/esm/shared-lib/dto/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/index.js +1 -0
- package/dist/esm/shared-lib/dto/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './shared-lib/enum';
|
|
2
2
|
export * from './shared-lib/interfaces';
|
|
3
3
|
export * from './shared-lib/types';
|
|
4
|
-
export
|
|
4
|
+
export * from './shared-lib/dto';
|
|
5
5
|
export * from '@explorins/web3-types';
|
|
6
6
|
export type * from './shared-lib/errors';
|
|
7
7
|
export { type StructuredError, ErrorCategory } from './shared-lib/errors/base/error-classification-enums';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,uBAAuB,CAAC;AAGtC,mBAAmB,qBAAqB,CAAC;AACzC,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -21,6 +21,7 @@ exports.ErrorCategory = void 0;
|
|
|
21
21
|
__exportStar(require("./shared-lib/enum"), exports);
|
|
22
22
|
__exportStar(require("./shared-lib/interfaces"), exports);
|
|
23
23
|
__exportStar(require("./shared-lib/types"), exports);
|
|
24
|
+
__exportStar(require("./shared-lib/dto"), exports); // Export runtime classes, not just types
|
|
24
25
|
// Re-export web3 types for convenience
|
|
25
26
|
__exportStar(require("@explorins/web3-types"), exports);
|
|
26
27
|
var error_classification_enums_1 = require("./shared-lib/errors/base/error-classification-enums");
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,8FAA8F;;;;;;;;;;;;;;;;;AAE9F,wBAAwB;AACxB,oDAAkC;AAClC,0DAAwC;AACxC,qDAAmC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,8FAA8F;;;;;;;;;;;;;;;;;AAE9F,wBAAwB;AACxB,oDAAkC;AAClC,0DAAwC;AACxC,qDAAmC;AACnC,mDAAiC,CAAC,yCAAyC;AAE3E,uCAAuC;AACvC,wDAAsC;AAItC,kGAA0G;AAA3E,2HAAA,aAAa,OAAA;AAE5C,4CAA4C;AAC5C,2CAA2C;AAC3C,iFAAiF"}
|
|
@@ -19,9 +19,9 @@ export declare abstract class BaseAnalyticsRequestDTO {
|
|
|
19
19
|
*/
|
|
20
20
|
export interface BaseAnalyticsMetadata {
|
|
21
21
|
/**
|
|
22
|
-
* Applied date range filter (
|
|
22
|
+
* Applied date range filter (always present - uses current date as fallback if not provided in request)
|
|
23
23
|
*/
|
|
24
|
-
dateRange
|
|
24
|
+
dateRange: {
|
|
25
25
|
startDate: Date;
|
|
26
26
|
endDate: Date;
|
|
27
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/base-analytics.dto.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,8BAAsB,uBAAuB;IAO3C,SAAS,CAAC,EAAE,IAAI,CAAC;IAQjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,SAAS,
|
|
1
|
+
{"version":3,"file":"base-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/base-analytics.dto.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,8BAAsB,uBAAuB;IAO3C,SAAS,CAAC,EAAE,IAAI,CAAC;IAQjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,SAAS,EAAE;QACT,SAAS,EAAE,IAAI,CAAC;QAChB,OAAO,EAAE,IAAI,CAAC;KACf,CAAC;CACH;AAED;;;;;GAKG;AACH,8BAAsB,wBAAwB;IAC5C,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;CAC1C"}
|
|
@@ -2,6 +2,7 @@ import { TransactionDTO } from '../transaction/transaction.dto';
|
|
|
2
2
|
import { SortOrder } from '../../enum';
|
|
3
3
|
import { AnalyticsGroupByType, AnalyticsMetricType, AnalyticsResultItem } from '../../types/analytics.type';
|
|
4
4
|
import { GroupByExpressionDTO } from './group-by-expression.dto';
|
|
5
|
+
import { BaseAnalyticsMetadata } from './base-analytics.dto';
|
|
5
6
|
declare const TransactionAnalyticsFiltersDTO_base: import("@nestjs/common").Type<Partial<Omit<TransactionDTO, "createdAt" | "updatedAt">>>;
|
|
6
7
|
/**
|
|
7
8
|
* Type-safe filters for transaction analytics
|
|
@@ -35,12 +36,7 @@ export type TransactionAnalyticsGroupByType = AnalyticsGroupByType | keyof Omit<
|
|
|
35
36
|
export declare class TransactionAnalyticsResponseDTO {
|
|
36
37
|
results: TransactionAnalyticsResultItem[];
|
|
37
38
|
totalGroups: number;
|
|
38
|
-
metadata:
|
|
39
|
-
dateRange?: {
|
|
40
|
-
startDate: Date;
|
|
41
|
-
endDate: Date;
|
|
42
|
-
};
|
|
43
|
-
};
|
|
39
|
+
metadata: BaseAnalyticsMetadata;
|
|
44
40
|
}
|
|
45
41
|
export type TransactionAnalyticsResultItem = AnalyticsResultItem & {
|
|
46
42
|
[K in keyof Omit<TransactionDTO, 'id' | 'createdAt' | 'updatedAt' | 'transactionHash'>]?: TransactionDTO[K];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-analytics.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/transaction-analytics.request.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAoB,MAAM,YAAY,CAAC;AACzD,OAAO,EAA0B,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACpI,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;;
|
|
1
|
+
{"version":3,"file":"transaction-analytics.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/transaction-analytics.request.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAoB,MAAM,YAAY,CAAC;AACzD,OAAO,EAA0B,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACpI,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;;AAE7D;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,mCAEnD;CAAG;AAEJ;;;GAGG;AACH,qBAAa,8BAA8B;IAkBzC,OAAO,CAAC,EAAE,8BAA8B,CAAC;IAUzC,OAAO,CAAC,EAAE,+BAA+B,EAAE,CAAC;IAkB5C,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAW5C,OAAO,EAAE,mBAAmB,EAAE,CAAa;IAU3C,MAAM,CAAC,EAAE,mBAAmB,GAAG,+BAA+B,GAAG,MAAM,CAAW;IASlF,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,+BAA+B,GACzC,oBAAoB,GAClB,MAAM,IAAI,CAAC,cAAc,EACrB,WAAW,GAAG,WAAW,GACzB,IAAI,GACJ,iBAAiB,CACpB,CAAC;AAEN;;GAEG;AACH,qBAAa,+BAA+B;IAU1C,OAAO,EAAE,8BAA8B,EAAE,CAAM;IAM/C,WAAW,EAAE,MAAM,CAAK;IAWxB,QAAQ,EAAE,qBAAqB,CAK7B;CACH;AAED,MAAM,MAAM,8BAA8B,GAAG,mBAAmB,GAAG;KAEhE,CAAC,IAAI,MAAM,IAAI,CAAC,cAAc,EAC3B,IAAI,GACJ,WAAW,GAAG,WAAW,GACzB,iBAAiB,CACpB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;CACvB,CAAC"}
|
|
@@ -17,6 +17,7 @@ const transaction_dto_1 = require("../transaction/transaction.dto");
|
|
|
17
17
|
const enum_1 = require("../../enum");
|
|
18
18
|
const analytics_type_1 = require("../../types/analytics.type");
|
|
19
19
|
const group_by_expression_dto_1 = require("./group-by-expression.dto");
|
|
20
|
+
const native_token_type_1 = require("../../types/native-token.type");
|
|
20
21
|
/**
|
|
21
22
|
* Type-safe filters for transaction analytics
|
|
22
23
|
* All fields optional via PartialType
|
|
@@ -50,11 +51,11 @@ class TransactionAnalyticsRequestDTO {
|
|
|
50
51
|
exports.TransactionAnalyticsRequestDTO = TransactionAnalyticsRequestDTO;
|
|
51
52
|
__decorate([
|
|
52
53
|
(0, swagger_1.ApiPropertyOptional)({
|
|
53
|
-
description: 'Dynamic filters based on TransactionDTO fields - all transaction fields available',
|
|
54
|
+
description: 'Dynamic filters based on TransactionDTO fields - all transaction fields available. Note: tokenType uses native blockchain types (ERC721, ERC20, ERC1155), not friendly names.',
|
|
54
55
|
type: TransactionAnalyticsFiltersDTO,
|
|
55
56
|
example: {
|
|
56
57
|
status: 'SUCCEEDED',
|
|
57
|
-
tokenType:
|
|
58
|
+
tokenType: native_token_type_1.NativeTokenTypes.ERC721,
|
|
58
59
|
triggerProcessType: 'MINT',
|
|
59
60
|
tenantId: 'tenant-123',
|
|
60
61
|
chainId: 1
|
|
@@ -68,7 +69,7 @@ __decorate([
|
|
|
68
69
|
], TransactionAnalyticsRequestDTO.prototype, "filters", void 0);
|
|
69
70
|
__decorate([
|
|
70
71
|
(0, swagger_1.ApiPropertyOptional)({
|
|
71
|
-
description: 'Fields to group by - any TransactionDTO field plus computed time fields',
|
|
72
|
+
description: 'Fields to group by - any TransactionDTO field plus computed time fields. Note: tokenType values are ERC721/ERC20/ERC1155.',
|
|
72
73
|
type: [String],
|
|
73
74
|
example: ['tokenType', 'month', 'status', 'chainId']
|
|
74
75
|
}),
|
|
@@ -163,17 +164,22 @@ __decorate([
|
|
|
163
164
|
class TransactionAnalyticsResponseDTO {
|
|
164
165
|
results = [];
|
|
165
166
|
totalGroups = 0;
|
|
166
|
-
metadata = {
|
|
167
|
+
metadata = {
|
|
168
|
+
dateRange: {
|
|
169
|
+
startDate: new Date(),
|
|
170
|
+
endDate: new Date()
|
|
171
|
+
}
|
|
172
|
+
};
|
|
167
173
|
}
|
|
168
174
|
exports.TransactionAnalyticsResponseDTO = TransactionAnalyticsResponseDTO;
|
|
169
175
|
__decorate([
|
|
170
176
|
(0, swagger_1.ApiProperty)({
|
|
171
|
-
description: 'Analytics results array with dynamic fields and expression aliases',
|
|
177
|
+
description: 'Analytics results array with dynamic fields and expression aliases. Note: tokenType values are ERC721/ERC20/ERC1155, not friendly names.',
|
|
172
178
|
type: 'array',
|
|
173
179
|
example: [
|
|
174
180
|
{ userId: 'user-123', count: 45 },
|
|
175
181
|
{ userAddress: '0xabc...def', count: 32 },
|
|
176
|
-
{ tokenType:
|
|
182
|
+
{ tokenType: native_token_type_1.NativeTokenTypes.ERC721, count: 150, month: '2024-01-01T00:00:00.000Z' }
|
|
177
183
|
]
|
|
178
184
|
}),
|
|
179
185
|
__metadata("design:type", Array)
|
|
@@ -187,7 +193,7 @@ __decorate([
|
|
|
187
193
|
], TransactionAnalyticsResponseDTO.prototype, "totalGroups", void 0);
|
|
188
194
|
__decorate([
|
|
189
195
|
(0, swagger_1.ApiProperty)({
|
|
190
|
-
description: 'Query metadata showing applied
|
|
196
|
+
description: 'Query metadata showing applied date range (always present)',
|
|
191
197
|
example: {
|
|
192
198
|
dateRange: {
|
|
193
199
|
startDate: '2024-01-01T00:00:00.000Z',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-analytics.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/transaction-analytics.request.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA0I;AAC1I,yDAAoD;AACpD,6CAA0F;AAC1F,oEAAgE;AAChE,qCAAyD;AACzD,+DAAoI;AACpI,uEAAiE;
|
|
1
|
+
{"version":3,"file":"transaction-analytics.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/transaction-analytics.request.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BaseAnalyticsMetadata } from './base-analytics.dto';
|
|
1
2
|
/**
|
|
2
3
|
* USER ANALYTICS FILTERS DTO
|
|
3
4
|
*
|
|
@@ -46,11 +47,6 @@ export declare class UserAnalyticsResponseDTO {
|
|
|
46
47
|
activeUsers: number;
|
|
47
48
|
newUsers: number;
|
|
48
49
|
}[];
|
|
49
|
-
metadata:
|
|
50
|
-
dateRange?: {
|
|
51
|
-
startDate: Date;
|
|
52
|
-
endDate: Date;
|
|
53
|
-
};
|
|
54
|
-
};
|
|
50
|
+
metadata: BaseAnalyticsMetadata;
|
|
55
51
|
}
|
|
56
52
|
//# sourceMappingURL=user-analytics.dto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/user-analytics.dto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"user-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/user-analytics.dto.ts"],"names":[],"mappings":"AAEyC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtG;;;;;GAKG;AACH,qBAAa,uBAAuB;IASlC,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;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;IAgBJ,QAAQ,EAAE,qBAAqB,CAK7B;CACH"}
|
|
@@ -101,7 +101,12 @@ class UserAnalyticsResponseDTO {
|
|
|
101
101
|
averageRedemptionsPerActiveUser = 0;
|
|
102
102
|
engagementRate = 0;
|
|
103
103
|
periodBreakdown;
|
|
104
|
-
metadata = {
|
|
104
|
+
metadata = {
|
|
105
|
+
dateRange: {
|
|
106
|
+
startDate: new Date(),
|
|
107
|
+
endDate: new Date()
|
|
108
|
+
}
|
|
109
|
+
};
|
|
105
110
|
}
|
|
106
111
|
exports.UserAnalyticsResponseDTO = UserAnalyticsResponseDTO;
|
|
107
112
|
__decorate([
|
|
@@ -206,7 +211,7 @@ __decorate([
|
|
|
206
211
|
], UserAnalyticsResponseDTO.prototype, "periodBreakdown", void 0);
|
|
207
212
|
__decorate([
|
|
208
213
|
(0, swagger_1.ApiProperty)({
|
|
209
|
-
description: 'Query metadata showing applied
|
|
214
|
+
description: 'Query metadata showing applied date range (always present)',
|
|
210
215
|
type: 'object',
|
|
211
216
|
properties: {
|
|
212
217
|
dateRange: {
|
|
@@ -215,7 +220,7 @@ __decorate([
|
|
|
215
220
|
startDate: { type: 'string', format: 'date-time' },
|
|
216
221
|
endDate: { type: 'string', format: 'date-time' }
|
|
217
222
|
},
|
|
218
|
-
description: 'Applied date range filter
|
|
223
|
+
description: 'Applied date range filter'
|
|
219
224
|
}
|
|
220
225
|
}
|
|
221
226
|
}),
|
|
@@ -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,qDAAqF;AACrF,yDAAyC;
|
|
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,71 @@
|
|
|
1
|
+
import { SortOrder } from '../../enum';
|
|
2
|
+
import type { NativeTokenType } from '../../types/native-token.type';
|
|
3
|
+
import { BaseAnalyticsMetadata } from './base-analytics.dto';
|
|
4
|
+
/**
|
|
5
|
+
* USER RANKING FILTERS DTO
|
|
6
|
+
*
|
|
7
|
+
* Filters to scope user ranking calculations.
|
|
8
|
+
* Determines which transactions/users to include.
|
|
9
|
+
*/
|
|
10
|
+
export declare class UserRankingFiltersDTO {
|
|
11
|
+
businessId?: string;
|
|
12
|
+
tokenType?: NativeTokenType;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* USER RANKING REQUEST DTO
|
|
16
|
+
*
|
|
17
|
+
* Request structure for user transaction ranking analytics.
|
|
18
|
+
* Returns ranked list of users with transaction metrics and full user details.
|
|
19
|
+
*
|
|
20
|
+
* Use Cases:
|
|
21
|
+
* - Admin leaderboards showing top users by activity
|
|
22
|
+
* - User engagement analysis with full user context
|
|
23
|
+
* - Identifying power users for campaigns
|
|
24
|
+
*/
|
|
25
|
+
export declare class UserRankingAnalyticsRequestDTO {
|
|
26
|
+
filters?: UserRankingFiltersDTO;
|
|
27
|
+
sortBy?: 'totalTransactions' | 'tokenSpent' | 'userId' | 'email';
|
|
28
|
+
sortOrder?: SortOrder;
|
|
29
|
+
limit?: number;
|
|
30
|
+
startDate?: Date;
|
|
31
|
+
endDate?: Date;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* USER RANKING RESULT ITEM DTO
|
|
35
|
+
*
|
|
36
|
+
* Single user's ranking data with full user details and transaction metrics.
|
|
37
|
+
* Enriched with user data via SQL JOIN (not post-query enrichment).
|
|
38
|
+
*/
|
|
39
|
+
export declare class UserRankingResultItemDTO {
|
|
40
|
+
userId: string | null;
|
|
41
|
+
email: string | null;
|
|
42
|
+
externalUserId: string | null;
|
|
43
|
+
totalTransactions: number;
|
|
44
|
+
tokenSpent: number;
|
|
45
|
+
hasLegacyTransactions?: boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* USER RANKING RESPONSE DTO
|
|
49
|
+
*
|
|
50
|
+
* Ranked list of users with transaction metrics and full user details.
|
|
51
|
+
* Results are pre-sorted by backend according to request.sortBy/sortOrder.
|
|
52
|
+
*/
|
|
53
|
+
export declare class UserRankingAnalyticsResponseDTO {
|
|
54
|
+
results: UserRankingResultItemDTO[];
|
|
55
|
+
totalUsers: number;
|
|
56
|
+
metadata: BaseAnalyticsMetadata & {
|
|
57
|
+
/**
|
|
58
|
+
* Token type used for filtering sum (if provided in request)
|
|
59
|
+
* Native token type (ERC721, ERC20, ERC1155)
|
|
60
|
+
*/
|
|
61
|
+
tokenType?: NativeTokenType;
|
|
62
|
+
/**
|
|
63
|
+
* Sort configuration applied
|
|
64
|
+
*/
|
|
65
|
+
sorting?: {
|
|
66
|
+
sortBy: string;
|
|
67
|
+
sortOrder: SortOrder;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=user-ranking-analytics.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-ranking-analytics.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/user-ranking-analytics.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;GAKG;AACH,qBAAa,qBAAqB;IAShC,UAAU,CAAC,EAAE,MAAM,CAAC;IASpB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,qBAAa,8BAA8B;IAYzC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAUhC,MAAM,CAAC,EAAE,mBAAmB,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;IAUjE,SAAS,CAAC,EAAE,SAAS,CAAC;IAatB,KAAK,CAAC,EAAE,MAAM,CAAC;IAQf,SAAS,CAAC,EAAE,IAAI,CAAC;IAQjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,wBAAwB;IAUnC,MAAM,EAAG,MAAM,GAAG,IAAI,CAAC;IASvB,KAAK,EAAG,MAAM,GAAG,IAAI,CAAC;IAQtB,cAAc,EAAG,MAAM,GAAG,IAAI,CAAC;IAQ/B,iBAAiB,EAAG,MAAM,CAAC;IAM3B,UAAU,EAAG,MAAM,CAAC;IAUpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;GAKG;AACH,qBAAa,+BAA+B;IAM1C,OAAO,EAAG,wBAAwB,EAAE,CAAC;IAMrC,UAAU,EAAG,MAAM,CAAC;IAMpB,QAAQ,EAAG,qBAAqB,GAAG;QACjC;;;WAGG;QACH,SAAS,CAAC,EAAE,eAAe,CAAC;QAE5B;;WAEG;QACH,OAAO,CAAC,EAAE;YACR,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,SAAS,CAAC;SACtB,CAAC;KACH,CAAC;CACH"}
|
|
@@ -0,0 +1,242 @@
|
|
|
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.UserRankingAnalyticsResponseDTO = exports.UserRankingResultItemDTO = exports.UserRankingAnalyticsRequestDTO = exports.UserRankingFiltersDTO = void 0;
|
|
13
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const class_transformer_1 = require("class-transformer");
|
|
16
|
+
const enum_1 = require("../../enum");
|
|
17
|
+
const native_token_type_1 = require("../../types/native-token.type");
|
|
18
|
+
/**
|
|
19
|
+
* USER RANKING FILTERS DTO
|
|
20
|
+
*
|
|
21
|
+
* Filters to scope user ranking calculations.
|
|
22
|
+
* Determines which transactions/users to include.
|
|
23
|
+
*/
|
|
24
|
+
class UserRankingFiltersDTO {
|
|
25
|
+
businessId;
|
|
26
|
+
tokenType;
|
|
27
|
+
}
|
|
28
|
+
exports.UserRankingFiltersDTO = UserRankingFiltersDTO;
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
31
|
+
description: 'Filter to specific business (filters transactions by engagedBusinessId)',
|
|
32
|
+
type: String,
|
|
33
|
+
format: 'uuid',
|
|
34
|
+
example: 'biz-uuid-123'
|
|
35
|
+
}),
|
|
36
|
+
(0, class_validator_1.IsOptional)(),
|
|
37
|
+
(0, class_validator_1.IsString)(),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], UserRankingFiltersDTO.prototype, "businessId", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
42
|
+
description: 'Filter token sum by specific native token type (ERC721 for stamps, ERC20 for credits, ERC1155 for multi-token). Transaction count includes ALL token types, but sum only includes this type. Frontend SDK should convert friendly names (STAMP → ERC721, CREDIT → ERC20).',
|
|
43
|
+
enum: native_token_type_1.NativeTokenTypes,
|
|
44
|
+
example: native_token_type_1.NativeTokenTypes.ERC721
|
|
45
|
+
}),
|
|
46
|
+
(0, class_validator_1.IsOptional)(),
|
|
47
|
+
(0, class_validator_1.IsEnum)(native_token_type_1.NativeTokenTypes),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], UserRankingFiltersDTO.prototype, "tokenType", void 0);
|
|
50
|
+
/**
|
|
51
|
+
* USER RANKING REQUEST DTO
|
|
52
|
+
*
|
|
53
|
+
* Request structure for user transaction ranking analytics.
|
|
54
|
+
* Returns ranked list of users with transaction metrics and full user details.
|
|
55
|
+
*
|
|
56
|
+
* Use Cases:
|
|
57
|
+
* - Admin leaderboards showing top users by activity
|
|
58
|
+
* - User engagement analysis with full user context
|
|
59
|
+
* - Identifying power users for campaigns
|
|
60
|
+
*/
|
|
61
|
+
class UserRankingAnalyticsRequestDTO {
|
|
62
|
+
filters;
|
|
63
|
+
sortBy;
|
|
64
|
+
sortOrder;
|
|
65
|
+
limit;
|
|
66
|
+
startDate;
|
|
67
|
+
endDate;
|
|
68
|
+
}
|
|
69
|
+
exports.UserRankingAnalyticsRequestDTO = UserRankingAnalyticsRequestDTO;
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
72
|
+
description: 'Filters to scope which transactions/users to include',
|
|
73
|
+
type: UserRankingFiltersDTO,
|
|
74
|
+
example: {
|
|
75
|
+
businessId: 'biz-uuid-123',
|
|
76
|
+
tokenType: native_token_type_1.NativeTokenTypes.ERC721
|
|
77
|
+
}
|
|
78
|
+
}),
|
|
79
|
+
(0, class_validator_1.IsOptional)(),
|
|
80
|
+
(0, class_validator_1.ValidateNested)(),
|
|
81
|
+
(0, class_transformer_1.Type)(() => UserRankingFiltersDTO),
|
|
82
|
+
__metadata("design:type", UserRankingFiltersDTO)
|
|
83
|
+
], UserRankingAnalyticsRequestDTO.prototype, "filters", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
86
|
+
description: 'Field to sort results by',
|
|
87
|
+
enum: ['totalTransactions', 'tokenSpent', 'userId', 'email'],
|
|
88
|
+
default: 'totalTransactions',
|
|
89
|
+
example: 'totalTransactions'
|
|
90
|
+
}),
|
|
91
|
+
(0, class_validator_1.IsOptional)(),
|
|
92
|
+
(0, class_validator_1.IsString)(),
|
|
93
|
+
__metadata("design:type", String)
|
|
94
|
+
], UserRankingAnalyticsRequestDTO.prototype, "sortBy", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
97
|
+
description: 'Sort direction',
|
|
98
|
+
enum: enum_1.SortOrder,
|
|
99
|
+
default: enum_1.SortOrder.DESC,
|
|
100
|
+
example: enum_1.SortOrder.DESC
|
|
101
|
+
}),
|
|
102
|
+
(0, class_validator_1.IsOptional)(),
|
|
103
|
+
(0, class_validator_1.IsEnum)(enum_1.SortOrder),
|
|
104
|
+
__metadata("design:type", String)
|
|
105
|
+
], UserRankingAnalyticsRequestDTO.prototype, "sortOrder", void 0);
|
|
106
|
+
__decorate([
|
|
107
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
108
|
+
description: 'Maximum number of results to return (top N users)',
|
|
109
|
+
minimum: 1,
|
|
110
|
+
maximum: 1000,
|
|
111
|
+
default: 50,
|
|
112
|
+
example: 50
|
|
113
|
+
}),
|
|
114
|
+
(0, class_validator_1.IsOptional)(),
|
|
115
|
+
(0, class_validator_1.IsNumber)(),
|
|
116
|
+
(0, class_validator_1.Min)(1),
|
|
117
|
+
(0, class_validator_1.Max)(1000),
|
|
118
|
+
__metadata("design:type", Number)
|
|
119
|
+
], UserRankingAnalyticsRequestDTO.prototype, "limit", void 0);
|
|
120
|
+
__decorate([
|
|
121
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
122
|
+
description: 'Start date for filtering transactions (ISO 8601 format). Only transactions within date range are counted.',
|
|
123
|
+
example: '2024-01-01T00:00:00Z'
|
|
124
|
+
}),
|
|
125
|
+
(0, class_validator_1.IsOptional)(),
|
|
126
|
+
(0, class_validator_1.IsDateString)(),
|
|
127
|
+
__metadata("design:type", Date)
|
|
128
|
+
], UserRankingAnalyticsRequestDTO.prototype, "startDate", void 0);
|
|
129
|
+
__decorate([
|
|
130
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
131
|
+
description: 'End date for filtering transactions (ISO 8601 format). Only transactions within date range are counted.',
|
|
132
|
+
example: '2024-12-31T23:59:59Z'
|
|
133
|
+
}),
|
|
134
|
+
(0, class_validator_1.IsOptional)(),
|
|
135
|
+
(0, class_validator_1.IsDateString)(),
|
|
136
|
+
__metadata("design:type", Date)
|
|
137
|
+
], UserRankingAnalyticsRequestDTO.prototype, "endDate", void 0);
|
|
138
|
+
/**
|
|
139
|
+
* USER RANKING RESULT ITEM DTO
|
|
140
|
+
*
|
|
141
|
+
* Single user's ranking data with full user details and transaction metrics.
|
|
142
|
+
* Enriched with user data via SQL JOIN (not post-query enrichment).
|
|
143
|
+
*/
|
|
144
|
+
class UserRankingResultItemDTO {
|
|
145
|
+
// ========== USER IDENTITY ==========
|
|
146
|
+
userId;
|
|
147
|
+
email;
|
|
148
|
+
externalUserId;
|
|
149
|
+
// ========== TRANSACTION METRICS ==========
|
|
150
|
+
totalTransactions;
|
|
151
|
+
tokenSpent;
|
|
152
|
+
// ========== METADATA ==========
|
|
153
|
+
hasLegacyTransactions;
|
|
154
|
+
}
|
|
155
|
+
exports.UserRankingResultItemDTO = UserRankingResultItemDTO;
|
|
156
|
+
__decorate([
|
|
157
|
+
(0, swagger_1.ApiProperty)({
|
|
158
|
+
description: 'User UUID. NULL for system/business senders (filtered out in most cases).',
|
|
159
|
+
type: String,
|
|
160
|
+
format: 'uuid',
|
|
161
|
+
nullable: true,
|
|
162
|
+
example: 'user-uuid-123'
|
|
163
|
+
}),
|
|
164
|
+
__metadata("design:type", Object)
|
|
165
|
+
], UserRankingResultItemDTO.prototype, "userId", void 0);
|
|
166
|
+
__decorate([
|
|
167
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
168
|
+
description: 'User email address. NULL if user privacy settings hide email or user is system/business.',
|
|
169
|
+
type: String,
|
|
170
|
+
format: 'email',
|
|
171
|
+
nullable: true,
|
|
172
|
+
example: 'user@example.com'
|
|
173
|
+
}),
|
|
174
|
+
__metadata("design:type", Object)
|
|
175
|
+
], UserRankingResultItemDTO.prototype, "email", void 0);
|
|
176
|
+
__decorate([
|
|
177
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
178
|
+
description: 'External user identifier from external system (CRM, auth provider, etc.). NULL if not set.',
|
|
179
|
+
type: String,
|
|
180
|
+
nullable: true,
|
|
181
|
+
example: 'ext-user-123'
|
|
182
|
+
}),
|
|
183
|
+
__metadata("design:type", Object)
|
|
184
|
+
], UserRankingResultItemDTO.prototype, "externalUserId", void 0);
|
|
185
|
+
__decorate([
|
|
186
|
+
(0, swagger_1.ApiProperty)({
|
|
187
|
+
description: 'Total number of successful transactions (status=succeeded) for this user across ALL token types. Counts both sent and received transactions.',
|
|
188
|
+
example: 42
|
|
189
|
+
}),
|
|
190
|
+
__metadata("design:type", Number)
|
|
191
|
+
], UserRankingResultItemDTO.prototype, "totalTransactions", void 0);
|
|
192
|
+
__decorate([
|
|
193
|
+
(0, swagger_1.ApiProperty)({
|
|
194
|
+
description: 'Total amount spent/transferred in the filtered token type (filters.tokenType). If no tokenType filter specified, sums ALL token types. Only counts successful transactions (status=succeeded).',
|
|
195
|
+
example: 1250.50
|
|
196
|
+
}),
|
|
197
|
+
__metadata("design:type", Number)
|
|
198
|
+
], UserRankingResultItemDTO.prototype, "tokenSpent", void 0);
|
|
199
|
+
__decorate([
|
|
200
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
201
|
+
description: 'Indicates if this user has transactions without senderId (legacy transactions). User may still have full details if resolved via wallet or accountAddress. Post-migration, this will always be false.',
|
|
202
|
+
type: Boolean,
|
|
203
|
+
default: false,
|
|
204
|
+
example: false
|
|
205
|
+
}),
|
|
206
|
+
__metadata("design:type", Boolean)
|
|
207
|
+
], UserRankingResultItemDTO.prototype, "hasLegacyTransactions", void 0);
|
|
208
|
+
/**
|
|
209
|
+
* USER RANKING RESPONSE DTO
|
|
210
|
+
*
|
|
211
|
+
* Ranked list of users with transaction metrics and full user details.
|
|
212
|
+
* Results are pre-sorted by backend according to request.sortBy/sortOrder.
|
|
213
|
+
*/
|
|
214
|
+
class UserRankingAnalyticsResponseDTO {
|
|
215
|
+
results;
|
|
216
|
+
totalUsers;
|
|
217
|
+
metadata;
|
|
218
|
+
}
|
|
219
|
+
exports.UserRankingAnalyticsResponseDTO = UserRankingAnalyticsResponseDTO;
|
|
220
|
+
__decorate([
|
|
221
|
+
(0, swagger_1.ApiProperty)({
|
|
222
|
+
description: 'Ranked list of users with transaction metrics and full user details. Pre-sorted by backend.',
|
|
223
|
+
type: [UserRankingResultItemDTO],
|
|
224
|
+
isArray: true
|
|
225
|
+
}),
|
|
226
|
+
__metadata("design:type", Array)
|
|
227
|
+
], UserRankingAnalyticsResponseDTO.prototype, "results", void 0);
|
|
228
|
+
__decorate([
|
|
229
|
+
(0, swagger_1.ApiProperty)({
|
|
230
|
+
description: 'Total number of users returned (≤ request.limit)',
|
|
231
|
+
example: 50
|
|
232
|
+
}),
|
|
233
|
+
__metadata("design:type", Number)
|
|
234
|
+
], UserRankingAnalyticsResponseDTO.prototype, "totalUsers", void 0);
|
|
235
|
+
__decorate([
|
|
236
|
+
(0, swagger_1.ApiProperty)({
|
|
237
|
+
description: 'Metadata about the query execution',
|
|
238
|
+
type: 'object'
|
|
239
|
+
}),
|
|
240
|
+
__metadata("design:type", Object)
|
|
241
|
+
], UserRankingAnalyticsResponseDTO.prototype, "metadata", void 0);
|
|
242
|
+
//# sourceMappingURL=user-ranking-analytics.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-ranking-analytics.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/analytics/user-ranking-analytics.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { CampaignClaimAnalyticsDTO } from '../analytics/campaign-claim-analytics
|
|
|
2
2
|
import { SortOrder } from '../../enum';
|
|
3
3
|
import { AnalyticsGroupByType, AnalyticsMetricType, AnalyticsResultItem } from '../../types/analytics.type';
|
|
4
4
|
import { GroupByExpressionDTO } from '../analytics/group-by-expression.dto';
|
|
5
|
+
import { BaseAnalyticsMetadata } from '../analytics/base-analytics.dto';
|
|
5
6
|
declare const CampaignClaimAnalyticsFiltersDTO_base: import("@nestjs/common").Type<Partial<Omit<CampaignClaimAnalyticsDTO, "user" | "business" | "campaign" | "triggerSource" | "createdAt">>>;
|
|
6
7
|
/**
|
|
7
8
|
* SCALABLE ANALYTICS REQUEST PATTERN
|
|
@@ -56,12 +57,7 @@ export type CampaignClaimAnalyticsGroupByType = AnalyticsGroupByType | keyof Omi
|
|
|
56
57
|
export declare class CampaignClaimAnalyticsResponseDTO {
|
|
57
58
|
results: CampaignClaimAnalyticsResultItem[];
|
|
58
59
|
totalGroups: number;
|
|
59
|
-
metadata:
|
|
60
|
-
dateRange?: {
|
|
61
|
-
startDate: Date;
|
|
62
|
-
endDate: Date;
|
|
63
|
-
};
|
|
64
|
-
};
|
|
60
|
+
metadata: BaseAnalyticsMetadata;
|
|
65
61
|
}
|
|
66
62
|
export type CampaignClaimAnalyticsResultItem = AnalyticsResultItem & {
|
|
67
63
|
[K in keyof Omit<CampaignClaimAnalyticsDTO, 'id' | 'createdAt' | 'user' | 'campaign' | 'business' | 'triggerSource' | 'message'>]?: CampaignClaimAnalyticsDTO[K];
|
|
@@ -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,2CAA2C,CAAC;AACtF,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;;
|
|
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,2CAA2C,CAAC;AACtF,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;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;;AAExE;;;;;;;;;;;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;IAWxB,QAAQ,EAAE,qBAAqB,CAK7B;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"}
|
|
@@ -224,7 +224,12 @@ __decorate([
|
|
|
224
224
|
class CampaignClaimAnalyticsResponseDTO {
|
|
225
225
|
results = [];
|
|
226
226
|
totalGroups = 0;
|
|
227
|
-
metadata = {
|
|
227
|
+
metadata = {
|
|
228
|
+
dateRange: {
|
|
229
|
+
startDate: new Date(),
|
|
230
|
+
endDate: new Date()
|
|
231
|
+
}
|
|
232
|
+
};
|
|
228
233
|
}
|
|
229
234
|
exports.CampaignClaimAnalyticsResponseDTO = CampaignClaimAnalyticsResponseDTO;
|
|
230
235
|
__decorate([
|
|
@@ -248,7 +253,7 @@ __decorate([
|
|
|
248
253
|
], CampaignClaimAnalyticsResponseDTO.prototype, "totalGroups", void 0);
|
|
249
254
|
__decorate([
|
|
250
255
|
(0, swagger_1.ApiProperty)({
|
|
251
|
-
description: 'Query metadata showing applied
|
|
256
|
+
description: 'Query metadata showing applied date range (always present)',
|
|
252
257
|
example: {
|
|
253
258
|
dateRange: {
|
|
254
259
|
startDate: '2024-01-01T00:00:00.000Z',
|