@explorins/pers-shared 2.1.48 → 2.1.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/shared-lib/dto/transaction/transaction-analytics.request.dto.d.ts +7 -9
- package/dist/cjs/shared-lib/dto/transaction/transaction-analytics.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/transaction/transaction-analytics.request.dto.js +21 -13
- package/dist/cjs/shared-lib/dto/transaction/transaction-analytics.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/types/analytics.type.d.ts.map +1 -1
- package/dist/cjs/shared-lib/types/analytics.type.js +0 -2
- package/dist/cjs/shared-lib/types/analytics.type.js.map +1 -1
- package/dist/esm/shared-lib/dto/transaction/transaction-analytics.request.dto.d.ts +7 -9
- package/dist/esm/shared-lib/dto/transaction/transaction-analytics.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/transaction/transaction-analytics.request.dto.js +20 -13
- package/dist/esm/shared-lib/dto/transaction/transaction-analytics.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/types/analytics.type.d.ts.map +1 -1
- package/dist/esm/shared-lib/types/analytics.type.js +0 -2
- package/dist/esm/shared-lib/types/analytics.type.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,12 +2,15 @@ import { TransactionDTO } from './transaction.dto';
|
|
|
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
|
+
declare const TransactionAnalyticsFiltersDTO_base: import("@nestjs/common").Type<Partial<Omit<TransactionDTO, "createdAt" | "updatedAt">>>;
|
|
6
|
+
export declare class TransactionAnalyticsFiltersDTO extends TransactionAnalyticsFiltersDTO_base {
|
|
7
|
+
}
|
|
5
8
|
/**
|
|
6
|
-
*
|
|
9
|
+
* ANALYTICS: Dynamic transaction analytics request
|
|
7
10
|
* Provides flexible filtering, grouping, and aggregation for frontend modules
|
|
8
11
|
*/
|
|
9
12
|
export declare class TransactionAnalyticsRequestDTO {
|
|
10
|
-
filters?:
|
|
13
|
+
filters?: TransactionAnalyticsFiltersDTO;
|
|
11
14
|
groupBy?: TransactionAnalyticsGroupByType[];
|
|
12
15
|
groupByExpressions?: GroupByExpressionDTO[];
|
|
13
16
|
metrics: AnalyticsMetricType[];
|
|
@@ -18,16 +21,11 @@ export declare class TransactionAnalyticsRequestDTO {
|
|
|
18
21
|
endDate?: Date;
|
|
19
22
|
}
|
|
20
23
|
/**
|
|
21
|
-
*
|
|
22
|
-
* Excludes only date fields (handled separately) and nullable fields that need special handling
|
|
23
|
-
*/
|
|
24
|
-
type TransactionAnalyticsFilters = Partial<Omit<TransactionDTO, 'createdAt' | 'updatedAt'>>;
|
|
25
|
-
/**
|
|
26
|
-
* llow grouping by any meaningful TransactionDTO field + computed time fields
|
|
24
|
+
* Allow grouping by any meaningful TransactionDTO field + computed time fields
|
|
27
25
|
*/
|
|
28
26
|
export type TransactionAnalyticsGroupByType = AnalyticsGroupByType | keyof Omit<TransactionDTO, 'createdAt' | 'updatedAt' | 'id' | 'transactionHash'>;
|
|
29
27
|
/**
|
|
30
|
-
*
|
|
28
|
+
* RESPONSE: Analytics result structure
|
|
31
29
|
*/
|
|
32
30
|
export declare class TransactionAnalyticsResponseDTO {
|
|
33
31
|
results: TransactionAnalyticsResultItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-analytics.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/transaction/transaction-analytics.request.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,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,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction-analytics.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/transaction/transaction-analytics.request.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,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,sCAAsC,CAAC;;AAI5E,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,EAAE,mBAAmB,GAAG,WAAW,CAAW;IASpD,SAAS,EAAE,SAAS,CAAkB;IActC,KAAK,EAAE,MAAM,CAAM;IASnB,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;IAMxB,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;KACvB,CAEC;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"}
|
|
@@ -9,32 +9,38 @@ 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.TransactionAnalyticsResponseDTO = exports.TransactionAnalyticsRequestDTO = void 0;
|
|
12
|
+
exports.TransactionAnalyticsResponseDTO = exports.TransactionAnalyticsRequestDTO = exports.TransactionAnalyticsFiltersDTO = 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");
|
|
16
|
+
const transaction_dto_1 = require("./transaction.dto");
|
|
16
17
|
const enum_1 = require("../../enum");
|
|
17
18
|
const analytics_type_1 = require("../../types/analytics.type");
|
|
18
19
|
const group_by_expression_dto_1 = require("../analytics/group-by-expression.dto");
|
|
20
|
+
// Define the Filters DTO class first so it can be used in the Request DTO
|
|
21
|
+
// Uses OmitType and PartialType to create a type-safe definition that Swagger can understand
|
|
22
|
+
class TransactionAnalyticsFiltersDTO extends (0, swagger_1.PartialType)((0, swagger_1.OmitType)(transaction_dto_1.TransactionDTO, ['createdAt', 'updatedAt'])) {
|
|
23
|
+
}
|
|
24
|
+
exports.TransactionAnalyticsFiltersDTO = TransactionAnalyticsFiltersDTO;
|
|
19
25
|
/**
|
|
20
|
-
*
|
|
26
|
+
* ANALYTICS: Dynamic transaction analytics request
|
|
21
27
|
* Provides flexible filtering, grouping, and aggregation for frontend modules
|
|
22
28
|
*/
|
|
23
29
|
class TransactionAnalyticsRequestDTO {
|
|
24
|
-
//
|
|
30
|
+
// FILTERING OPTIONS (Dynamic keyof TransactionDTO)
|
|
25
31
|
filters;
|
|
26
|
-
//
|
|
32
|
+
// SIMPLE GROUPING OPTIONS (Fully Dynamic)
|
|
27
33
|
groupBy;
|
|
28
|
-
//
|
|
34
|
+
// COMPLEX GROUPING OPTIONS (CASE WHEN Support)
|
|
29
35
|
groupByExpressions;
|
|
30
|
-
//
|
|
36
|
+
// METRICS OPTIONS
|
|
31
37
|
metrics = ['count'];
|
|
32
|
-
//
|
|
38
|
+
// ORDERING OPTIONS
|
|
33
39
|
sortBy = 'count';
|
|
34
40
|
sortOrder = enum_1.SortOrder.DESC;
|
|
35
|
-
//
|
|
41
|
+
// LIMIT OPTIONS
|
|
36
42
|
limit = 10;
|
|
37
|
-
//
|
|
43
|
+
// DATE RANGE OPTIONS
|
|
38
44
|
startDate;
|
|
39
45
|
endDate;
|
|
40
46
|
}
|
|
@@ -42,7 +48,7 @@ exports.TransactionAnalyticsRequestDTO = TransactionAnalyticsRequestDTO;
|
|
|
42
48
|
__decorate([
|
|
43
49
|
(0, swagger_1.ApiPropertyOptional)({
|
|
44
50
|
description: 'Dynamic filters based on TransactionDTO fields - all transaction fields available',
|
|
45
|
-
type:
|
|
51
|
+
type: TransactionAnalyticsFiltersDTO,
|
|
46
52
|
example: {
|
|
47
53
|
status: 'SUCCEEDED',
|
|
48
54
|
tokenType: 'STAMP',
|
|
@@ -53,7 +59,9 @@ __decorate([
|
|
|
53
59
|
}),
|
|
54
60
|
(0, class_validator_1.IsOptional)(),
|
|
55
61
|
(0, class_validator_1.IsObject)(),
|
|
56
|
-
|
|
62
|
+
(0, class_validator_1.ValidateNested)(),
|
|
63
|
+
(0, class_transformer_1.Type)(() => TransactionAnalyticsFiltersDTO),
|
|
64
|
+
__metadata("design:type", TransactionAnalyticsFiltersDTO)
|
|
57
65
|
], TransactionAnalyticsRequestDTO.prototype, "filters", void 0);
|
|
58
66
|
__decorate([
|
|
59
67
|
(0, swagger_1.ApiPropertyOptional)({
|
|
@@ -107,7 +115,7 @@ __decorate([
|
|
|
107
115
|
__decorate([
|
|
108
116
|
(0, swagger_1.ApiPropertyOptional)({
|
|
109
117
|
description: 'Order direction',
|
|
110
|
-
enum:
|
|
118
|
+
enum: enum_1.SortOrder,
|
|
111
119
|
example: enum_1.SortOrder.DESC
|
|
112
120
|
}),
|
|
113
121
|
(0, class_validator_1.IsOptional)(),
|
|
@@ -147,7 +155,7 @@ __decorate([
|
|
|
147
155
|
__metadata("design:type", Date)
|
|
148
156
|
], TransactionAnalyticsRequestDTO.prototype, "endDate", void 0);
|
|
149
157
|
/**
|
|
150
|
-
*
|
|
158
|
+
* RESPONSE: Analytics result structure
|
|
151
159
|
*/
|
|
152
160
|
class TransactionAnalyticsResponseDTO {
|
|
153
161
|
results = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-analytics.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/transaction/transaction-analytics.request.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA0I;AAC1I,yDAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"transaction-analytics.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/transaction/transaction-analytics.request.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/analytics.type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"analytics.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/analytics.type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAE3B;KAAG,CAAC,IAAI,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAAE,GAExD;KAAG,CAAC,IAAI,mBAAmB,CAAC,CAAC,EAAE,MAAM;CAAE,CAAC;AAE5C,eAAO,MAAM,sBAAsB,gDAAiD,CAAC;AAErF,MAAM,MAAM,mBAAmB,GAAG,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB,sDAAuD,CAAC;AAE7F,MAAM,MAAM,oBAAoB,GAAG,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ANALYTICS_GROUP_BY_TYPES = exports.ANALYTICS_METRIC_TYPES = void 0;
|
|
4
|
-
/* // ✅ EXPRESSION ALIASES: Results from CASE WHEN expressions and other computed fields
|
|
5
|
-
& { [key: string]: string | number | Date | undefined }; */
|
|
6
4
|
exports.ANALYTICS_METRIC_TYPES = ['count', 'sum', 'avg', 'min', 'max'];
|
|
7
5
|
exports.ANALYTICS_GROUP_BY_TYPES = ['month', 'week', 'day', 'year', 'quarter'];
|
|
8
6
|
//# sourceMappingURL=analytics.type.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.type.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/analytics.type.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"analytics.type.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/analytics.type.ts"],"names":[],"mappings":";;;AASa,QAAA,sBAAsB,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAIxE,QAAA,wBAAwB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC"}
|
|
@@ -2,12 +2,15 @@ import { TransactionDTO } from './transaction.dto';
|
|
|
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
|
+
declare const TransactionAnalyticsFiltersDTO_base: import("@nestjs/common").Type<Partial<Omit<TransactionDTO, "createdAt" | "updatedAt">>>;
|
|
6
|
+
export declare class TransactionAnalyticsFiltersDTO extends TransactionAnalyticsFiltersDTO_base {
|
|
7
|
+
}
|
|
5
8
|
/**
|
|
6
|
-
*
|
|
9
|
+
* ANALYTICS: Dynamic transaction analytics request
|
|
7
10
|
* Provides flexible filtering, grouping, and aggregation for frontend modules
|
|
8
11
|
*/
|
|
9
12
|
export declare class TransactionAnalyticsRequestDTO {
|
|
10
|
-
filters?:
|
|
13
|
+
filters?: TransactionAnalyticsFiltersDTO;
|
|
11
14
|
groupBy?: TransactionAnalyticsGroupByType[];
|
|
12
15
|
groupByExpressions?: GroupByExpressionDTO[];
|
|
13
16
|
metrics: AnalyticsMetricType[];
|
|
@@ -18,16 +21,11 @@ export declare class TransactionAnalyticsRequestDTO {
|
|
|
18
21
|
endDate?: Date;
|
|
19
22
|
}
|
|
20
23
|
/**
|
|
21
|
-
*
|
|
22
|
-
* Excludes only date fields (handled separately) and nullable fields that need special handling
|
|
23
|
-
*/
|
|
24
|
-
type TransactionAnalyticsFilters = Partial<Omit<TransactionDTO, 'createdAt' | 'updatedAt'>>;
|
|
25
|
-
/**
|
|
26
|
-
* llow grouping by any meaningful TransactionDTO field + computed time fields
|
|
24
|
+
* Allow grouping by any meaningful TransactionDTO field + computed time fields
|
|
27
25
|
*/
|
|
28
26
|
export type TransactionAnalyticsGroupByType = AnalyticsGroupByType | keyof Omit<TransactionDTO, 'createdAt' | 'updatedAt' | 'id' | 'transactionHash'>;
|
|
29
27
|
/**
|
|
30
|
-
*
|
|
28
|
+
* RESPONSE: Analytics result structure
|
|
31
29
|
*/
|
|
32
30
|
export declare class TransactionAnalyticsResponseDTO {
|
|
33
31
|
results: TransactionAnalyticsResultItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-analytics.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/transaction/transaction-analytics.request.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,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,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction-analytics.request.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/transaction/transaction-analytics.request.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,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,sCAAsC,CAAC;;AAI5E,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,EAAE,mBAAmB,GAAG,WAAW,CAAW;IASpD,SAAS,EAAE,SAAS,CAAkB;IActC,KAAK,EAAE,MAAM,CAAM;IASnB,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;IAMxB,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;KACvB,CAEC;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"}
|
|
@@ -6,36 +6,41 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { IsOptional, IsIn, IsNumber, IsString, IsObject, IsDateString, Min, Max, IsArray, ValidateNested, IsEnum } from 'class-validator';
|
|
8
8
|
import { Transform, Type } from 'class-transformer';
|
|
9
|
-
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
|
9
|
+
import { ApiProperty, ApiPropertyOptional, OmitType, PartialType } from '@nestjs/swagger';
|
|
10
|
+
import { TransactionDTO } from './transaction.dto';
|
|
10
11
|
import { SortOrder, AccountOwnerType } from '../../enum';
|
|
11
12
|
import { ANALYTICS_METRIC_TYPES } from '../../types/analytics.type';
|
|
12
13
|
import { GroupByExpressionDTO } from '../analytics/group-by-expression.dto';
|
|
14
|
+
// Define the Filters DTO class first so it can be used in the Request DTO
|
|
15
|
+
// Uses OmitType and PartialType to create a type-safe definition that Swagger can understand
|
|
16
|
+
export class TransactionAnalyticsFiltersDTO extends PartialType(OmitType(TransactionDTO, ['createdAt', 'updatedAt'])) {
|
|
17
|
+
}
|
|
13
18
|
/**
|
|
14
|
-
*
|
|
19
|
+
* ANALYTICS: Dynamic transaction analytics request
|
|
15
20
|
* Provides flexible filtering, grouping, and aggregation for frontend modules
|
|
16
21
|
*/
|
|
17
22
|
export class TransactionAnalyticsRequestDTO {
|
|
18
|
-
//
|
|
23
|
+
// FILTERING OPTIONS (Dynamic keyof TransactionDTO)
|
|
19
24
|
filters;
|
|
20
|
-
//
|
|
25
|
+
// SIMPLE GROUPING OPTIONS (Fully Dynamic)
|
|
21
26
|
groupBy;
|
|
22
|
-
//
|
|
27
|
+
// COMPLEX GROUPING OPTIONS (CASE WHEN Support)
|
|
23
28
|
groupByExpressions;
|
|
24
|
-
//
|
|
29
|
+
// METRICS OPTIONS
|
|
25
30
|
metrics = ['count'];
|
|
26
|
-
//
|
|
31
|
+
// ORDERING OPTIONS
|
|
27
32
|
sortBy = 'count';
|
|
28
33
|
sortOrder = SortOrder.DESC;
|
|
29
|
-
//
|
|
34
|
+
// LIMIT OPTIONS
|
|
30
35
|
limit = 10;
|
|
31
|
-
//
|
|
36
|
+
// DATE RANGE OPTIONS
|
|
32
37
|
startDate;
|
|
33
38
|
endDate;
|
|
34
39
|
}
|
|
35
40
|
__decorate([
|
|
36
41
|
ApiPropertyOptional({
|
|
37
42
|
description: 'Dynamic filters based on TransactionDTO fields - all transaction fields available',
|
|
38
|
-
type:
|
|
43
|
+
type: TransactionAnalyticsFiltersDTO,
|
|
39
44
|
example: {
|
|
40
45
|
status: 'SUCCEEDED',
|
|
41
46
|
tokenType: 'STAMP',
|
|
@@ -45,7 +50,9 @@ __decorate([
|
|
|
45
50
|
}
|
|
46
51
|
}),
|
|
47
52
|
IsOptional(),
|
|
48
|
-
IsObject()
|
|
53
|
+
IsObject(),
|
|
54
|
+
ValidateNested(),
|
|
55
|
+
Type(() => TransactionAnalyticsFiltersDTO)
|
|
49
56
|
], TransactionAnalyticsRequestDTO.prototype, "filters", void 0);
|
|
50
57
|
__decorate([
|
|
51
58
|
ApiPropertyOptional({
|
|
@@ -95,7 +102,7 @@ __decorate([
|
|
|
95
102
|
__decorate([
|
|
96
103
|
ApiPropertyOptional({
|
|
97
104
|
description: 'Order direction',
|
|
98
|
-
enum:
|
|
105
|
+
enum: SortOrder,
|
|
99
106
|
example: SortOrder.DESC
|
|
100
107
|
}),
|
|
101
108
|
IsOptional(),
|
|
@@ -131,7 +138,7 @@ __decorate([
|
|
|
131
138
|
IsDateString()
|
|
132
139
|
], TransactionAnalyticsRequestDTO.prototype, "endDate", void 0);
|
|
133
140
|
/**
|
|
134
|
-
*
|
|
141
|
+
* RESPONSE: Analytics result structure
|
|
135
142
|
*/
|
|
136
143
|
export class TransactionAnalyticsResponseDTO {
|
|
137
144
|
results = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-analytics.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/transaction/transaction-analytics.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC1I,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction-analytics.request.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/transaction/transaction-analytics.request.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/analytics.type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"analytics.type.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/types/analytics.type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAE3B;KAAG,CAAC,IAAI,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAAE,GAExD;KAAG,CAAC,IAAI,mBAAmB,CAAC,CAAC,EAAE,MAAM;CAAE,CAAC;AAE5C,eAAO,MAAM,sBAAsB,gDAAiD,CAAC;AAErF,MAAM,MAAM,mBAAmB,GAAG,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB,sDAAuD,CAAC;AAE7F,MAAM,MAAM,oBAAoB,GAAG,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/* // ✅ EXPRESSION ALIASES: Results from CASE WHEN expressions and other computed fields
|
|
2
|
-
& { [key: string]: string | number | Date | undefined }; */
|
|
3
1
|
export const ANALYTICS_METRIC_TYPES = ['count', 'sum', 'avg', 'min', 'max'];
|
|
4
2
|
export const ANALYTICS_GROUP_BY_TYPES = ['month', 'week', 'day', 'year', 'quarter'];
|
|
5
3
|
//# sourceMappingURL=analytics.type.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.type.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/analytics.type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"analytics.type.js","sourceRoot":"","sources":["../../../../src/shared-lib/types/analytics.type.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAIrF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC"}
|