@explorins/pers-shared 2.1.1 → 2.1.2
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/dto/account-selector.dto.d.ts +2 -2
- package/dist/cjs/dto/account-selector.dto.d.ts.map +1 -1
- package/dist/cjs/dto/account-selector.dto.js +4 -4
- package/dist/cjs/dto/account-selector.dto.js.map +1 -1
- package/dist/cjs/dto/analytics/group-by-expression.dto.d.ts +6 -0
- package/dist/cjs/dto/analytics/group-by-expression.dto.d.ts.map +1 -0
- package/dist/cjs/dto/analytics/group-by-expression.dto.js +48 -0
- package/dist/cjs/dto/analytics/group-by-expression.dto.js.map +1 -0
- package/dist/cjs/dto/index.d.ts +3 -10
- package/dist/cjs/dto/index.d.ts.map +1 -1
- package/dist/cjs/dto/index.js +5 -10
- package/dist/cjs/dto/index.js.map +1 -1
- package/dist/cjs/dto/pagination/index.d.ts +3 -0
- package/dist/cjs/dto/pagination/index.d.ts.map +1 -0
- package/dist/cjs/{exceptions → dto/pagination}/index.js +2 -3
- package/dist/cjs/dto/pagination/index.js.map +1 -0
- package/dist/cjs/dto/pagination/pagination.request.dto.d.ts +20 -0
- package/dist/cjs/dto/pagination/pagination.request.dto.d.ts.map +1 -0
- package/dist/cjs/dto/pagination/pagination.request.dto.js +92 -0
- package/dist/cjs/dto/pagination/pagination.request.dto.js.map +1 -0
- package/dist/cjs/dto/pagination/pagination.response.dto.d.ts +18 -0
- package/dist/cjs/dto/pagination/pagination.response.dto.d.ts.map +1 -0
- package/dist/cjs/dto/pagination/pagination.response.dto.js +66 -0
- package/dist/cjs/dto/pagination/pagination.response.dto.js.map +1 -0
- package/dist/cjs/dto/signing-account/create-signing-account-request.dto.d.ts +2 -2
- package/dist/cjs/dto/signing-account/create-signing-account-request.dto.d.ts.map +1 -1
- package/dist/cjs/dto/signing-account/create-signing-account-request.dto.js +4 -4
- package/dist/cjs/dto/signing-account/create-signing-account-request.dto.js.map +1 -1
- package/dist/cjs/dto/signing-account/select-primary-account-request.dto.d.ts +2 -2
- package/dist/cjs/dto/signing-account/select-primary-account-request.dto.d.ts.map +1 -1
- package/dist/cjs/dto/signing-account/select-primary-account-request.dto.js +3 -3
- package/dist/cjs/dto/signing-account/select-primary-account-request.dto.js.map +1 -1
- package/dist/cjs/dto/signing-account/signing-account.dto.d.ts +3 -3
- package/dist/cjs/dto/signing-account/signing-account.dto.d.ts.map +1 -1
- package/dist/cjs/dto/signing-account/signing-account.dto.js +4 -4
- package/dist/cjs/dto/signing-account/signing-account.dto.js.map +1 -1
- package/dist/cjs/dto/transaction/index.d.ts +2 -0
- package/dist/cjs/dto/transaction/index.d.ts.map +1 -1
- package/dist/cjs/dto/transaction/index.js +2 -0
- package/dist/cjs/dto/transaction/index.js.map +1 -1
- package/dist/cjs/dto/transaction/transaction-analytics.request.dto.d.ts +43 -0
- package/dist/cjs/dto/transaction/transaction-analytics.request.dto.d.ts.map +1 -0
- package/dist/cjs/dto/transaction/transaction-analytics.request.dto.js +186 -0
- package/dist/cjs/dto/transaction/transaction-analytics.request.dto.js.map +1 -0
- package/dist/cjs/dto/transaction/transaction-pagination.request.dto.d.ts +23 -0
- package/dist/cjs/dto/transaction/transaction-pagination.request.dto.d.ts.map +1 -0
- package/dist/cjs/dto/transaction/transaction-pagination.request.dto.js +107 -0
- package/dist/cjs/dto/transaction/transaction-pagination.request.dto.js.map +1 -0
- package/dist/cjs/dto/transaction/transaction.dto.d.ts +9 -1
- package/dist/cjs/dto/transaction/transaction.dto.d.ts.map +1 -1
- package/dist/cjs/dto/transaction/transaction.dto.js +46 -0
- package/dist/cjs/dto/transaction/transaction.dto.js.map +1 -1
- package/dist/cjs/dto/wallet.dto.d.ts +2 -2
- package/dist/cjs/dto/wallet.dto.d.ts.map +1 -1
- package/dist/cjs/dto/wallet.dto.js +2 -2
- package/dist/cjs/dto/wallet.dto.js.map +1 -1
- package/dist/cjs/enum/index.d.ts +1 -1
- package/dist/cjs/enum/index.d.ts.map +1 -1
- package/dist/cjs/enum/index.js +1 -1
- package/dist/cjs/enum/index.js.map +1 -1
- package/dist/cjs/enum/owner-type.enum.d.ts +1 -1
- package/dist/cjs/enum/owner-type.enum.d.ts.map +1 -1
- package/dist/cjs/enum/owner-type.enum.js +8 -8
- package/dist/cjs/enum/owner-type.enum.js.map +1 -1
- package/dist/cjs/enum/sort-order.enum.d.ts +5 -0
- package/dist/cjs/enum/sort-order.enum.d.ts.map +1 -0
- package/dist/cjs/enum/sort-order.enum.js +9 -0
- package/dist/cjs/enum/sort-order.enum.js.map +1 -0
- package/dist/cjs/interfaces/base-pagination.interface.d.ts +44 -0
- package/dist/cjs/interfaces/base-pagination.interface.d.ts.map +1 -0
- package/dist/cjs/interfaces/base-pagination.interface.js +3 -0
- package/dist/cjs/interfaces/base-pagination.interface.js.map +1 -0
- package/dist/cjs/interfaces/group-by-expression.interface.d.ts +6 -0
- package/dist/cjs/interfaces/group-by-expression.interface.d.ts.map +1 -0
- package/dist/cjs/interfaces/group-by-expression.interface.js +3 -0
- package/dist/cjs/interfaces/group-by-expression.interface.js.map +1 -0
- package/dist/cjs/interfaces/index.d.ts +4 -0
- package/dist/cjs/interfaces/index.d.ts.map +1 -1
- package/dist/cjs/interfaces/index.js +4 -0
- package/dist/cjs/interfaces/index.js.map +1 -1
- package/dist/cjs/interfaces/polymorphic-owner.interface.d.ts +2 -2
- package/dist/cjs/interfaces/polymorphic-owner.interface.d.ts.map +1 -1
- package/dist/cjs/interfaces/transaction-analytics-request.interface.d.ts +18 -0
- package/dist/cjs/interfaces/transaction-analytics-request.interface.d.ts.map +1 -0
- package/dist/cjs/interfaces/transaction-analytics-request.interface.js +3 -0
- package/dist/cjs/interfaces/transaction-analytics-request.interface.js.map +1 -0
- package/dist/cjs/interfaces/transaction.interface.d.ts +32 -0
- package/dist/cjs/interfaces/transaction.interface.d.ts.map +1 -0
- package/dist/cjs/interfaces/transaction.interface.js +3 -0
- package/dist/cjs/interfaces/transaction.interface.js.map +1 -0
- package/dist/cjs/types/analytics.type.d.ts +13 -0
- package/dist/cjs/types/analytics.type.d.ts.map +1 -0
- package/dist/cjs/types/analytics.type.js +8 -0
- package/dist/cjs/types/analytics.type.js.map +1 -0
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +1 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/value-objects/index.js +0 -1
- package/dist/cjs/value-objects/index.js.map +1 -1
- package/dist/esm/dto/account-selector.dto.d.ts +2 -2
- package/dist/esm/dto/account-selector.dto.d.ts.map +1 -1
- package/dist/esm/dto/account-selector.dto.js +4 -4
- package/dist/esm/dto/account-selector.dto.js.map +1 -1
- package/dist/esm/dto/analytics/group-by-expression.dto.d.ts +6 -0
- package/dist/esm/dto/analytics/group-by-expression.dto.d.ts.map +1 -0
- package/dist/esm/dto/analytics/group-by-expression.dto.js +38 -0
- package/dist/esm/dto/analytics/group-by-expression.dto.js.map +1 -0
- package/dist/esm/dto/index.d.ts +3 -10
- package/dist/esm/dto/index.d.ts.map +1 -1
- package/dist/esm/dto/index.js +5 -10
- package/dist/esm/dto/index.js.map +1 -1
- package/dist/esm/dto/pagination/index.d.ts +3 -0
- package/dist/esm/dto/pagination/index.d.ts.map +1 -0
- package/dist/esm/dto/pagination/index.js +3 -0
- package/dist/esm/dto/pagination/index.js.map +1 -0
- package/dist/esm/dto/pagination/pagination.request.dto.d.ts +20 -0
- package/dist/esm/dto/pagination/pagination.request.dto.d.ts.map +1 -0
- package/dist/esm/dto/pagination/pagination.request.dto.js +79 -0
- package/dist/esm/dto/pagination/pagination.request.dto.js.map +1 -0
- package/dist/esm/dto/pagination/pagination.response.dto.d.ts +18 -0
- package/dist/esm/dto/pagination/pagination.response.dto.d.ts.map +1 -0
- package/dist/esm/dto/pagination/pagination.response.dto.js +57 -0
- package/dist/esm/dto/pagination/pagination.response.dto.js.map +1 -0
- package/dist/esm/dto/signing-account/create-signing-account-request.dto.d.ts +2 -2
- package/dist/esm/dto/signing-account/create-signing-account-request.dto.d.ts.map +1 -1
- package/dist/esm/dto/signing-account/create-signing-account-request.dto.js +5 -5
- package/dist/esm/dto/signing-account/create-signing-account-request.dto.js.map +1 -1
- package/dist/esm/dto/signing-account/select-primary-account-request.dto.d.ts +2 -2
- package/dist/esm/dto/signing-account/select-primary-account-request.dto.d.ts.map +1 -1
- package/dist/esm/dto/signing-account/select-primary-account-request.dto.js +4 -4
- package/dist/esm/dto/signing-account/select-primary-account-request.dto.js.map +1 -1
- package/dist/esm/dto/signing-account/signing-account.dto.d.ts +3 -3
- package/dist/esm/dto/signing-account/signing-account.dto.d.ts.map +1 -1
- package/dist/esm/dto/signing-account/signing-account.dto.js +5 -5
- package/dist/esm/dto/signing-account/signing-account.dto.js.map +1 -1
- package/dist/esm/dto/transaction/index.d.ts +2 -0
- package/dist/esm/dto/transaction/index.d.ts.map +1 -1
- package/dist/esm/dto/transaction/index.js +2 -0
- package/dist/esm/dto/transaction/index.js.map +1 -1
- package/dist/esm/dto/transaction/transaction-analytics.request.dto.d.ts +43 -0
- package/dist/esm/dto/transaction/transaction-analytics.request.dto.d.ts.map +1 -0
- package/dist/esm/dto/transaction/transaction-analytics.request.dto.js +166 -0
- package/dist/esm/dto/transaction/transaction-analytics.request.dto.js.map +1 -0
- package/dist/esm/dto/transaction/transaction-pagination.request.dto.d.ts +23 -0
- package/dist/esm/dto/transaction/transaction-pagination.request.dto.d.ts.map +1 -0
- package/dist/esm/dto/transaction/transaction-pagination.request.dto.js +92 -0
- package/dist/esm/dto/transaction/transaction-pagination.request.dto.js.map +1 -0
- package/dist/esm/dto/transaction/transaction.dto.d.ts +9 -1
- package/dist/esm/dto/transaction/transaction.dto.d.ts.map +1 -1
- package/dist/esm/dto/transaction/transaction.dto.js +40 -0
- package/dist/esm/dto/transaction/transaction.dto.js.map +1 -1
- package/dist/esm/dto/wallet.dto.d.ts +2 -2
- package/dist/esm/dto/wallet.dto.d.ts.map +1 -1
- package/dist/esm/dto/wallet.dto.js +3 -3
- package/dist/esm/dto/wallet.dto.js.map +1 -1
- package/dist/esm/enum/index.d.ts +1 -1
- package/dist/esm/enum/index.d.ts.map +1 -1
- package/dist/esm/enum/index.js +1 -1
- package/dist/esm/enum/index.js.map +1 -1
- package/dist/esm/enum/owner-type.enum.d.ts +1 -1
- package/dist/esm/enum/owner-type.enum.d.ts.map +1 -1
- package/dist/esm/enum/owner-type.enum.js +7 -7
- package/dist/esm/enum/owner-type.enum.js.map +1 -1
- package/dist/esm/enum/sort-order.enum.d.ts +5 -0
- package/dist/esm/enum/sort-order.enum.d.ts.map +1 -0
- package/dist/esm/enum/sort-order.enum.js +6 -0
- package/dist/esm/enum/sort-order.enum.js.map +1 -0
- package/dist/esm/interfaces/base-pagination.interface.d.ts +44 -0
- package/dist/esm/interfaces/base-pagination.interface.d.ts.map +1 -0
- package/dist/esm/interfaces/base-pagination.interface.js +2 -0
- package/dist/esm/interfaces/base-pagination.interface.js.map +1 -0
- package/dist/esm/interfaces/group-by-expression.interface.d.ts +6 -0
- package/dist/esm/interfaces/group-by-expression.interface.d.ts.map +1 -0
- package/dist/esm/interfaces/group-by-expression.interface.js +2 -0
- package/dist/esm/interfaces/group-by-expression.interface.js.map +1 -0
- package/dist/esm/interfaces/index.d.ts +4 -0
- package/dist/esm/interfaces/index.d.ts.map +1 -1
- package/dist/esm/interfaces/index.js +4 -0
- package/dist/esm/interfaces/index.js.map +1 -1
- package/dist/esm/interfaces/polymorphic-owner.interface.d.ts +2 -2
- package/dist/esm/interfaces/polymorphic-owner.interface.d.ts.map +1 -1
- package/dist/esm/interfaces/transaction-analytics-request.interface.d.ts +18 -0
- package/dist/esm/interfaces/transaction-analytics-request.interface.d.ts.map +1 -0
- package/dist/esm/interfaces/transaction-analytics-request.interface.js +2 -0
- package/dist/esm/interfaces/transaction-analytics-request.interface.js.map +1 -0
- package/dist/esm/interfaces/transaction.interface.d.ts +32 -0
- package/dist/esm/interfaces/transaction.interface.d.ts.map +1 -0
- package/dist/esm/interfaces/transaction.interface.js +2 -0
- package/dist/esm/interfaces/transaction.interface.js.map +1 -0
- package/dist/esm/types/analytics.type.d.ts +13 -0
- package/dist/esm/types/analytics.type.d.ts.map +1 -0
- package/dist/esm/types/analytics.type.js +5 -0
- package/dist/esm/types/analytics.type.js.map +1 -0
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/value-objects/index.js +0 -1
- package/dist/esm/value-objects/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/enum/account-type.enum.d.ts +0 -5
- package/dist/cjs/enum/account-type.enum.d.ts.map +0 -1
- package/dist/cjs/enum/account-type.enum.js +0 -9
- package/dist/cjs/enum/account-type.enum.js.map +0 -1
- package/dist/cjs/exceptions/business-error.base.d.ts +0 -29
- package/dist/cjs/exceptions/business-error.base.d.ts.map +0 -1
- package/dist/cjs/exceptions/business-error.base.js +0 -53
- package/dist/cjs/exceptions/business-error.base.js.map +0 -1
- package/dist/cjs/exceptions/index.d.ts +0 -4
- package/dist/cjs/exceptions/index.d.ts.map +0 -1
- package/dist/cjs/exceptions/index.js.map +0 -1
- package/dist/cjs/exceptions/technical-errors.d.ts +0 -24
- package/dist/cjs/exceptions/technical-errors.d.ts.map +0 -1
- package/dist/cjs/exceptions/technical-errors.js +0 -73
- package/dist/cjs/exceptions/technical-errors.js.map +0 -1
- package/dist/cjs/exceptions/transaction-errors.d.ts +0 -44
- package/dist/cjs/exceptions/transaction-errors.d.ts.map +0 -1
- package/dist/cjs/exceptions/transaction-errors.js +0 -88
- package/dist/cjs/exceptions/transaction-errors.js.map +0 -1
- package/dist/esm/enum/account-type.enum.d.ts +0 -5
- package/dist/esm/enum/account-type.enum.d.ts.map +0 -1
- package/dist/esm/enum/account-type.enum.js +0 -6
- package/dist/esm/enum/account-type.enum.js.map +0 -1
- package/dist/esm/exceptions/business-error.base.d.ts +0 -29
- package/dist/esm/exceptions/business-error.base.d.ts.map +0 -1
- package/dist/esm/exceptions/business-error.base.js +0 -49
- package/dist/esm/exceptions/business-error.base.js.map +0 -1
- package/dist/esm/exceptions/index.d.ts +0 -4
- package/dist/esm/exceptions/index.d.ts.map +0 -1
- package/dist/esm/exceptions/index.js +0 -4
- package/dist/esm/exceptions/index.js.map +0 -1
- package/dist/esm/exceptions/technical-errors.d.ts +0 -24
- package/dist/esm/exceptions/technical-errors.d.ts.map +0 -1
- package/dist/esm/exceptions/technical-errors.js +0 -68
- package/dist/esm/exceptions/technical-errors.js.map +0 -1
- package/dist/esm/exceptions/transaction-errors.d.ts +0 -44
- package/dist/esm/exceptions/transaction-errors.d.ts.map +0 -1
- package/dist/esm/exceptions/transaction-errors.js +0 -72
- package/dist/esm/exceptions/transaction-errors.js.map +0 -1
|
@@ -0,0 +1,79 @@
|
|
|
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 { ApiPropertyOptional } from '@nestjs/swagger';
|
|
8
|
+
import { Type } from 'class-transformer';
|
|
9
|
+
import { IsOptional, IsInt, Min, Max, IsEnum, IsDateString } from 'class-validator';
|
|
10
|
+
import { SortOrder } from '../../enum/sort-order.enum';
|
|
11
|
+
/**
|
|
12
|
+
* ✅ GENERIC: Base pagination DTO for HTTP requests
|
|
13
|
+
* Implements common pagination validation and documentation
|
|
14
|
+
*/
|
|
15
|
+
export class BasePaginationRequestDTO {
|
|
16
|
+
page;
|
|
17
|
+
limit;
|
|
18
|
+
sortOrder = SortOrder.DESC;
|
|
19
|
+
}
|
|
20
|
+
__decorate([
|
|
21
|
+
ApiPropertyOptional({
|
|
22
|
+
description: 'Page number (1-based)',
|
|
23
|
+
default: 1,
|
|
24
|
+
minimum: 1,
|
|
25
|
+
example: 1
|
|
26
|
+
}),
|
|
27
|
+
IsOptional(),
|
|
28
|
+
Type(() => Number),
|
|
29
|
+
IsInt(),
|
|
30
|
+
Min(1)
|
|
31
|
+
], BasePaginationRequestDTO.prototype, "page", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
ApiPropertyOptional({
|
|
34
|
+
description: 'Number of items per page',
|
|
35
|
+
default: 50,
|
|
36
|
+
minimum: 1,
|
|
37
|
+
maximum: 100,
|
|
38
|
+
example: 50
|
|
39
|
+
}),
|
|
40
|
+
IsOptional(),
|
|
41
|
+
Type(() => Number),
|
|
42
|
+
IsInt(),
|
|
43
|
+
Min(1),
|
|
44
|
+
Max(5000)
|
|
45
|
+
], BasePaginationRequestDTO.prototype, "limit", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
ApiPropertyOptional({
|
|
48
|
+
description: 'Sort order - ascending or descending',
|
|
49
|
+
enum: [SortOrder],
|
|
50
|
+
default: SortOrder.DESC,
|
|
51
|
+
example: SortOrder.DESC
|
|
52
|
+
}),
|
|
53
|
+
IsOptional(),
|
|
54
|
+
IsEnum([SortOrder])
|
|
55
|
+
], BasePaginationRequestDTO.prototype, "sortOrder", void 0);
|
|
56
|
+
/**
|
|
57
|
+
* ✅ GENERIC: Base filters DTO
|
|
58
|
+
*/
|
|
59
|
+
export class BaseFiltersDTO {
|
|
60
|
+
dateFrom;
|
|
61
|
+
dateTo;
|
|
62
|
+
}
|
|
63
|
+
__decorate([
|
|
64
|
+
ApiPropertyOptional({
|
|
65
|
+
description: 'Filter items created after this date (ISO 8601 format)',
|
|
66
|
+
example: '2024-01-01T00:00:00.000Z'
|
|
67
|
+
}),
|
|
68
|
+
IsOptional(),
|
|
69
|
+
IsDateString()
|
|
70
|
+
], BaseFiltersDTO.prototype, "dateFrom", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
ApiPropertyOptional({
|
|
73
|
+
description: 'Filter items created before this date (ISO 8601 format)',
|
|
74
|
+
example: '2024-12-31T23:59:59.999Z'
|
|
75
|
+
}),
|
|
76
|
+
IsOptional(),
|
|
77
|
+
IsDateString()
|
|
78
|
+
], BaseFiltersDTO.prototype, "dateTo", void 0);
|
|
79
|
+
//# sourceMappingURL=pagination.request.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.request.dto.js","sourceRoot":"","sources":["../../../../src/dto/pagination/pagination.request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGvD;;;GAGG;AACH,MAAM,OAAgB,wBAAwB;IAWnC,IAAI,CAAU;IAcd,KAAK,CAAU;IAUf,SAAS,GAAc,SAAS,CAAC,IAAI,CAAC;CAIhD;AA5BU;IAVR,mBAAmB,CAAC;QACnB,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;KACX,CAAC;IACD,UAAU,EAAE;IACZ,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,KAAK,EAAE;IACP,GAAG,CAAC,CAAC,CAAC;sDACgB;AAcd;IAZR,mBAAmB,CAAC;QACnB,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,EAAE;KACZ,CAAC;IACD,UAAU,EAAE;IACZ,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,KAAK,EAAE;IACP,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,IAAI,CAAC;uDACc;AAUf;IARR,mBAAmB,CAAC;QACnB,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,OAAO,EAAE,SAAS,CAAC,IAAI;QACvB,OAAO,EAAE,SAAS,CAAC,IAAI;KACxB,CAAC;IACD,UAAU,EAAE;IACZ,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;2DAC2B;AAMjD;;GAEG;AACH,MAAM,OAAgB,cAAc;IAOzB,QAAQ,CAAQ;IAQhB,MAAM,CAAQ;CACxB;AATU;IANR,mBAAmB,CAAC;QACnB,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE,0BAA0B;KACpC,CAAC;IACD,UAAU,EAAE;IACZ,YAAY,EAAE;gDACU;AAQhB;IANR,mBAAmB,CAAC;QACnB,WAAW,EAAE,yDAAyD;QACtE,OAAO,EAAE,0BAA0B;KACpC,CAAC;IACD,UAAU,EAAE;IACZ,YAAY,EAAE;8CACQ"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PaginatedResponse, PaginationMetadata } from "../../interfaces/base-pagination.interface";
|
|
2
|
+
/**
|
|
3
|
+
* ✅ GENERIC: Paginated response DTO with factory method
|
|
4
|
+
*/
|
|
5
|
+
export declare class PaginatedResponseDTO<T> implements PaginatedResponse<T> {
|
|
6
|
+
readonly data: ReadonlyArray<T>;
|
|
7
|
+
readonly pagination: PaginationMetadata;
|
|
8
|
+
constructor(data: T[], page: number | null, limit: number | null, total: number);
|
|
9
|
+
/**
|
|
10
|
+
* ✅ FACTORY: Create paginated response from service layer
|
|
11
|
+
*/
|
|
12
|
+
static create<T>(data: T[], page: number, limit: number, total: number): PaginatedResponseDTO<T>;
|
|
13
|
+
/**
|
|
14
|
+
* ✅ FACTORY: Create empty paginated response
|
|
15
|
+
*/
|
|
16
|
+
static empty<T>(page?: number, limit?: number): PaginatedResponseDTO<T>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=pagination.response.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.response.dto.d.ts","sourceRoot":"","sources":["../../../../src/dto/pagination/pagination.response.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAGnG;;GAEG;AACH,qBAAa,oBAAoB,CAAC,CAAC,CAAE,YAAW,iBAAiB,CAAC,CAAC,CAAC;IAKlE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAahC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;gBAE5B,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM;IAY/E;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EACb,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,oBAAoB,CAAC,CAAC,CAAC;IAI1B;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAE,MAAU,EAAE,KAAK,GAAE,MAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC;CAG/E"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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 } from "@nestjs/swagger";
|
|
8
|
+
/**
|
|
9
|
+
* ✅ GENERIC: Paginated response DTO with factory method
|
|
10
|
+
*/
|
|
11
|
+
export class PaginatedResponseDTO {
|
|
12
|
+
data;
|
|
13
|
+
pagination;
|
|
14
|
+
constructor(data, page, limit, total) {
|
|
15
|
+
this.data = Object.freeze([...data]);
|
|
16
|
+
this.pagination = Object.freeze({
|
|
17
|
+
page,
|
|
18
|
+
limit,
|
|
19
|
+
total,
|
|
20
|
+
pages: Math.ceil(total / (limit || 1)),
|
|
21
|
+
hasNext: (page || 1) * (limit || 1) < total,
|
|
22
|
+
hasPrev: (page || 1) > 1
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* ✅ FACTORY: Create paginated response from service layer
|
|
27
|
+
*/
|
|
28
|
+
static create(data, page, limit, total) {
|
|
29
|
+
return new PaginatedResponseDTO(data, page, limit, total);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* ✅ FACTORY: Create empty paginated response
|
|
33
|
+
*/
|
|
34
|
+
static empty(page = 1, limit = 50) {
|
|
35
|
+
return new PaginatedResponseDTO([], page, limit, 0);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
__decorate([
|
|
39
|
+
ApiProperty({
|
|
40
|
+
description: 'Array of data items',
|
|
41
|
+
type: 'array'
|
|
42
|
+
})
|
|
43
|
+
], PaginatedResponseDTO.prototype, "data", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
ApiProperty({
|
|
46
|
+
description: 'Pagination metadata',
|
|
47
|
+
example: {
|
|
48
|
+
page: 1,
|
|
49
|
+
limit: 50,
|
|
50
|
+
total: 150,
|
|
51
|
+
pages: 3,
|
|
52
|
+
hasNext: true,
|
|
53
|
+
hasPrev: false
|
|
54
|
+
}
|
|
55
|
+
})
|
|
56
|
+
], PaginatedResponseDTO.prototype, "pagination", void 0);
|
|
57
|
+
//# sourceMappingURL=pagination.response.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.response.dto.js","sourceRoot":"","sources":["../../../../src/dto/pagination/pagination.response.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAKtB,IAAI,CAAmB;IAavB,UAAU,CAAqB;IAExC,YAAY,IAAS,EAAE,IAAmB,EAAE,KAAoB,EAAE,KAAa;QAC7E,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9B,IAAI;YACJ,KAAK;YACL,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YACtC,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK;YAC3C,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,IAAS,EACT,IAAY,EACZ,KAAa,EACb,KAAa;QAEb,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAI,OAAe,CAAC,EAAE,QAAgB,EAAE;QAClD,OAAO,IAAI,oBAAoB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;CACF;AA7CU;IAJR,WAAW,CAAC;QACX,WAAW,EAAE,qBAAqB;QAClC,IAAI,EAAE,OAAO;KACd,CAAC;kDAC8B;AAavB;IAXR,WAAW,CAAC;QACX,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;SACf;KACF,CAAC;wDACsC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { SigningKey } from '../../interfaces/wallet.interface';
|
|
2
|
-
import {
|
|
2
|
+
import { AccountOwnerType } from '../../enum/owner-type.enum';
|
|
3
3
|
import { SigningAccountProvider } from '../../enum/signing-account-provider.enum';
|
|
4
4
|
export declare class CreateSigningAccountRequestDTO {
|
|
5
|
-
ownerType:
|
|
5
|
+
ownerType: AccountOwnerType;
|
|
6
6
|
ownerId: string;
|
|
7
7
|
externalId?: string;
|
|
8
8
|
provider: SigningAccountProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-signing-account-request.dto.d.ts","sourceRoot":"","sources":["../../../../src/dto/signing-account/create-signing-account-request.dto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-signing-account-request.dto.d.ts","sourceRoot":"","sources":["../../../../src/dto/signing-account/create-signing-account-request.dto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF,qBAAa,8BAA8B;IAQvC,SAAS,EAAE,gBAAgB,CAAyB;IAQpD,OAAO,EAAE,MAAM,CAAM;IAQrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAQpB,QAAQ,EAAE,sBAAsB,CAAoC;IASpE,OAAO,EAAE,MAAM,CAAc;IAY7B,OAAO,CAAC,EAAE,MAAM,CAAC;IAUjB,cAAc,EAAE,MAAM,CAAM;IAS5B,UAAU,CAAC,EAAE,UAAU,CAAC;IASxB,SAAS,CAAC,EAAE,OAAO,CAAS;IAW5B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAM;CACxB"}
|
|
@@ -7,10 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
|
8
8
|
import { IsEnum, IsNotEmpty, IsString, IsOptional, IsBoolean, IsArray, IsNumber, Min, Max, ValidateNested } from 'class-validator';
|
|
9
9
|
import { Type, Transform } from 'class-transformer';
|
|
10
|
-
import {
|
|
10
|
+
import { AccountOwnerType } from '../../enum/owner-type.enum';
|
|
11
11
|
import { SigningAccountProvider } from '../../enum/signing-account-provider.enum';
|
|
12
12
|
export class CreateSigningAccountRequestDTO {
|
|
13
|
-
ownerType =
|
|
13
|
+
ownerType = AccountOwnerType.USER;
|
|
14
14
|
ownerId = '';
|
|
15
15
|
externalId;
|
|
16
16
|
provider = SigningAccountProvider.CUSTODIAL;
|
|
@@ -24,11 +24,11 @@ export class CreateSigningAccountRequestDTO {
|
|
|
24
24
|
}
|
|
25
25
|
__decorate([
|
|
26
26
|
ApiProperty({
|
|
27
|
-
enum:
|
|
27
|
+
enum: AccountOwnerType,
|
|
28
28
|
description: 'Type of owner (user, business, tenant, system)',
|
|
29
|
-
example:
|
|
29
|
+
example: AccountOwnerType.USER
|
|
30
30
|
}),
|
|
31
|
-
IsEnum(
|
|
31
|
+
IsEnum(AccountOwnerType, { message: 'ownerType must be one of: user, business, tenant, system' }),
|
|
32
32
|
IsNotEmpty({ message: 'ownerType is required' })
|
|
33
33
|
], CreateSigningAccountRequestDTO.prototype, "ownerType", void 0);
|
|
34
34
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-signing-account-request.dto.js","sourceRoot":"","sources":["../../../../src/dto/signing-account/create-signing-account-request.dto.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,EAAqB,MAAM,iBAAiB,CAAC;AACtJ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-signing-account-request.dto.js","sourceRoot":"","sources":["../../../../src/dto/signing-account/create-signing-account-request.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AccountOwnerType } from '../../enum/owner-type.enum';
|
|
2
2
|
export declare class SelectPrimaryAccountRequestDTO {
|
|
3
3
|
accountIds?: string[];
|
|
4
|
-
ownerType?:
|
|
4
|
+
ownerType?: AccountOwnerType;
|
|
5
5
|
ownerId?: string;
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=select-primary-account-request.dto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-primary-account-request.dto.d.ts","sourceRoot":"","sources":["../../../../src/dto/signing-account/select-primary-account-request.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"select-primary-account-request.dto.d.ts","sourceRoot":"","sources":["../../../../src/dto/signing-account/select-primary-account-request.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,qBAAa,8BAA8B;IAUzC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAUtB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAU7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { IsOptional, IsArray, IsString, IsEnum } from 'class-validator';
|
|
8
8
|
import { ApiProperty } from '@nestjs/swagger';
|
|
9
|
-
import {
|
|
9
|
+
import { AccountOwnerType } from '../../enum/owner-type.enum';
|
|
10
10
|
export class SelectPrimaryAccountRequestDTO {
|
|
11
11
|
accountIds;
|
|
12
12
|
ownerType;
|
|
@@ -26,12 +26,12 @@ __decorate([
|
|
|
26
26
|
__decorate([
|
|
27
27
|
ApiProperty({
|
|
28
28
|
description: 'Type of owner (USER, BUSINESS, etc.)',
|
|
29
|
-
enum:
|
|
29
|
+
enum: AccountOwnerType,
|
|
30
30
|
required: false,
|
|
31
|
-
example:
|
|
31
|
+
example: AccountOwnerType.USER
|
|
32
32
|
}),
|
|
33
33
|
IsOptional(),
|
|
34
|
-
IsEnum(
|
|
34
|
+
IsEnum(AccountOwnerType)
|
|
35
35
|
], SelectPrimaryAccountRequestDTO.prototype, "ownerType", void 0);
|
|
36
36
|
__decorate([
|
|
37
37
|
ApiProperty({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-primary-account-request.dto.js","sourceRoot":"","sources":["../../../../src/dto/signing-account/select-primary-account-request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"select-primary-account-request.dto.js","sourceRoot":"","sources":["../../../../src/dto/signing-account/select-primary-account-request.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,OAAO,8BAA8B;IAUzC,UAAU,CAAY;IAUtB,SAAS,CAAoB;IAU7B,OAAO,CAAU;CAClB;AArBC;IATC,WAAW,CAAC;QACX,WAAW,EAAE,sDAAsD;QACnE,IAAI,EAAE,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;KAChC,CAAC;IACD,UAAU,EAAE;IACZ,OAAO,EAAE;IACT,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;kEACH;AAUtB;IARC,WAAW,CAAC;QACX,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,gBAAgB,CAAC,IAAI;KAC/B,CAAC;IACD,UAAU,EAAE;IACZ,MAAM,CAAC,gBAAgB,CAAC;iEACI;AAU7B;IARC,WAAW,CAAC;QACX,WAAW,EAAE,gCAAgC;QAC7C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,UAAU;KACpB,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;+DACM"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AccountOwnerType, SigningAccountStatus } from "../../enum";
|
|
2
2
|
export declare class SigningAccountDTO {
|
|
3
3
|
id: string;
|
|
4
|
-
ownerType:
|
|
4
|
+
ownerType: AccountOwnerType;
|
|
5
5
|
ownerId: string;
|
|
6
6
|
provider: string;
|
|
7
7
|
accountAddress: string;
|
|
@@ -17,7 +17,7 @@ export declare class SigningAccountDTO {
|
|
|
17
17
|
updatedAt: Date;
|
|
18
18
|
}
|
|
19
19
|
export declare class SigningContextDTO {
|
|
20
|
-
ownerType:
|
|
20
|
+
ownerType: AccountOwnerType;
|
|
21
21
|
ownerId: string;
|
|
22
22
|
signingAccounts: SigningAccountDTO[];
|
|
23
23
|
activeSigningAccount?: SigningAccountDTO;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signing-account.dto.d.ts","sourceRoot":"","sources":["../../../../src/dto/signing-account/signing-account.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"signing-account.dto.d.ts","sourceRoot":"","sources":["../../../../src/dto/signing-account/signing-account.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGpE,qBAAa,iBAAiB;IAE1B,EAAE,EAAE,MAAM,CAAM;IAGhB,SAAS,EAAE,gBAAgB,CAAyB;IAGpD,OAAO,EAAE,MAAM,CAAM;IAGrB,QAAQ,EAAE,MAAM,CAAM;IAGtB,cAAc,EAAE,MAAM,CAAM;IAG5B,OAAO,EAAE,MAAM,CAAc;IAG7B,OAAO,EAAE,MAAM,CAAK;IAOpB,MAAM,EAAE,oBAAoB,CAA+B;IAG3D,QAAQ,EAAE,OAAO,CAAQ;IAGzB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAGhB,UAAU,CAAC,EAAE,GAAG,CAAC;IAGjB,IAAI,EAAE,MAAM,EAAE,CAAM;IAGpB,SAAS,EAAE,OAAO,CAAS;IAG3B,SAAS,EAAE,IAAI,CAAc;IAG7B,SAAS,EAAE,IAAI,CAAc;CAChC;AAED,qBAAa,iBAAiB;IAE1B,SAAS,EAAE,gBAAgB,CAAyB;IAGpD,OAAO,EAAE,MAAM,CAAM;IAMrB,eAAe,EAAE,iBAAiB,EAAE,CAAM;IAK1C,oBAAoB,CAAC,EAAE,iBAAiB,CAAC;IAGzC,gBAAgB,EAAE,OAAO,CAAS;CACrC"}
|
|
@@ -4,11 +4,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
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
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import {
|
|
7
|
+
import { AccountOwnerType, SigningAccountStatus } from "../../enum";
|
|
8
8
|
import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
|
|
9
9
|
export class SigningAccountDTO {
|
|
10
10
|
id = '';
|
|
11
|
-
ownerType =
|
|
11
|
+
ownerType = AccountOwnerType.USER;
|
|
12
12
|
ownerId = '';
|
|
13
13
|
provider = '';
|
|
14
14
|
accountAddress = '';
|
|
@@ -27,7 +27,7 @@ __decorate([
|
|
|
27
27
|
ApiProperty()
|
|
28
28
|
], SigningAccountDTO.prototype, "id", void 0);
|
|
29
29
|
__decorate([
|
|
30
|
-
ApiProperty({ enum:
|
|
30
|
+
ApiProperty({ enum: AccountOwnerType, description: 'Type of owner (user, business, tenant, system)' })
|
|
31
31
|
], SigningAccountDTO.prototype, "ownerType", void 0);
|
|
32
32
|
__decorate([
|
|
33
33
|
ApiProperty({ description: 'ID of the owning entity' })
|
|
@@ -73,14 +73,14 @@ __decorate([
|
|
|
73
73
|
ApiProperty()
|
|
74
74
|
], SigningAccountDTO.prototype, "updatedAt", void 0);
|
|
75
75
|
export class SigningContextDTO {
|
|
76
|
-
ownerType =
|
|
76
|
+
ownerType = AccountOwnerType.USER;
|
|
77
77
|
ownerId = '';
|
|
78
78
|
signingAccounts = [];
|
|
79
79
|
activeSigningAccount;
|
|
80
80
|
hasActiveSigners = false;
|
|
81
81
|
}
|
|
82
82
|
__decorate([
|
|
83
|
-
ApiProperty({ enum:
|
|
83
|
+
ApiProperty({ enum: AccountOwnerType, description: 'Type of owner (user, business, tenant, system)' })
|
|
84
84
|
], SigningContextDTO.prototype, "ownerType", void 0);
|
|
85
85
|
__decorate([
|
|
86
86
|
ApiProperty({ description: 'ID of the owning entity' })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signing-account.dto.js","sourceRoot":"","sources":["../../../../src/dto/signing-account/signing-account.dto.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"signing-account.dto.js","sourceRoot":"","sources":["../../../../src/dto/signing-account/signing-account.dto.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,MAAM,OAAO,iBAAiB;IAE1B,EAAE,GAAW,EAAE,CAAC;IAGhB,SAAS,GAAqB,gBAAgB,CAAC,IAAI,CAAC;IAGpD,OAAO,GAAW,EAAE,CAAC;IAGrB,QAAQ,GAAW,EAAE,CAAC;IAGtB,cAAc,GAAW,EAAE,CAAC;IAG5B,OAAO,GAAW,UAAU,CAAC;IAG7B,OAAO,GAAW,CAAC,CAAC;IAOpB,MAAM,GAAyB,oBAAoB,CAAC,MAAM,CAAC;IAG3D,QAAQ,GAAY,IAAI,CAAC;IAGzB,QAAQ,CAAQ;IAGhB,UAAU,CAAO;IAGjB,IAAI,GAAa,EAAE,CAAC;IAGpB,SAAS,GAAY,KAAK,CAAC;IAG3B,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;IAG7B,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;CAChC;AA/CG;IADC,WAAW,EAAE;6CACE;AAGhB;IADC,WAAW,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC;oDACnD;AAGpD;IADC,WAAW,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;kDACnC;AAGrB;IADC,WAAW,EAAE;mDACQ;AAGtB;IADC,WAAW,EAAE;yDACc;AAG5B;IADC,WAAW,EAAE;kDACe;AAG7B;IADC,WAAW,EAAE;kDACM;AAOpB;IALC,WAAW,CAAC;QACT,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,oBAAoB,CAAC,MAAM;KACvC,CAAC;iDACyD;AAG3D;IADC,WAAW,EAAE;mDACW;AAGzB;IADC,mBAAmB,EAAE;mDACN;AAGhB;IADC,mBAAmB,EAAE;qDACL;AAGjB;IADC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;+CACZ;AAGpB;IADC,WAAW,EAAE;oDACa;AAG3B;IADC,WAAW,EAAE;oDACe;AAG7B;IADC,WAAW,EAAE;oDACe;AAGjC,MAAM,OAAO,iBAAiB;IAE1B,SAAS,GAAqB,gBAAgB,CAAC,IAAI,CAAC;IAGpD,OAAO,GAAW,EAAE,CAAC;IAMrB,eAAe,GAAwB,EAAE,CAAC;IAK1C,oBAAoB,CAAqB;IAGzC,gBAAgB,GAAY,KAAK,CAAC;CACrC;AAlBG;IADC,WAAW,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC;oDACnD;AAGpD;IADC,WAAW,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;kDACnC;AAMrB;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,2CAA2C;QACxD,IAAI,EAAE,CAAC,iBAAiB,CAAC;KAC5B,CAAC;0DACwC;AAK1C;IAHC,mBAAmB,CAAC;QACjB,WAAW,EAAE,kCAAkC;KAClD,CAAC;+DACuC;AAGzC;IADC,WAAW,EAAE;2DACoB"}
|
|
@@ -8,4 +8,6 @@ export * from './transaction-token-user-to-business.request.dto';
|
|
|
8
8
|
export * from './transaction-trigger-process.dto';
|
|
9
9
|
export * from './transaction.dto';
|
|
10
10
|
export * from './standard-transaction-v2.request.dto';
|
|
11
|
+
export * from './transaction-analytics.request.dto';
|
|
12
|
+
export * from './transaction-pagination.request.dto';
|
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dto/transaction/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,mDAAmD,CAAC;AAClE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC;AACjE,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uCAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dto/transaction/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,mDAAmD,CAAC;AAClE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC;AACjE,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC"}
|
|
@@ -8,4 +8,6 @@ export * from './transaction-token-user-to-business.request.dto';
|
|
|
8
8
|
export * from './transaction-trigger-process.dto';
|
|
9
9
|
export * from './transaction.dto';
|
|
10
10
|
export * from './standard-transaction-v2.request.dto';
|
|
11
|
+
export * from './transaction-analytics.request.dto';
|
|
12
|
+
export * from './transaction-pagination.request.dto';
|
|
11
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dto/transaction/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,mDAAmD,CAAC;AAClE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC;AACjE,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uCAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dto/transaction/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,mDAAmD,CAAC;AAClE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kDAAkD,CAAC;AACjE,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { TransactionDTO } from './transaction.dto';
|
|
2
|
+
import { SortOrder } from '../../enum';
|
|
3
|
+
import { AnalyticsGroupByType, AnalyticsMetricType, AnalyticsResultItem } from '../../types/analytics.type';
|
|
4
|
+
import { GroupByExpressionDTO } from '../analytics/group-by-expression.dto';
|
|
5
|
+
/**
|
|
6
|
+
* ✅ ANALYTICS: Dynamic transaction analytics request
|
|
7
|
+
* Provides flexible filtering, grouping, and aggregation for frontend modules
|
|
8
|
+
*/
|
|
9
|
+
export declare class TransactionAnalyticsRequestDTO {
|
|
10
|
+
filters?: TransactionAnalyticsFilters;
|
|
11
|
+
groupBy?: TransactionAnalyticsGroupByType[];
|
|
12
|
+
groupByExpressions?: GroupByExpressionDTO[];
|
|
13
|
+
metrics: AnalyticsMetricType[];
|
|
14
|
+
sortBy: AnalyticsMetricType | 'createdAt';
|
|
15
|
+
sortOrder: SortOrder;
|
|
16
|
+
limit: number;
|
|
17
|
+
startDate?: Date;
|
|
18
|
+
endDate?: Date;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* ✅ FULLY DYNAMIC: Use all TransactionDTO fields for filtering
|
|
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
|
|
27
|
+
*/
|
|
28
|
+
export type TransactionAnalyticsGroupByType = AnalyticsGroupByType | keyof Omit<TransactionDTO, 'createdAt' | 'updatedAt' | 'id' | 'transactionHash'>;
|
|
29
|
+
/**
|
|
30
|
+
* ✅ RESPONSE: Analytics result structure
|
|
31
|
+
*/
|
|
32
|
+
export declare class TransactionAnalyticsResponseDTO {
|
|
33
|
+
results: TransactionAnalyticsResultItem[];
|
|
34
|
+
totalGroups: number;
|
|
35
|
+
metadata: {
|
|
36
|
+
executionTime: string;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export type TransactionAnalyticsResultItem = AnalyticsResultItem & {
|
|
40
|
+
[K in keyof Omit<TransactionDTO, 'id' | 'createdAt' | 'updatedAt' | 'transactionHash'>]?: TransactionDTO[K];
|
|
41
|
+
};
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=transaction-analytics.request.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-analytics.request.dto.d.ts","sourceRoot":"","sources":["../../../../src/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;AAE5E;;;GAGG;AACH,qBAAa,8BAA8B;IAgBzC,OAAO,CAAC,EAAE,2BAA2B,CAAC;IAUtC,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;;;GAGG;AACH,KAAK,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAC1D,WAAW,GACX,WAAW,CACd,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,+BAA+B,GACzC,oBAAoB,GAClB,MAAM,IAAI,CAAC,cAAc,EACrB,WAAW,GAAG,WAAW,GACzB,IAAI,GACJ,iBAAiB,CACpB,CAAC;AAIN;;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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
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 { IsOptional, IsIn, IsNumber, IsString, IsObject, IsDateString, Min, Max, IsArray, ValidateNested, IsEnum } from 'class-validator';
|
|
8
|
+
import { Transform, Type } from 'class-transformer';
|
|
9
|
+
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
|
10
|
+
import { SortOrder, AccountOwnerType } from '../../enum';
|
|
11
|
+
import { ANALYTICS_METRIC_TYPES } from '../../types/analytics.type';
|
|
12
|
+
import { GroupByExpressionDTO } from '../analytics/group-by-expression.dto';
|
|
13
|
+
/**
|
|
14
|
+
* ✅ ANALYTICS: Dynamic transaction analytics request
|
|
15
|
+
* Provides flexible filtering, grouping, and aggregation for frontend modules
|
|
16
|
+
*/
|
|
17
|
+
export class TransactionAnalyticsRequestDTO {
|
|
18
|
+
// 📊 FILTERING OPTIONS (Dynamic keyof TransactionDTO)
|
|
19
|
+
filters;
|
|
20
|
+
// 📈 SIMPLE GROUPING OPTIONS (Fully Dynamic)
|
|
21
|
+
groupBy;
|
|
22
|
+
// ✅ NEW: COMPLEX GROUPING OPTIONS (CASE WHEN Support)
|
|
23
|
+
groupByExpressions;
|
|
24
|
+
// 📊 METRICS OPTIONS
|
|
25
|
+
metrics = ['count'];
|
|
26
|
+
// 🔄 ORDERING OPTIONS
|
|
27
|
+
sortBy = 'count';
|
|
28
|
+
sortOrder = SortOrder.DESC;
|
|
29
|
+
// 🔢 LIMIT OPTIONS
|
|
30
|
+
limit = 10;
|
|
31
|
+
// 📅 DATE RANGE OPTIONS
|
|
32
|
+
startDate;
|
|
33
|
+
endDate;
|
|
34
|
+
}
|
|
35
|
+
__decorate([
|
|
36
|
+
ApiPropertyOptional({
|
|
37
|
+
description: 'Dynamic filters based on TransactionDTO fields - all transaction fields available',
|
|
38
|
+
type: 'object',
|
|
39
|
+
example: {
|
|
40
|
+
status: 'SUCCEEDED',
|
|
41
|
+
tokenType: 'STAMP',
|
|
42
|
+
triggerProcessType: 'MINT',
|
|
43
|
+
tenantId: 'tenant-123',
|
|
44
|
+
chainId: 1
|
|
45
|
+
}
|
|
46
|
+
}),
|
|
47
|
+
IsOptional(),
|
|
48
|
+
IsObject()
|
|
49
|
+
], TransactionAnalyticsRequestDTO.prototype, "filters", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
ApiPropertyOptional({
|
|
52
|
+
description: 'Fields to group by - any TransactionDTO field plus computed time fields',
|
|
53
|
+
type: [String],
|
|
54
|
+
example: ['tokenType', 'month', 'status', 'chainId']
|
|
55
|
+
}),
|
|
56
|
+
IsOptional(),
|
|
57
|
+
IsString({ each: true })
|
|
58
|
+
], TransactionAnalyticsRequestDTO.prototype, "groupBy", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
ApiPropertyOptional({
|
|
61
|
+
description: 'Complex CASE WHEN expressions for advanced grouping scenarios',
|
|
62
|
+
type: [GroupByExpressionDTO],
|
|
63
|
+
example: [
|
|
64
|
+
{
|
|
65
|
+
expression: `CASE WHEN senderOwnerType = ${AccountOwnerType.USER} THEN senderId WHEN recipientOwnerType = ${AccountOwnerType.USER} THEN recipientId END`,
|
|
66
|
+
alias: "userId",
|
|
67
|
+
label: "User ID"
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
}),
|
|
71
|
+
IsOptional(),
|
|
72
|
+
IsArray(),
|
|
73
|
+
ValidateNested({ each: true }),
|
|
74
|
+
Type(() => GroupByExpressionDTO)
|
|
75
|
+
], TransactionAnalyticsRequestDTO.prototype, "groupByExpressions", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
ApiPropertyOptional({
|
|
78
|
+
description: 'Metrics to calculate',
|
|
79
|
+
enum: ANALYTICS_METRIC_TYPES,
|
|
80
|
+
example: ['count']
|
|
81
|
+
}),
|
|
82
|
+
IsOptional(),
|
|
83
|
+
IsString({ each: true }),
|
|
84
|
+
IsIn(ANALYTICS_METRIC_TYPES, { each: true })
|
|
85
|
+
], TransactionAnalyticsRequestDTO.prototype, "metrics", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
ApiPropertyOptional({
|
|
88
|
+
description: 'Field to order results by (supports expression aliases)',
|
|
89
|
+
enum: [...ANALYTICS_METRIC_TYPES, 'createdAt'],
|
|
90
|
+
example: 'count'
|
|
91
|
+
}),
|
|
92
|
+
IsOptional(),
|
|
93
|
+
IsString()
|
|
94
|
+
], TransactionAnalyticsRequestDTO.prototype, "sortBy", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
ApiPropertyOptional({
|
|
97
|
+
description: 'Order direction',
|
|
98
|
+
enum: [SortOrder],
|
|
99
|
+
example: SortOrder.DESC
|
|
100
|
+
}),
|
|
101
|
+
IsOptional(),
|
|
102
|
+
IsEnum(SortOrder)
|
|
103
|
+
], TransactionAnalyticsRequestDTO.prototype, "sortOrder", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
ApiPropertyOptional({
|
|
106
|
+
description: 'Maximum number of results to return',
|
|
107
|
+
minimum: 1,
|
|
108
|
+
maximum: 100,
|
|
109
|
+
example: 10
|
|
110
|
+
}),
|
|
111
|
+
IsOptional(),
|
|
112
|
+
IsNumber(),
|
|
113
|
+
Min(1),
|
|
114
|
+
Max(100),
|
|
115
|
+
Transform(({ value }) => parseInt(value))
|
|
116
|
+
], TransactionAnalyticsRequestDTO.prototype, "limit", void 0);
|
|
117
|
+
__decorate([
|
|
118
|
+
ApiPropertyOptional({
|
|
119
|
+
description: 'Start date for analytics (ISO format)',
|
|
120
|
+
example: '2024-01-01T00:00:00.000Z'
|
|
121
|
+
}),
|
|
122
|
+
IsOptional(),
|
|
123
|
+
IsDateString()
|
|
124
|
+
], TransactionAnalyticsRequestDTO.prototype, "startDate", void 0);
|
|
125
|
+
__decorate([
|
|
126
|
+
ApiPropertyOptional({
|
|
127
|
+
description: 'End date for analytics (ISO format)',
|
|
128
|
+
example: '2024-12-31T23:59:59.999Z'
|
|
129
|
+
}),
|
|
130
|
+
IsOptional(),
|
|
131
|
+
IsDateString()
|
|
132
|
+
], TransactionAnalyticsRequestDTO.prototype, "endDate", void 0);
|
|
133
|
+
/**
|
|
134
|
+
* ✅ RESPONSE: Analytics result structure
|
|
135
|
+
*/
|
|
136
|
+
export class TransactionAnalyticsResponseDTO {
|
|
137
|
+
results = [];
|
|
138
|
+
totalGroups = 0;
|
|
139
|
+
metadata = {
|
|
140
|
+
executionTime: '0ms'
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
__decorate([
|
|
144
|
+
ApiProperty({
|
|
145
|
+
description: 'Analytics results array with dynamic fields and expression aliases',
|
|
146
|
+
type: 'array',
|
|
147
|
+
example: [
|
|
148
|
+
{ userId: 'user-123', count: 45 },
|
|
149
|
+
{ userAddress: '0xabc...def', count: 32 },
|
|
150
|
+
{ tokenType: 'STAMP', count: 150, month: '2024-01-01T00:00:00.000Z' }
|
|
151
|
+
]
|
|
152
|
+
})
|
|
153
|
+
], TransactionAnalyticsResponseDTO.prototype, "results", void 0);
|
|
154
|
+
__decorate([
|
|
155
|
+
ApiProperty({
|
|
156
|
+
description: 'Total number of result groups',
|
|
157
|
+
example: 3
|
|
158
|
+
})
|
|
159
|
+
], TransactionAnalyticsResponseDTO.prototype, "totalGroups", void 0);
|
|
160
|
+
__decorate([
|
|
161
|
+
ApiProperty({
|
|
162
|
+
description: 'Query execution metadata',
|
|
163
|
+
example: { executionTime: '45ms' }
|
|
164
|
+
})
|
|
165
|
+
], TransactionAnalyticsResponseDTO.prototype, "metadata", void 0);
|
|
166
|
+
//# sourceMappingURL=transaction-analytics.request.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-analytics.request.dto.js","sourceRoot":"","sources":["../../../../src/dto/transaction/transaction-analytics.request.dto.ts"],"names":[],"mappings":"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"}
|