@fiado/type-kit 3.267.0 → 3.269.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/bin/benefitCenter/enums/BenefitFlowEnum.d.ts +11 -0
  2. package/bin/benefitCenter/enums/BenefitFlowEnum.js +15 -0
  3. package/bin/collection/dtos/CollectionProductConfigDto.d.ts +13 -0
  4. package/bin/collection/dtos/CollectionProductConfigDto.js +59 -0
  5. package/bin/collection/dtos/CollectionSourceDto.d.ts +10 -0
  6. package/bin/collection/dtos/CollectionSourceDto.js +43 -0
  7. package/bin/collection/dtos/RetryPolicyDto.d.ts +5 -0
  8. package/bin/collection/dtos/RetryPolicyDto.js +29 -0
  9. package/bin/collection/dtos/UpsertProductConfigRequest.d.ts +12 -0
  10. package/bin/collection/dtos/UpsertProductConfigRequest.js +43 -0
  11. package/bin/collection/index.d.ts +4 -0
  12. package/bin/collection/index.js +4 -0
  13. package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.d.ts +11 -0
  14. package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.js +46 -0
  15. package/bin/loanCredit/enums/ClientLevelEnum.d.ts +11 -0
  16. package/bin/loanCredit/enums/ClientLevelEnum.js +15 -0
  17. package/bin/retailWizard/dtos/responses/RunSalesReportResponse.d.ts +25 -0
  18. package/bin/retailWizard/dtos/responses/RunSalesReportResponse.js +2 -0
  19. package/bin/retailWizard/enums/ReportRunStatusEnum.d.ts +14 -7
  20. package/bin/retailWizard/enums/ReportRunStatusEnum.js +14 -7
  21. package/bin/retailWizard/index.d.ts +1 -0
  22. package/bin/retailWizard/index.js +1 -0
  23. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +6 -0
  24. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.js +31 -0
  25. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +7 -0
  26. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +6 -0
  27. package/bin/walletFunding/dtos/CancelFundingRequest.d.ts +11 -0
  28. package/bin/walletFunding/dtos/CancelFundingRequest.js +33 -0
  29. package/bin/walletFunding/dtos/CancelFundingResponse.d.ts +14 -0
  30. package/bin/walletFunding/dtos/CancelFundingResponse.js +12 -0
  31. package/bin/walletFunding/dtos/CancelWalletFundingRequest.d.ts +3 -0
  32. package/bin/walletFunding/dtos/CancelWalletFundingRequest.js +21 -0
  33. package/bin/walletFunding/dtos/CancelWalletFundingResponse.d.ts +7 -0
  34. package/bin/walletFunding/dtos/CancelWalletFundingResponse.js +6 -0
  35. package/package.json +1 -1
  36. package/src/collection/dtos/CollectionProductConfigDto.ts +16 -0
  37. package/src/collection/dtos/CollectionSourceDto.ts +12 -0
  38. package/src/collection/dtos/RetryPolicyDto.ts +7 -0
  39. package/src/collection/dtos/UpsertProductConfigRequest.ts +15 -0
  40. package/src/collection/index.ts +4 -0
  41. package/src/retailWizard/dtos/responses/RunSalesReportResponse.ts +26 -0
  42. package/src/retailWizard/enums/ReportRunStatusEnum.ts +14 -7
  43. package/src/retailWizard/index.ts +1 -0
@@ -0,0 +1,11 @@
1
+ export declare enum BenefitFlowEnum {
2
+ TOPUPS = "TOPUPS",
3
+ BILL_PAYMENT = "BILL_PAYMENT",
4
+ CREDIT = "CREDIT",
5
+ INSURANCE = "INSURANCE",
6
+ DONATION = "DONATION",
7
+ PHARMACY = "PHARMACY",
8
+ REMITTANCE = "REMITTANCE",
9
+ /** Fondeo de wallet PCF con efectivo via provider externo (Equality/Passport, OpenPay, …) — spec 13. */
10
+ WALLET_FUNDING = "WALLET_FUNDING"
11
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BenefitFlowEnum = void 0;
4
+ var BenefitFlowEnum;
5
+ (function (BenefitFlowEnum) {
6
+ BenefitFlowEnum["TOPUPS"] = "TOPUPS";
7
+ BenefitFlowEnum["BILL_PAYMENT"] = "BILL_PAYMENT";
8
+ BenefitFlowEnum["CREDIT"] = "CREDIT";
9
+ BenefitFlowEnum["INSURANCE"] = "INSURANCE";
10
+ BenefitFlowEnum["DONATION"] = "DONATION";
11
+ BenefitFlowEnum["PHARMACY"] = "PHARMACY";
12
+ BenefitFlowEnum["REMITTANCE"] = "REMITTANCE";
13
+ /** Fondeo de wallet PCF con efectivo via provider externo (Equality/Passport, OpenPay, …) — spec 13. */
14
+ BenefitFlowEnum["WALLET_FUNDING"] = "WALLET_FUNDING";
15
+ })(BenefitFlowEnum || (exports.BenefitFlowEnum = BenefitFlowEnum = {}));
@@ -0,0 +1,13 @@
1
+ import { CollectionSourceDto } from './CollectionSourceDto';
2
+ import { RetryPolicyDto } from './RetryPolicyDto';
3
+ export declare class CollectionProductConfigDto {
4
+ tenantId: string;
5
+ productId: string;
6
+ version: number;
7
+ sources: CollectionSourceDto[];
8
+ allowPartial: boolean;
9
+ retryPolicy: RetryPolicyDto;
10
+ reportTargets: string[];
11
+ createdBy: string;
12
+ updatedBy: string;
13
+ }
@@ -0,0 +1,59 @@
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.CollectionProductConfigDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const CollectionSourceDto_1 = require("./CollectionSourceDto");
16
+ const RetryPolicyDto_1 = require("./RetryPolicyDto");
17
+ class CollectionProductConfigDto {
18
+ }
19
+ exports.CollectionProductConfigDto = CollectionProductConfigDto;
20
+ __decorate([
21
+ (0, class_validator_1.IsString)(),
22
+ __metadata("design:type", String)
23
+ ], CollectionProductConfigDto.prototype, "tenantId", void 0);
24
+ __decorate([
25
+ (0, class_validator_1.IsString)(),
26
+ __metadata("design:type", String)
27
+ ], CollectionProductConfigDto.prototype, "productId", void 0);
28
+ __decorate([
29
+ (0, class_validator_1.IsInt)(),
30
+ __metadata("design:type", Number)
31
+ ], CollectionProductConfigDto.prototype, "version", void 0);
32
+ __decorate([
33
+ (0, class_validator_1.IsArray)(),
34
+ (0, class_validator_1.ValidateNested)({ each: true }),
35
+ (0, class_transformer_1.Type)(() => CollectionSourceDto_1.CollectionSourceDto),
36
+ __metadata("design:type", Array)
37
+ ], CollectionProductConfigDto.prototype, "sources", void 0);
38
+ __decorate([
39
+ (0, class_validator_1.IsBoolean)(),
40
+ __metadata("design:type", Boolean)
41
+ ], CollectionProductConfigDto.prototype, "allowPartial", void 0);
42
+ __decorate([
43
+ (0, class_validator_1.ValidateNested)(),
44
+ (0, class_transformer_1.Type)(() => RetryPolicyDto_1.RetryPolicyDto),
45
+ __metadata("design:type", RetryPolicyDto_1.RetryPolicyDto)
46
+ ], CollectionProductConfigDto.prototype, "retryPolicy", void 0);
47
+ __decorate([
48
+ (0, class_validator_1.IsArray)(),
49
+ (0, class_validator_1.IsString)({ each: true }),
50
+ __metadata("design:type", Array)
51
+ ], CollectionProductConfigDto.prototype, "reportTargets", void 0);
52
+ __decorate([
53
+ (0, class_validator_1.IsString)(),
54
+ __metadata("design:type", String)
55
+ ], CollectionProductConfigDto.prototype, "createdBy", void 0);
56
+ __decorate([
57
+ (0, class_validator_1.IsString)(),
58
+ __metadata("design:type", String)
59
+ ], CollectionProductConfigDto.prototype, "updatedBy", void 0);
@@ -0,0 +1,10 @@
1
+ import { MechanismType } from '../enums/MechanismType';
2
+ import { CurrencyId } from '../../currency/enums/CurrencyId';
3
+ export declare class CollectionSourceDto {
4
+ order: number;
5
+ wallet: string;
6
+ currency: CurrencyId;
7
+ mechanism: MechanismType;
8
+ provider: string;
9
+ fxPolicy?: string;
10
+ }
@@ -0,0 +1,43 @@
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.CollectionSourceDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const MechanismType_1 = require("../enums/MechanismType");
15
+ const CurrencyId_1 = require("../../currency/enums/CurrencyId");
16
+ class CollectionSourceDto {
17
+ }
18
+ exports.CollectionSourceDto = CollectionSourceDto;
19
+ __decorate([
20
+ (0, class_validator_1.IsInt)(),
21
+ __metadata("design:type", Number)
22
+ ], CollectionSourceDto.prototype, "order", void 0);
23
+ __decorate([
24
+ (0, class_validator_1.IsString)(),
25
+ __metadata("design:type", String)
26
+ ], CollectionSourceDto.prototype, "wallet", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsEnum)(CurrencyId_1.CurrencyId),
29
+ __metadata("design:type", String)
30
+ ], CollectionSourceDto.prototype, "currency", void 0);
31
+ __decorate([
32
+ (0, class_validator_1.IsEnum)(MechanismType_1.MechanismType),
33
+ __metadata("design:type", String)
34
+ ], CollectionSourceDto.prototype, "mechanism", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.IsString)(),
37
+ __metadata("design:type", String)
38
+ ], CollectionSourceDto.prototype, "provider", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_validator_1.IsString)(),
42
+ __metadata("design:type", String)
43
+ ], CollectionSourceDto.prototype, "fxPolicy", void 0);
@@ -0,0 +1,5 @@
1
+ export declare class RetryPolicyDto {
2
+ maxAttempts: number;
3
+ backoffSeconds: number;
4
+ awaitingWindowDays?: number;
5
+ }
@@ -0,0 +1,29 @@
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.RetryPolicyDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class RetryPolicyDto {
15
+ }
16
+ exports.RetryPolicyDto = RetryPolicyDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsInt)(),
19
+ __metadata("design:type", Number)
20
+ ], RetryPolicyDto.prototype, "maxAttempts", void 0);
21
+ __decorate([
22
+ (0, class_validator_1.IsInt)(),
23
+ __metadata("design:type", Number)
24
+ ], RetryPolicyDto.prototype, "backoffSeconds", void 0);
25
+ __decorate([
26
+ (0, class_validator_1.IsOptional)(),
27
+ (0, class_validator_1.IsInt)(),
28
+ __metadata("design:type", Number)
29
+ ], RetryPolicyDto.prototype, "awaitingWindowDays", void 0);
@@ -0,0 +1,12 @@
1
+ import { CollectionSourceDto } from './CollectionSourceDto';
2
+ import { RetryPolicyDto } from './RetryPolicyDto';
3
+ /**
4
+ * Body de PUT /collection/products/:tenantId/:productId/config.
5
+ * tenantId/productId van en el path, no en el body.
6
+ */
7
+ export declare class UpsertProductConfigRequest {
8
+ sources: CollectionSourceDto[];
9
+ allowPartial: boolean;
10
+ retryPolicy: RetryPolicyDto;
11
+ reportTargets: string[];
12
+ }
@@ -0,0 +1,43 @@
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.UpsertProductConfigRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const CollectionSourceDto_1 = require("./CollectionSourceDto");
16
+ const RetryPolicyDto_1 = require("./RetryPolicyDto");
17
+ /**
18
+ * Body de PUT /collection/products/:tenantId/:productId/config.
19
+ * tenantId/productId van en el path, no en el body.
20
+ */
21
+ class UpsertProductConfigRequest {
22
+ }
23
+ exports.UpsertProductConfigRequest = UpsertProductConfigRequest;
24
+ __decorate([
25
+ (0, class_validator_1.IsArray)(),
26
+ (0, class_validator_1.ValidateNested)({ each: true }),
27
+ (0, class_transformer_1.Type)(() => CollectionSourceDto_1.CollectionSourceDto),
28
+ __metadata("design:type", Array)
29
+ ], UpsertProductConfigRequest.prototype, "sources", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsBoolean)(),
32
+ __metadata("design:type", Boolean)
33
+ ], UpsertProductConfigRequest.prototype, "allowPartial", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.ValidateNested)(),
36
+ (0, class_transformer_1.Type)(() => RetryPolicyDto_1.RetryPolicyDto),
37
+ __metadata("design:type", RetryPolicyDto_1.RetryPolicyDto)
38
+ ], UpsertProductConfigRequest.prototype, "retryPolicy", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsArray)(),
41
+ (0, class_validator_1.IsString)({ each: true }),
42
+ __metadata("design:type", Array)
43
+ ], UpsertProductConfigRequest.prototype, "reportTargets", void 0);
@@ -9,3 +9,7 @@ export * from './dtos/RegisterCollectibleRequest';
9
9
  export * from './dtos/CollectionResultEvent';
10
10
  export * from './dtos/AuthorizeCollectionMovementRequest';
11
11
  export * from './dtos/AuthorizeCollectionMovementResponse';
12
+ export * from './dtos/RetryPolicyDto';
13
+ export * from './dtos/CollectionSourceDto';
14
+ export * from './dtos/CollectionProductConfigDto';
15
+ export * from './dtos/UpsertProductConfigRequest';
@@ -27,3 +27,7 @@ __exportStar(require("./dtos/RegisterCollectibleRequest"), exports);
27
27
  __exportStar(require("./dtos/CollectionResultEvent"), exports);
28
28
  __exportStar(require("./dtos/AuthorizeCollectionMovementRequest"), exports);
29
29
  __exportStar(require("./dtos/AuthorizeCollectionMovementResponse"), exports);
30
+ __exportStar(require("./dtos/RetryPolicyDto"), exports);
31
+ __exportStar(require("./dtos/CollectionSourceDto"), exports);
32
+ __exportStar(require("./dtos/CollectionProductConfigDto"), exports);
33
+ __exportStar(require("./dtos/UpsertProductConfigRequest"), exports);
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Body de PUT /credits/:creditId/checklist (loan-credit-business). Marca condiciones de activación
3
+ * cumplidas. Solo se mandan las que cambian; en F3 las marcarán los flujos de firma de contrato
4
+ * (`downPayment` + `contractSigned`) y de enrolamiento MDM (`imeiEnrolled` + `lockVerified`).
5
+ */
6
+ export declare class UpdateActivationChecklistRequest {
7
+ downPayment?: boolean;
8
+ contractSigned?: boolean;
9
+ imeiEnrolled?: boolean;
10
+ lockVerified?: boolean;
11
+ }
@@ -0,0 +1,46 @@
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.UpdateActivationChecklistRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ /**
16
+ * Body de PUT /credits/:creditId/checklist (loan-credit-business). Marca condiciones de activación
17
+ * cumplidas. Solo se mandan las que cambian; en F3 las marcarán los flujos de firma de contrato
18
+ * (`downPayment` + `contractSigned`) y de enrolamiento MDM (`imeiEnrolled` + `lockVerified`).
19
+ */
20
+ class UpdateActivationChecklistRequest {
21
+ }
22
+ exports.UpdateActivationChecklistRequest = UpdateActivationChecklistRequest;
23
+ __decorate([
24
+ (0, class_transformer_1.Expose)(),
25
+ (0, class_validator_1.IsOptional)(),
26
+ (0, class_validator_1.IsBoolean)(),
27
+ __metadata("design:type", Boolean)
28
+ ], UpdateActivationChecklistRequest.prototype, "downPayment", void 0);
29
+ __decorate([
30
+ (0, class_transformer_1.Expose)(),
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsBoolean)(),
33
+ __metadata("design:type", Boolean)
34
+ ], UpdateActivationChecklistRequest.prototype, "contractSigned", void 0);
35
+ __decorate([
36
+ (0, class_transformer_1.Expose)(),
37
+ (0, class_validator_1.IsOptional)(),
38
+ (0, class_validator_1.IsBoolean)(),
39
+ __metadata("design:type", Boolean)
40
+ ], UpdateActivationChecklistRequest.prototype, "imeiEnrolled", void 0);
41
+ __decorate([
42
+ (0, class_transformer_1.Expose)(),
43
+ (0, class_validator_1.IsOptional)(),
44
+ (0, class_validator_1.IsBoolean)(),
45
+ __metadata("design:type", Boolean)
46
+ ], UpdateActivationChecklistRequest.prototype, "lockVerified", void 0);
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Nivel del cliente según su SCI (M7/05_MOTOR §3.2): 21-60 Bronce · 61-80 Plata · 81-100 Oro.
3
+ * Distinto de `CreditPlanLevelEnum` de loanOfferings (que además tiene `ALL` para planes):
4
+ * un CLIENTE nunca es `ALL`.
5
+ * @enum {string}
6
+ */
7
+ export declare enum ClientLevelEnum {
8
+ BRONZE = "BRONZE",
9
+ SILVER = "SILVER",
10
+ GOLD = "GOLD"
11
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientLevelEnum = void 0;
4
+ /**
5
+ * Nivel del cliente según su SCI (M7/05_MOTOR §3.2): 21-60 Bronce · 61-80 Plata · 81-100 Oro.
6
+ * Distinto de `CreditPlanLevelEnum` de loanOfferings (que además tiene `ALL` para planes):
7
+ * un CLIENTE nunca es `ALL`.
8
+ * @enum {string}
9
+ */
10
+ var ClientLevelEnum;
11
+ (function (ClientLevelEnum) {
12
+ ClientLevelEnum["BRONZE"] = "BRONZE";
13
+ ClientLevelEnum["SILVER"] = "SILVER";
14
+ ClientLevelEnum["GOLD"] = "GOLD";
15
+ })(ClientLevelEnum || (exports.ClientLevelEnum = ClientLevelEnum = {}));
@@ -0,0 +1,25 @@
1
+ import type { SalesReportRun } from '../SalesReportRun';
2
+ /**
3
+ * POST /backoffice/reports/{reportId}/run — el reporte generado, SÍNCRONO.
4
+ * SureKeep Fase 3 — pista Retail.
5
+ *
6
+ * El archivo viaja **en la respuesta**, no por una URL de descarga: el más grande del catálogo son
7
+ * ~96 KB, muy por debajo del límite de 6 MB de payload de Lambda. Eso evita bucket, URL prefirmada y
8
+ * endpoint de descarga para algo que se arma en milisegundos.
9
+ *
10
+ * ⚠️ El contenido puede traer **PII** (nombre del cliente en el reporte por período). Su lectura queda
11
+ * registrada en `PiiAccessLog` igual que las demás pantallas del BO. **Nunca loguear `content`.**
12
+ *
13
+ * Si algún reporte creciera hasta no entrar en la respuesta, el camino es S3 + `downloadUrl` (que ya
14
+ * está en `SalesReportRun`) + estado `QUEUED`: el contrato NO hay que romperlo, ya lo contempla.
15
+ */
16
+ export interface RunSalesReportResponse {
17
+ /** La corrida registrada en el log, con su estado final y el conteo de filas. */
18
+ run: SalesReportRun;
19
+ /** Nombre sugerido del archivo, ej. `RVL-01_2026-08-03.csv`. */
20
+ filename: string;
21
+ /** Tipo MIME, ej. `text/csv`. */
22
+ contentType: string;
23
+ /** El archivo completo. El front lo baja con un `Blob`. */
24
+ content: string;
25
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,14 +1,21 @@
1
1
  /**
2
- * Estado de una corrida de reporte. La generación es ASÍNCRONA: el `POST .../run` devuelve `QUEUED` y
3
- * el front poletea el listado. SureKeep Fase 3 — pista Retail.
2
+ * Estado de una corrida de reporte. SureKeep Fase 3 pista Retail.
4
3
  *
5
- * Es async desde el día uno por el límite de 29 s de API Gateway: un reporte de red completa no entra
6
- * en una respuesta síncrona. Mismo error que ya se corrigió en el cierre de corte de comisiones.
4
+ * El ciclo real es **`RUNNING READY | FAILED`, todo dentro de la MISMA llamada**: la generación es
5
+ * SÍNCRONA. Es el mismo patrón del reporte SIC de `credit-worker-business`, que abre la fila en
6
+ * `RUNNING` antes de procesar (`createMetadata`) y la cierra al terminar (`finalizeMetadata`).
7
7
  *
8
- * QUEUED - Encolada, sin arrancar.
9
- * RUNNING - Generándose.
10
- * READY - Lista para descargar (`downloadUrl` presente).
8
+ * Es síncrono porque los volúmenes lo permiten: el reporte más grande del catálogo son **320 filas
9
+ * (~96 KB)** — el propio mockup lo declara. Encolarlo sería infraestructura (worker + cola + bucket)
10
+ * para un archivo que se arma en milisegundos.
11
+ *
12
+ * RUNNING - Generándose. La fila se escribe ANTES de procesar, para que una corrida que muera a
13
+ * mitad deje rastro en vez de desaparecer.
14
+ * READY - Terminó bien. `rowCount` trae las filas generadas.
11
15
  * FAILED - Falló; `failureReason` explica por qué.
16
+ * QUEUED - **RESERVADO, hoy no se emite.** Existe para poder volver a asíncrono si algún reporte
17
+ * crece de verdad, **sin romper el contrato del front**: la pantalla ya sabe que un estado
18
+ * intermedio es posible. Sacarlo del enum ahora obligaría a versionar el DTO después.
12
19
  */
13
20
  export declare enum ReportRunStatusEnum {
14
21
  QUEUED = "QUEUED",
@@ -2,16 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReportRunStatusEnum = void 0;
4
4
  /**
5
- * Estado de una corrida de reporte. La generación es ASÍNCRONA: el `POST .../run` devuelve `QUEUED` y
6
- * el front poletea el listado. SureKeep Fase 3 — pista Retail.
5
+ * Estado de una corrida de reporte. SureKeep Fase 3 pista Retail.
7
6
  *
8
- * Es async desde el día uno por el límite de 29 s de API Gateway: un reporte de red completa no entra
9
- * en una respuesta síncrona. Mismo error que ya se corrigió en el cierre de corte de comisiones.
7
+ * El ciclo real es **`RUNNING READY | FAILED`, todo dentro de la MISMA llamada**: la generación es
8
+ * SÍNCRONA. Es el mismo patrón del reporte SIC de `credit-worker-business`, que abre la fila en
9
+ * `RUNNING` antes de procesar (`createMetadata`) y la cierra al terminar (`finalizeMetadata`).
10
10
  *
11
- * QUEUED - Encolada, sin arrancar.
12
- * RUNNING - Generándose.
13
- * READY - Lista para descargar (`downloadUrl` presente).
11
+ * Es síncrono porque los volúmenes lo permiten: el reporte más grande del catálogo son **320 filas
12
+ * (~96 KB)** — el propio mockup lo declara. Encolarlo sería infraestructura (worker + cola + bucket)
13
+ * para un archivo que se arma en milisegundos.
14
+ *
15
+ * RUNNING - Generándose. La fila se escribe ANTES de procesar, para que una corrida que muera a
16
+ * mitad deje rastro en vez de desaparecer.
17
+ * READY - Terminó bien. `rowCount` trae las filas generadas.
14
18
  * FAILED - Falló; `failureReason` explica por qué.
19
+ * QUEUED - **RESERVADO, hoy no se emite.** Existe para poder volver a asíncrono si algún reporte
20
+ * crece de verdad, **sin romper el contrato del front**: la pantalla ya sabe que un estado
21
+ * intermedio es posible. Sacarlo del enum ahora obligaría a versionar el DTO después.
15
22
  */
16
23
  var ReportRunStatusEnum;
17
24
  (function (ReportRunStatusEnum) {
@@ -90,6 +90,7 @@ export * from './dtos/requests/BackofficeCancelSaleRequest';
90
90
  export * from './dtos/responses/BackofficeSalesStatsResponse';
91
91
  export * from './dtos/responses/BackofficeSalesKpisResponse';
92
92
  export * from './dtos/responses/BackofficeReportsResponse';
93
+ export * from './dtos/responses/RunSalesReportResponse';
93
94
  export * from './dtos/RetailCustomerListItem';
94
95
  export * from './dtos/responses/BackofficeCustomersResponse';
95
96
  export * from './dtos/responses/BackofficeCustomerPurchasesResponse';
@@ -118,6 +118,7 @@ __exportStar(require("./dtos/requests/BackofficeCancelSaleRequest"), exports);
118
118
  __exportStar(require("./dtos/responses/BackofficeSalesStatsResponse"), exports);
119
119
  __exportStar(require("./dtos/responses/BackofficeSalesKpisResponse"), exports);
120
120
  __exportStar(require("./dtos/responses/BackofficeReportsResponse"), exports);
121
+ __exportStar(require("./dtos/responses/RunSalesReportResponse"), exports);
121
122
  // A1-A4 · agregados del portal (D17)
122
123
  __exportStar(require("./dtos/RetailCustomerListItem"), exports);
123
124
  __exportStar(require("./dtos/responses/BackofficeCustomersResponse"), exports);
@@ -0,0 +1,6 @@
1
+ export declare class CancelFundingReferenceRequest {
2
+ /** Referencia Passport (PK de EqualityFundingReference_GT). */
3
+ reference: string;
4
+ directoryId: string;
5
+ idempotencyKey: string;
6
+ }
@@ -0,0 +1,31 @@
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.CancelFundingReferenceRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class CancelFundingReferenceRequest {
15
+ }
16
+ exports.CancelFundingReferenceRequest = CancelFundingReferenceRequest;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ (0, class_validator_1.MaxLength)(64),
20
+ __metadata("design:type", String)
21
+ ], CancelFundingReferenceRequest.prototype, "reference", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsString)(),
24
+ (0, class_validator_1.MaxLength)(64),
25
+ __metadata("design:type", String)
26
+ ], CancelFundingReferenceRequest.prototype, "directoryId", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.MaxLength)(64),
30
+ __metadata("design:type", String)
31
+ ], CancelFundingReferenceRequest.prototype, "idempotencyKey", void 0);
@@ -0,0 +1,7 @@
1
+ import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
2
+ import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
3
+ export declare class CancelFundingReferenceResponse {
4
+ reference: string;
5
+ status: BenefitPaymentStatusEnum;
6
+ errorCode?: WalletFundingErrorCodeEnum;
7
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CancelFundingReferenceResponse = void 0;
4
+ class CancelFundingReferenceResponse {
5
+ }
6
+ exports.CancelFundingReferenceResponse = CancelFundingReferenceResponse;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Request del cancel via Centro de Beneficios (spec 13 v2.0).
3
+ * `reference` viaja en el path, `directoryId` se resuelve del JWT.
4
+ * `providerModuleName` permite al marketplace rutear al publisher correcto
5
+ * sin tener que persistir el mapping (el wallet-app sabe el moduleName
6
+ * porque vino en la respuesta del authorize).
7
+ */
8
+ export declare class CancelFundingRequest {
9
+ idempotencyKey: string;
10
+ providerModuleName: string;
11
+ }
@@ -0,0 +1,33 @@
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.CancelFundingRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /**
15
+ * Request del cancel via Centro de Beneficios (spec 13 v2.0).
16
+ * `reference` viaja en el path, `directoryId` se resuelve del JWT.
17
+ * `providerModuleName` permite al marketplace rutear al publisher correcto
18
+ * sin tener que persistir el mapping (el wallet-app sabe el moduleName
19
+ * porque vino en la respuesta del authorize).
20
+ */
21
+ class CancelFundingRequest {
22
+ }
23
+ exports.CancelFundingRequest = CancelFundingRequest;
24
+ __decorate([
25
+ (0, class_validator_1.IsString)(),
26
+ (0, class_validator_1.MaxLength)(64),
27
+ __metadata("design:type", String)
28
+ ], CancelFundingRequest.prototype, "idempotencyKey", void 0);
29
+ __decorate([
30
+ (0, class_validator_1.IsString)(),
31
+ (0, class_validator_1.MaxLength)(128),
32
+ __metadata("design:type", String)
33
+ ], CancelFundingRequest.prototype, "providerModuleName", void 0);
@@ -0,0 +1,14 @@
1
+ import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
2
+ import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
3
+ /**
4
+ * Response del cancel via Centro de Beneficios (spec 13 v2.0).
5
+ * `status` reusa `BenefitPaymentStatusEnum` (APPROVED = cancel aceptado;
6
+ * REJECTED = no se pudo) para consistencia con `CancelFundingReferenceResponse`
7
+ * (marketplace ↔ connector). Idempotente: re-cancelar devuelve APPROVED.
8
+ */
9
+ export declare class CancelFundingResponse {
10
+ reference: string;
11
+ status: BenefitPaymentStatusEnum;
12
+ errorCode?: WalletFundingErrorCodeEnum;
13
+ message?: string;
14
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CancelFundingResponse = void 0;
4
+ /**
5
+ * Response del cancel via Centro de Beneficios (spec 13 v2.0).
6
+ * `status` reusa `BenefitPaymentStatusEnum` (APPROVED = cancel aceptado;
7
+ * REJECTED = no se pudo) para consistencia con `CancelFundingReferenceResponse`
8
+ * (marketplace ↔ connector). Idempotente: re-cancelar devuelve APPROVED.
9
+ */
10
+ class CancelFundingResponse {
11
+ }
12
+ exports.CancelFundingResponse = CancelFundingResponse;
@@ -0,0 +1,3 @@
1
+ export declare class CancelWalletFundingRequest {
2
+ idempotencyKey: string;
3
+ }
@@ -0,0 +1,21 @@
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.CancelWalletFundingRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class CancelWalletFundingRequest {
15
+ }
16
+ exports.CancelWalletFundingRequest = CancelWalletFundingRequest;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ (0, class_validator_1.MaxLength)(64),
20
+ __metadata("design:type", String)
21
+ ], CancelWalletFundingRequest.prototype, "idempotencyKey", void 0);
@@ -0,0 +1,7 @@
1
+ import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
2
+ import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
3
+ export declare class CancelWalletFundingResponse {
4
+ status: BenefitPaymentStatusEnum;
5
+ errorCode?: WalletFundingErrorCodeEnum;
6
+ reference?: string;
7
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CancelWalletFundingResponse = void 0;
4
+ class CancelWalletFundingResponse {
5
+ }
6
+ exports.CancelWalletFundingResponse = CancelWalletFundingResponse;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.267.0",
3
+ "version": "3.269.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -0,0 +1,16 @@
1
+ import { IsString, IsInt, IsArray, IsBoolean, ValidateNested } from 'class-validator';
2
+ import { Type } from 'class-transformer';
3
+ import { CollectionSourceDto } from './CollectionSourceDto';
4
+ import { RetryPolicyDto } from './RetryPolicyDto';
5
+
6
+ export class CollectionProductConfigDto {
7
+ @IsString() tenantId!: string;
8
+ @IsString() productId!: string;
9
+ @IsInt() version!: number;
10
+ @IsArray() @ValidateNested({ each: true }) @Type(() => CollectionSourceDto) sources!: CollectionSourceDto[];
11
+ @IsBoolean() allowPartial!: boolean;
12
+ @ValidateNested() @Type(() => RetryPolicyDto) retryPolicy!: RetryPolicyDto;
13
+ @IsArray() @IsString({ each: true }) reportTargets!: string[];
14
+ @IsString() createdBy!: string;
15
+ @IsString() updatedBy!: string;
16
+ }
@@ -0,0 +1,12 @@
1
+ import { IsString, IsInt, IsEnum, IsOptional } from 'class-validator';
2
+ import { MechanismType } from '../enums/MechanismType';
3
+ import { CurrencyId } from '../../currency/enums/CurrencyId';
4
+
5
+ export class CollectionSourceDto {
6
+ @IsInt() order!: number;
7
+ @IsString() wallet!: string;
8
+ @IsEnum(CurrencyId) currency!: CurrencyId;
9
+ @IsEnum(MechanismType) mechanism!: MechanismType;
10
+ @IsString() provider!: string;
11
+ @IsOptional() @IsString() fxPolicy?: string;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { IsInt, IsOptional } from 'class-validator';
2
+
3
+ export class RetryPolicyDto {
4
+ @IsInt() maxAttempts!: number;
5
+ @IsInt() backoffSeconds!: number;
6
+ @IsOptional() @IsInt() awaitingWindowDays?: number;
7
+ }
@@ -0,0 +1,15 @@
1
+ import { IsString, IsArray, IsBoolean, ValidateNested } from 'class-validator';
2
+ import { Type } from 'class-transformer';
3
+ import { CollectionSourceDto } from './CollectionSourceDto';
4
+ import { RetryPolicyDto } from './RetryPolicyDto';
5
+
6
+ /**
7
+ * Body de PUT /collection/products/:tenantId/:productId/config.
8
+ * tenantId/productId van en el path, no en el body.
9
+ */
10
+ export class UpsertProductConfigRequest {
11
+ @IsArray() @ValidateNested({ each: true }) @Type(() => CollectionSourceDto) sources!: CollectionSourceDto[];
12
+ @IsBoolean() allowPartial!: boolean;
13
+ @ValidateNested() @Type(() => RetryPolicyDto) retryPolicy!: RetryPolicyDto;
14
+ @IsArray() @IsString({ each: true }) reportTargets!: string[];
15
+ }
@@ -12,3 +12,7 @@ export * from './dtos/RegisterCollectibleRequest';
12
12
  export * from './dtos/CollectionResultEvent';
13
13
  export * from './dtos/AuthorizeCollectionMovementRequest';
14
14
  export * from './dtos/AuthorizeCollectionMovementResponse';
15
+ export * from './dtos/RetryPolicyDto';
16
+ export * from './dtos/CollectionSourceDto';
17
+ export * from './dtos/CollectionProductConfigDto';
18
+ export * from './dtos/UpsertProductConfigRequest';
@@ -0,0 +1,26 @@
1
+ import type { SalesReportRun } from '../SalesReportRun';
2
+
3
+ /**
4
+ * POST /backoffice/reports/{reportId}/run — el reporte generado, SÍNCRONO.
5
+ * SureKeep Fase 3 — pista Retail.
6
+ *
7
+ * El archivo viaja **en la respuesta**, no por una URL de descarga: el más grande del catálogo son
8
+ * ~96 KB, muy por debajo del límite de 6 MB de payload de Lambda. Eso evita bucket, URL prefirmada y
9
+ * endpoint de descarga para algo que se arma en milisegundos.
10
+ *
11
+ * ⚠️ El contenido puede traer **PII** (nombre del cliente en el reporte por período). Su lectura queda
12
+ * registrada en `PiiAccessLog` igual que las demás pantallas del BO. **Nunca loguear `content`.**
13
+ *
14
+ * Si algún reporte creciera hasta no entrar en la respuesta, el camino es S3 + `downloadUrl` (que ya
15
+ * está en `SalesReportRun`) + estado `QUEUED`: el contrato NO hay que romperlo, ya lo contempla.
16
+ */
17
+ export interface RunSalesReportResponse {
18
+ /** La corrida registrada en el log, con su estado final y el conteo de filas. */
19
+ run: SalesReportRun;
20
+ /** Nombre sugerido del archivo, ej. `RVL-01_2026-08-03.csv`. */
21
+ filename: string;
22
+ /** Tipo MIME, ej. `text/csv`. */
23
+ contentType: string;
24
+ /** El archivo completo. El front lo baja con un `Blob`. */
25
+ content: string;
26
+ }
@@ -1,14 +1,21 @@
1
1
  /**
2
- * Estado de una corrida de reporte. La generación es ASÍNCRONA: el `POST .../run` devuelve `QUEUED` y
3
- * el front poletea el listado. SureKeep Fase 3 — pista Retail.
2
+ * Estado de una corrida de reporte. SureKeep Fase 3 pista Retail.
4
3
  *
5
- * Es async desde el día uno por el límite de 29 s de API Gateway: un reporte de red completa no entra
6
- * en una respuesta síncrona. Mismo error que ya se corrigió en el cierre de corte de comisiones.
4
+ * El ciclo real es **`RUNNING READY | FAILED`, todo dentro de la MISMA llamada**: la generación es
5
+ * SÍNCRONA. Es el mismo patrón del reporte SIC de `credit-worker-business`, que abre la fila en
6
+ * `RUNNING` antes de procesar (`createMetadata`) y la cierra al terminar (`finalizeMetadata`).
7
7
  *
8
- * QUEUED - Encolada, sin arrancar.
9
- * RUNNING - Generándose.
10
- * READY - Lista para descargar (`downloadUrl` presente).
8
+ * Es síncrono porque los volúmenes lo permiten: el reporte más grande del catálogo son **320 filas
9
+ * (~96 KB)** — el propio mockup lo declara. Encolarlo sería infraestructura (worker + cola + bucket)
10
+ * para un archivo que se arma en milisegundos.
11
+ *
12
+ * RUNNING - Generándose. La fila se escribe ANTES de procesar, para que una corrida que muera a
13
+ * mitad deje rastro en vez de desaparecer.
14
+ * READY - Terminó bien. `rowCount` trae las filas generadas.
11
15
  * FAILED - Falló; `failureReason` explica por qué.
16
+ * QUEUED - **RESERVADO, hoy no se emite.** Existe para poder volver a asíncrono si algún reporte
17
+ * crece de verdad, **sin romper el contrato del front**: la pantalla ya sabe que un estado
18
+ * intermedio es posible. Sacarlo del enum ahora obligaría a versionar el DTO después.
12
19
  */
13
20
  export enum ReportRunStatusEnum {
14
21
  QUEUED = 'QUEUED',
@@ -112,6 +112,7 @@ export * from './dtos/requests/BackofficeCancelSaleRequest';
112
112
  export * from './dtos/responses/BackofficeSalesStatsResponse';
113
113
  export * from './dtos/responses/BackofficeSalesKpisResponse';
114
114
  export * from './dtos/responses/BackofficeReportsResponse';
115
+ export * from './dtos/responses/RunSalesReportResponse';
115
116
  // A1-A4 · agregados del portal (D17)
116
117
  export * from './dtos/RetailCustomerListItem';
117
118
  export * from './dtos/responses/BackofficeCustomersResponse';