@fiado/type-kit 3.613.0 → 3.615.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 (153) hide show
  1. package/_test_/unit/loanCredit/dtos/originateLoanCreditRequest.test.ts +9 -0
  2. package/_test_/unit/loanCredit/segmentFactsDtos.test.ts +80 -0
  3. package/_test_/unit/loanOfferings/promotionRetailerScope.test.ts +79 -0
  4. package/_test_/unit/loanOfferings/segmentCatalog.test.ts +4 -2
  5. package/_test_/unit/loanOfferings/segmentCohorts.test.ts +333 -0
  6. package/bin/loanCredit/dtos/requests/OriginateLoanCreditRequest.d.ts +2 -0
  7. package/bin/loanCredit/dtos/requests/OriginateLoanCreditRequest.js +7 -0
  8. package/bin/loanCredit/dtos/requests/SegmentFactsBatchRequest.d.ts +4 -0
  9. package/bin/loanCredit/dtos/requests/SegmentFactsBatchRequest.js +27 -0
  10. package/bin/loanCredit/dtos/requests/SegmentFactsPageRequest.d.ts +7 -0
  11. package/bin/loanCredit/dtos/requests/SegmentFactsPageRequest.js +32 -0
  12. package/bin/loanCredit/dtos/responses/BorrowerSegmentFacts.d.ts +22 -0
  13. package/bin/loanCredit/dtos/responses/BorrowerSegmentFacts.js +2 -0
  14. package/bin/loanCredit/dtos/responses/SegmentFactsBatchResponse.d.ts +5 -0
  15. package/bin/loanCredit/dtos/responses/SegmentFactsBatchResponse.js +2 -0
  16. package/bin/loanCredit/dtos/responses/SegmentFactsPageResponse.d.ts +7 -0
  17. package/bin/loanCredit/dtos/responses/SegmentFactsPageResponse.js +2 -0
  18. package/bin/loanCredit/index.d.ts +5 -0
  19. package/bin/loanCredit/index.js +6 -0
  20. package/bin/loanOfferings/constants/promotionRetailerScope.d.ts +2 -0
  21. package/bin/loanOfferings/constants/promotionRetailerScope.js +5 -0
  22. package/bin/loanOfferings/dtos/requests/ChangeCohortStatusRequest.d.ts +9 -0
  23. package/bin/loanOfferings/dtos/requests/ChangeCohortStatusRequest.js +34 -0
  24. package/bin/loanOfferings/dtos/requests/CohortCondition.d.ts +15 -0
  25. package/bin/loanOfferings/dtos/requests/CohortCondition.js +48 -0
  26. package/bin/loanOfferings/dtos/requests/CreateCohortRequest.d.ts +11 -0
  27. package/bin/loanOfferings/dtos/requests/CreateCohortRequest.js +44 -0
  28. package/bin/loanOfferings/dtos/requests/CreatePromotionRequest.d.ts +2 -0
  29. package/bin/loanOfferings/dtos/requests/CreatePromotionRequest.js +10 -0
  30. package/bin/loanOfferings/dtos/requests/CreateSegmentRequest.d.ts +7 -8
  31. package/bin/loanOfferings/dtos/requests/CreateSegmentRequest.js +5 -3
  32. package/bin/loanOfferings/dtos/requests/CustomerSegmentFacts.d.ts +30 -0
  33. package/bin/loanOfferings/dtos/requests/CustomerSegmentFacts.js +92 -0
  34. package/bin/loanOfferings/dtos/requests/ListCohortsQuery.d.ts +5 -0
  35. package/bin/loanOfferings/dtos/requests/ListCohortsQuery.js +25 -0
  36. package/bin/loanOfferings/dtos/requests/ListPromotedSkusRequest.d.ts +2 -0
  37. package/bin/loanOfferings/dtos/requests/ListPromotedSkusRequest.js +7 -0
  38. package/bin/loanOfferings/dtos/requests/ListSkuPromotionsRequest.d.ts +2 -0
  39. package/bin/loanOfferings/dtos/requests/ListSkuPromotionsRequest.js +7 -0
  40. package/bin/loanOfferings/dtos/requests/ResolveCustomerSegmentsRequest.d.ts +4 -20
  41. package/bin/loanOfferings/dtos/requests/ResolveCustomerSegmentsRequest.js +4 -48
  42. package/bin/loanOfferings/dtos/requests/ResolveSegmentMembersRequest.d.ts +8 -0
  43. package/bin/loanOfferings/dtos/requests/ResolveSegmentMembersRequest.js +31 -0
  44. package/bin/loanOfferings/dtos/requests/SimulateCreditPlanRequest.d.ts +2 -0
  45. package/bin/loanOfferings/dtos/requests/SimulateCreditPlanRequest.js +7 -0
  46. package/bin/loanOfferings/dtos/requests/TestCohortRequest.d.ts +9 -0
  47. package/bin/loanOfferings/dtos/requests/TestCohortRequest.js +36 -0
  48. package/bin/loanOfferings/dtos/requests/TestCustomerSegmentsRequest.d.ts +4 -0
  49. package/bin/loanOfferings/dtos/requests/TestCustomerSegmentsRequest.js +23 -0
  50. package/bin/loanOfferings/dtos/requests/UpdateCohortRequest.d.ts +12 -0
  51. package/bin/loanOfferings/dtos/requests/UpdateCohortRequest.js +53 -0
  52. package/bin/loanOfferings/dtos/requests/UpdatePromotionRequest.d.ts +2 -0
  53. package/bin/loanOfferings/dtos/requests/UpdatePromotionRequest.js +10 -0
  54. package/bin/loanOfferings/dtos/requests/UpdateSegmentRequest.d.ts +2 -2
  55. package/bin/loanOfferings/dtos/requests/UpdateSegmentRequest.js +3 -1
  56. package/bin/loanOfferings/dtos/responses/CohortCatalogResponse.d.ts +33 -0
  57. package/bin/loanOfferings/dtos/responses/CohortCatalogResponse.js +2 -0
  58. package/bin/loanOfferings/dtos/responses/CohortLogEntryResponse.d.ts +11 -0
  59. package/bin/loanOfferings/dtos/responses/CohortLogEntryResponse.js +2 -0
  60. package/bin/loanOfferings/dtos/responses/CohortResponse.d.ts +43 -0
  61. package/bin/loanOfferings/dtos/responses/CohortResponse.js +2 -0
  62. package/bin/loanOfferings/dtos/responses/PromotionResponse.d.ts +2 -0
  63. package/bin/loanOfferings/dtos/responses/SegmentCatalogResponse.d.ts +5 -2
  64. package/bin/loanOfferings/dtos/responses/SegmentLogEntryResponse.d.ts +11 -0
  65. package/bin/loanOfferings/dtos/responses/SegmentLogEntryResponse.js +2 -0
  66. package/bin/loanOfferings/dtos/responses/SegmentMembersResponse.d.ts +19 -0
  67. package/bin/loanOfferings/dtos/responses/SegmentMembersResponse.js +2 -0
  68. package/bin/loanOfferings/dtos/responses/SegmentResponse.d.ts +12 -6
  69. package/bin/loanOfferings/dtos/responses/SegmentUsageResponse.d.ts +18 -0
  70. package/bin/loanOfferings/dtos/responses/SegmentUsageResponse.js +2 -0
  71. package/bin/loanOfferings/dtos/responses/SegmentationRecountRunResponse.d.ts +23 -0
  72. package/bin/loanOfferings/dtos/responses/SegmentationRecountRunResponse.js +2 -0
  73. package/bin/loanOfferings/dtos/responses/SegmentationRecountStartResponse.d.ts +6 -0
  74. package/bin/loanOfferings/dtos/responses/SegmentationRecountStartResponse.js +2 -0
  75. package/bin/loanOfferings/dtos/responses/TestCohortResponse.d.ts +17 -0
  76. package/bin/loanOfferings/dtos/responses/TestCohortResponse.js +2 -0
  77. package/bin/loanOfferings/dtos/responses/TestCustomerSegmentsResponse.d.ts +23 -0
  78. package/bin/loanOfferings/dtos/responses/TestCustomerSegmentsResponse.js +2 -0
  79. package/bin/loanOfferings/enums/CohortConditionOutcomeEnum.d.ts +10 -0
  80. package/bin/loanOfferings/enums/CohortConditionOutcomeEnum.js +14 -0
  81. package/bin/loanOfferings/enums/CohortFactKeyEnum.d.ts +17 -0
  82. package/bin/loanOfferings/enums/CohortFactKeyEnum.js +21 -0
  83. package/bin/loanOfferings/enums/CohortFactTypeEnum.d.ts +9 -0
  84. package/bin/loanOfferings/enums/CohortFactTypeEnum.js +13 -0
  85. package/bin/loanOfferings/enums/CohortLogEventEnum.d.ts +10 -0
  86. package/bin/loanOfferings/enums/CohortLogEventEnum.js +14 -0
  87. package/bin/loanOfferings/enums/CohortOperatorEnum.d.ts +15 -0
  88. package/bin/loanOfferings/enums/CohortOperatorEnum.js +19 -0
  89. package/bin/loanOfferings/enums/CohortStatusEnum.d.ts +9 -0
  90. package/bin/loanOfferings/enums/CohortStatusEnum.js +13 -0
  91. package/bin/loanOfferings/enums/SegmentFilterIdEnum.d.ts +2 -0
  92. package/bin/loanOfferings/enums/SegmentFilterIdEnum.js +2 -0
  93. package/bin/loanOfferings/enums/SegmentLogEventEnum.d.ts +10 -0
  94. package/bin/loanOfferings/enums/SegmentLogEventEnum.js +14 -0
  95. package/bin/loanOfferings/enums/SegmentMembershipReasonEnum.d.ts +9 -0
  96. package/bin/loanOfferings/enums/SegmentMembershipReasonEnum.js +13 -0
  97. package/bin/loanOfferings/enums/SegmentationRecountStatusEnum.d.ts +9 -0
  98. package/bin/loanOfferings/enums/SegmentationRecountStatusEnum.js +13 -0
  99. package/bin/loanOfferings/enums/SegmentationRecountTriggerEnum.d.ts +8 -0
  100. package/bin/loanOfferings/enums/SegmentationRecountTriggerEnum.js +12 -0
  101. package/bin/loanOfferings/index.d.ts +30 -0
  102. package/bin/loanOfferings/index.js +30 -0
  103. package/package.json +1 -1
  104. package/src/loanCredit/dtos/requests/OriginateLoanCreditRequest.ts +7 -0
  105. package/src/loanCredit/dtos/requests/SegmentFactsBatchRequest.ts +13 -0
  106. package/src/loanCredit/dtos/requests/SegmentFactsPageRequest.ts +19 -0
  107. package/src/loanCredit/dtos/responses/BorrowerSegmentFacts.ts +24 -0
  108. package/src/loanCredit/dtos/responses/SegmentFactsBatchResponse.ts +6 -0
  109. package/src/loanCredit/dtos/responses/SegmentFactsPageResponse.ts +8 -0
  110. package/src/loanCredit/index.ts +7 -0
  111. package/src/loanOfferings/constants/promotionRetailerScope.ts +2 -0
  112. package/src/loanOfferings/dtos/requests/ChangeCohortStatusRequest.ts +19 -0
  113. package/src/loanOfferings/dtos/requests/CohortCondition.ts +33 -0
  114. package/src/loanOfferings/dtos/requests/CreateCohortRequest.ts +29 -0
  115. package/src/loanOfferings/dtos/requests/CreatePromotionRequest.ts +12 -0
  116. package/src/loanOfferings/dtos/requests/CreateSegmentRequest.ts +10 -9
  117. package/src/loanOfferings/dtos/requests/CustomerSegmentFacts.ts +79 -0
  118. package/src/loanOfferings/dtos/requests/ListCohortsQuery.ts +11 -0
  119. package/src/loanOfferings/dtos/requests/ListPromotedSkusRequest.ts +7 -0
  120. package/src/loanOfferings/dtos/requests/ListSkuPromotionsRequest.ts +7 -0
  121. package/src/loanOfferings/dtos/requests/ResolveCustomerSegmentsRequest.ts +5 -49
  122. package/src/loanOfferings/dtos/requests/ResolveSegmentMembersRequest.ts +17 -0
  123. package/src/loanOfferings/dtos/requests/SimulateCreditPlanRequest.ts +8 -1
  124. package/src/loanOfferings/dtos/requests/TestCohortRequest.ts +21 -0
  125. package/src/loanOfferings/dtos/requests/TestCustomerSegmentsRequest.ts +9 -0
  126. package/src/loanOfferings/dtos/requests/UpdateCohortRequest.ts +37 -0
  127. package/src/loanOfferings/dtos/requests/UpdatePromotionRequest.ts +12 -0
  128. package/src/loanOfferings/dtos/requests/UpdateSegmentRequest.ts +5 -3
  129. package/src/loanOfferings/dtos/responses/CohortCatalogResponse.ts +36 -0
  130. package/src/loanOfferings/dtos/responses/CohortLogEntryResponse.ts +12 -0
  131. package/src/loanOfferings/dtos/responses/CohortResponse.ts +47 -0
  132. package/src/loanOfferings/dtos/responses/PromotionResponse.ts +2 -0
  133. package/src/loanOfferings/dtos/responses/SegmentCatalogResponse.ts +5 -2
  134. package/src/loanOfferings/dtos/responses/SegmentLogEntryResponse.ts +12 -0
  135. package/src/loanOfferings/dtos/responses/SegmentMembersResponse.ts +21 -0
  136. package/src/loanOfferings/dtos/responses/SegmentResponse.ts +12 -6
  137. package/src/loanOfferings/dtos/responses/SegmentUsageResponse.ts +20 -0
  138. package/src/loanOfferings/dtos/responses/SegmentationRecountRunResponse.ts +25 -0
  139. package/src/loanOfferings/dtos/responses/SegmentationRecountStartResponse.ts +7 -0
  140. package/src/loanOfferings/dtos/responses/TestCohortResponse.ts +19 -0
  141. package/src/loanOfferings/dtos/responses/TestCustomerSegmentsResponse.ts +25 -0
  142. package/src/loanOfferings/enums/CohortConditionOutcomeEnum.ts +10 -0
  143. package/src/loanOfferings/enums/CohortFactKeyEnum.ts +17 -0
  144. package/src/loanOfferings/enums/CohortFactTypeEnum.ts +9 -0
  145. package/src/loanOfferings/enums/CohortLogEventEnum.ts +10 -0
  146. package/src/loanOfferings/enums/CohortOperatorEnum.ts +15 -0
  147. package/src/loanOfferings/enums/CohortStatusEnum.ts +9 -0
  148. package/src/loanOfferings/enums/SegmentFilterIdEnum.ts +2 -0
  149. package/src/loanOfferings/enums/SegmentLogEventEnum.ts +10 -0
  150. package/src/loanOfferings/enums/SegmentMembershipReasonEnum.ts +9 -0
  151. package/src/loanOfferings/enums/SegmentationRecountStatusEnum.ts +9 -0
  152. package/src/loanOfferings/enums/SegmentationRecountTriggerEnum.ts +8 -0
  153. package/src/loanOfferings/index.ts +30 -0
@@ -0,0 +1,7 @@
1
+ import { BorrowerSegmentFactsItem } from './BorrowerSegmentFacts';
2
+ /** Respuesta de `POST /private/borrowers/segment-facts/page`. */
3
+ export interface SegmentFactsPageResponse {
4
+ items: BorrowerSegmentFactsItem[];
5
+ /** Cursor de la siguiente página. `null` = ya no quedan acreditados. */
6
+ nextCursor: string | null;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -168,3 +168,8 @@ export * from './dtos/requests/UpdateReconcileModeRequest';
168
168
  export * from './dtos/responses/ReconcileModeView';
169
169
  export * from './dtos/requests/RunDevicePostureBackfillRequest';
170
170
  export * from './dtos/responses/DevicePostureBackfillResult';
171
+ export * from './dtos/requests/SegmentFactsBatchRequest';
172
+ export * from './dtos/requests/SegmentFactsPageRequest';
173
+ export * from './dtos/responses/BorrowerSegmentFacts';
174
+ export * from './dtos/responses/SegmentFactsBatchResponse';
175
+ export * from './dtos/responses/SegmentFactsPageResponse';
@@ -213,3 +213,9 @@ __exportStar(require("./dtos/requests/UpdateReconcileModeRequest"), exports);
213
213
  __exportStar(require("./dtos/responses/ReconcileModeView"), exports);
214
214
  __exportStar(require("./dtos/requests/RunDevicePostureBackfillRequest"), exports);
215
215
  __exportStar(require("./dtos/responses/DevicePostureBackfillResult"), exports);
216
+ // Datos del cliente para evaluar cohorts de segmentos
217
+ __exportStar(require("./dtos/requests/SegmentFactsBatchRequest"), exports);
218
+ __exportStar(require("./dtos/requests/SegmentFactsPageRequest"), exports);
219
+ __exportStar(require("./dtos/responses/BorrowerSegmentFacts"), exports);
220
+ __exportStar(require("./dtos/responses/SegmentFactsBatchResponse"), exports);
221
+ __exportStar(require("./dtos/responses/SegmentFactsPageResponse"), exports);
@@ -0,0 +1,2 @@
1
+ /** Tope de cadenas por promoción de crédito. */
2
+ export declare const PROMOTION_RETAILER_IDS_MAX_ITEMS = 50;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PROMOTION_RETAILER_IDS_MAX_ITEMS = void 0;
4
+ /** Tope de cadenas por promoción de crédito. */
5
+ exports.PROMOTION_RETAILER_IDS_MAX_ITEMS = 50;
@@ -0,0 +1,9 @@
1
+ import { CohortStatusEnum } from '../../enums/CohortStatusEnum';
2
+ /**
3
+ * Body de PUT /cohorts/:cohortId/status — archiva o reactiva un cohort. No se archiva uno que use
4
+ * un segmento activo. `reason` queda en la bitácora.
5
+ */
6
+ export declare class ChangeCohortStatusRequest {
7
+ status: CohortStatusEnum;
8
+ reason?: string;
9
+ }
@@ -0,0 +1,34 @@
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.ChangeCohortStatusRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const CohortStatusEnum_1 = require("../../enums/CohortStatusEnum");
16
+ /**
17
+ * Body de PUT /cohorts/:cohortId/status — archiva o reactiva un cohort. No se archiva uno que use
18
+ * un segmento activo. `reason` queda en la bitácora.
19
+ */
20
+ class ChangeCohortStatusRequest {
21
+ }
22
+ exports.ChangeCohortStatusRequest = ChangeCohortStatusRequest;
23
+ __decorate([
24
+ (0, class_transformer_1.Expose)(),
25
+ (0, class_validator_1.IsEnum)(CohortStatusEnum_1.CohortStatusEnum),
26
+ __metadata("design:type", String)
27
+ ], ChangeCohortStatusRequest.prototype, "status", void 0);
28
+ __decorate([
29
+ (0, class_transformer_1.Expose)(),
30
+ (0, class_validator_1.IsOptional)(),
31
+ (0, class_validator_1.IsString)(),
32
+ (0, class_validator_1.MaxLength)(280),
33
+ __metadata("design:type", String)
34
+ ], ChangeCohortStatusRequest.prototype, "reason", void 0);
@@ -0,0 +1,15 @@
1
+ import { CohortFactKeyEnum } from '../../enums/CohortFactKeyEnum';
2
+ import { CohortOperatorEnum } from '../../enums/CohortOperatorEnum';
3
+ /**
4
+ * Una condición de cohort: «dato operador valor». Las condiciones de un cohort se unen con Y.
5
+ * Que el operador aplique al tipo del dato y que el valor tenga el tipo correcto lo valida el
6
+ * lambda (422), contra el catálogo.
7
+ */
8
+ export declare class CohortCondition {
9
+ field: CohortFactKeyEnum;
10
+ op: CohortOperatorEnum;
11
+ /** Valor a comparar en los operadores de un solo valor. Tipado estricto: `3` no es `"3"`. */
12
+ value?: number | boolean | string;
13
+ /** Lista de opciones; solo con `IN` y `NOT_IN`. */
14
+ values?: string[];
15
+ }
@@ -0,0 +1,48 @@
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.CohortCondition = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const CohortFactKeyEnum_1 = require("../../enums/CohortFactKeyEnum");
16
+ const CohortOperatorEnum_1 = require("../../enums/CohortOperatorEnum");
17
+ /**
18
+ * Una condición de cohort: «dato operador valor». Las condiciones de un cohort se unen con Y.
19
+ * Que el operador aplique al tipo del dato y que el valor tenga el tipo correcto lo valida el
20
+ * lambda (422), contra el catálogo.
21
+ */
22
+ class CohortCondition {
23
+ }
24
+ exports.CohortCondition = CohortCondition;
25
+ __decorate([
26
+ (0, class_transformer_1.Expose)(),
27
+ (0, class_validator_1.IsEnum)(CohortFactKeyEnum_1.CohortFactKeyEnum),
28
+ __metadata("design:type", String)
29
+ ], CohortCondition.prototype, "field", void 0);
30
+ __decorate([
31
+ (0, class_transformer_1.Expose)(),
32
+ (0, class_validator_1.IsEnum)(CohortOperatorEnum_1.CohortOperatorEnum),
33
+ __metadata("design:type", String)
34
+ ], CohortCondition.prototype, "op", void 0);
35
+ __decorate([
36
+ (0, class_transformer_1.Expose)(),
37
+ (0, class_validator_1.IsOptional)(),
38
+ __metadata("design:type", Object)
39
+ ], CohortCondition.prototype, "value", void 0);
40
+ __decorate([
41
+ (0, class_transformer_1.Expose)(),
42
+ (0, class_validator_1.IsOptional)(),
43
+ (0, class_validator_1.IsArray)(),
44
+ (0, class_validator_1.IsString)({ each: true }),
45
+ (0, class_validator_1.IsNotEmpty)({ each: true }),
46
+ (0, class_validator_1.ArrayMaxSize)(10),
47
+ __metadata("design:type", Array)
48
+ ], CohortCondition.prototype, "values", void 0);
@@ -0,0 +1,11 @@
1
+ import { CohortCondition } from './CohortCondition';
2
+ /**
3
+ * Body de POST /cohorts — alta de un cohort. Nace en `ACTIVE`; `cohortId`, `status`, `version` y
4
+ * la auditoría los asigna el lambda. El nombre es único entre los cohorts activos.
5
+ */
6
+ export declare class CreateCohortRequest {
7
+ name: string;
8
+ description?: string;
9
+ /** Condiciones unidas con Y: el cliente entra si cumple todas. */
10
+ conditions: CohortCondition[];
11
+ }
@@ -0,0 +1,44 @@
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.CreateCohortRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const CohortCondition_1 = require("./CohortCondition");
16
+ /**
17
+ * Body de POST /cohorts — alta de un cohort. Nace en `ACTIVE`; `cohortId`, `status`, `version` y
18
+ * la auditoría los asigna el lambda. El nombre es único entre los cohorts activos.
19
+ */
20
+ class CreateCohortRequest {
21
+ }
22
+ exports.CreateCohortRequest = CreateCohortRequest;
23
+ __decorate([
24
+ (0, class_transformer_1.Expose)(),
25
+ (0, class_validator_1.IsString)(),
26
+ (0, class_validator_1.MaxLength)(120),
27
+ __metadata("design:type", String)
28
+ ], CreateCohortRequest.prototype, "name", void 0);
29
+ __decorate([
30
+ (0, class_transformer_1.Expose)(),
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsString)(),
33
+ (0, class_validator_1.MaxLength)(500),
34
+ __metadata("design:type", String)
35
+ ], CreateCohortRequest.prototype, "description", void 0);
36
+ __decorate([
37
+ (0, class_transformer_1.Expose)(),
38
+ (0, class_validator_1.IsArray)(),
39
+ (0, class_validator_1.ArrayMinSize)(1),
40
+ (0, class_validator_1.ArrayMaxSize)(10),
41
+ (0, class_validator_1.ValidateNested)({ each: true }),
42
+ (0, class_transformer_1.Type)(() => CohortCondition_1.CohortCondition),
43
+ __metadata("design:type", Array)
44
+ ], CreateCohortRequest.prototype, "conditions", void 0);
@@ -20,6 +20,8 @@ export declare class CreatePromotionRequest {
20
20
  productCategories?: ProductCategoryEnum[] | null;
21
21
  /** Gamas alcanzadas; ausente o `null` = todas las gamas. */
22
22
  tiers?: ProductTierEnum[] | null;
23
+ /** Cadenas alcanzadas; ausente, `null` o vacío = todas las cadenas. */
24
+ retailerIds?: string[] | null;
23
25
  /** Tiendas alcanzadas. `null` o ausente = todas. */
24
26
  storeIds?: string[] | null;
25
27
  validFrom?: string | null;
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CreatePromotionRequest = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
+ const promotionRetailerScope_1 = require("../../constants/promotionRetailerScope");
15
16
  const CreditPlanLevelEnum_1 = require("../../enums/CreditPlanLevelEnum");
16
17
  const ProductCategoryEnum_1 = require("../../../retailCatalog/enums/ProductCategoryEnum");
17
18
  const ProductTierEnum_1 = require("../../../retailCatalog/enums/ProductTierEnum");
@@ -73,6 +74,15 @@ __decorate([
73
74
  (0, class_validator_1.IsEnum)(ProductTierEnum_1.ProductTierEnum, { each: true }),
74
75
  __metadata("design:type", Array)
75
76
  ], CreatePromotionRequest.prototype, "tiers", void 0);
77
+ __decorate([
78
+ (0, class_transformer_1.Expose)(),
79
+ (0, class_validator_1.IsOptional)(),
80
+ (0, class_validator_1.IsArray)(),
81
+ (0, class_validator_1.ArrayMaxSize)(promotionRetailerScope_1.PROMOTION_RETAILER_IDS_MAX_ITEMS),
82
+ (0, class_validator_1.IsString)({ each: true }),
83
+ (0, class_validator_1.IsNotEmpty)({ each: true }),
84
+ __metadata("design:type", Array)
85
+ ], CreatePromotionRequest.prototype, "retailerIds", void 0);
76
86
  __decorate([
77
87
  (0, class_transformer_1.Expose)(),
78
88
  (0, class_validator_1.IsOptional)(),
@@ -2,8 +2,8 @@ import { SegmentColorSlotEnum } from '../../enums/SegmentColorSlotEnum';
2
2
  /**
3
3
  * Body de POST /segments — alta de un segmento de clientes.
4
4
  * Nace en `ACTIVE`: `segmentId`, `status`, `version`, `isDefault` y la auditoría los asigna el
5
- * lambda y NO viajan en el request. Que cada filtro exista en el catálogo y tenga fuente lo valida
6
- * el lambda contra `GET /segments/filters`.
5
+ * lambda y NO viajan en el request. Que cada cohort exista y esté activo lo valida el lambda, igual
6
+ * que la regla de tener al menos un cohort o un individuo.
7
7
  */
8
8
  export declare class CreateSegmentRequest {
9
9
  name: string;
@@ -11,14 +11,13 @@ export declare class CreateSegmentRequest {
11
11
  /** Ranura de color del chip. Ausente = `slate`. */
12
12
  colorSlot?: SegmentColorSlotEnum;
13
13
  /**
14
- * Filtros del catálogo cerrado. Un cliente pertenece si cumple AL MENOS UNO — es un OR, no un
15
- * AND. Se valida contra el catálogo en el lambda (422), no acá, para poder nombrar el filtro
16
- * desconocido y el que todavía no tiene fuente.
14
+ * Cohorts del segmento. Un cliente pertenece si cumple AL MENOS UNO — es un OR entre cohorts;
15
+ * dentro de cada cohort las condiciones se unen con Y.
17
16
  */
18
- filterIds?: string[];
17
+ cohortIds?: string[];
19
18
  /**
20
- * Clientes agregados a mano por `retailCustomerId`. Ganan siempre, cumplan o no un filtro.
21
- * Un segmento puede nacer SOLO con esta lista, sin ningún filtro activo.
19
+ * Clientes agregados a mano por `retailCustomerId`. Ganan siempre, cumplan o no un cohort.
20
+ * Un segmento puede nacer SOLO con esta lista, sin ningún cohort.
22
21
  */
23
22
  memberIds?: string[];
24
23
  }
@@ -16,8 +16,8 @@ const SegmentColorSlotEnum_1 = require("../../enums/SegmentColorSlotEnum");
16
16
  /**
17
17
  * Body de POST /segments — alta de un segmento de clientes.
18
18
  * Nace en `ACTIVE`: `segmentId`, `status`, `version`, `isDefault` y la auditoría los asigna el
19
- * lambda y NO viajan en el request. Que cada filtro exista en el catálogo y tenga fuente lo valida
20
- * el lambda contra `GET /segments/filters`.
19
+ * lambda y NO viajan en el request. Que cada cohort exista y esté activo lo valida el lambda, igual
20
+ * que la regla de tener al menos un cohort o un individuo.
21
21
  */
22
22
  class CreateSegmentRequest {
23
23
  }
@@ -46,8 +46,10 @@ __decorate([
46
46
  (0, class_validator_1.IsOptional)(),
47
47
  (0, class_validator_1.IsArray)(),
48
48
  (0, class_validator_1.IsString)({ each: true }),
49
+ (0, class_validator_1.IsNotEmpty)({ each: true }),
50
+ (0, class_validator_1.ArrayMaxSize)(20),
49
51
  __metadata("design:type", Array)
50
- ], CreateSegmentRequest.prototype, "filterIds", void 0);
52
+ ], CreateSegmentRequest.prototype, "cohortIds", void 0);
51
53
  __decorate([
52
54
  (0, class_transformer_1.Expose)(),
53
55
  (0, class_validator_1.IsOptional)(),
@@ -0,0 +1,30 @@
1
+ import { CreditPlanLevelEnum } from '../../enums/CreditPlanLevelEnum';
2
+ /**
3
+ * Datos del cliente contra los que se evalúan los cohorts. Las llaves son las de
4
+ * `CohortFactKeyEnum`. Todos opcionales: un dato ausente hace que su condición no se cumpla.
5
+ *
6
+ * Cliente sin acreditado: conteos y días en `0`, `sciLevel` ausente. `sciLevel` en `ALL` o
7
+ * `NOT_ELIGIBLE` se manda ausente.
8
+ */
9
+ export declare class CustomerSegmentFacts {
10
+ /** Nivel de la última evaluación SCI del acreditado. */
11
+ sciLevel?: CreditPlanLevelEnum;
12
+ /** Créditos en toda la vida del cliente, en cualquier estado. */
13
+ totalCredits?: number;
14
+ /** Créditos vivos hoy. */
15
+ activeCredits?: number;
16
+ /** Créditos liquidados en toda la vida del cliente. */
17
+ completedCredits?: number;
18
+ /** Créditos con baja contable en toda la vida del cliente. `0` es ninguno. */
19
+ lifetimeWriteOffs?: number;
20
+ /** Días de atraso hoy. `0` es al corriente. */
21
+ currentArrearsDays?: number;
22
+ /** Días de mora en la ventana de 180 días. Sin cuotas en la ventana cuenta como `0`. */
23
+ delinquencyDaysLast6M?: number;
24
+ /** Reestructuras en toda la vida del cliente. `0` es ninguna. */
25
+ lifetimeRestructures?: number;
26
+ /** Colaborador de la red. Hoy ningún sistema lo produce: se usa la lista manual del segmento. */
27
+ isEmployee?: boolean;
28
+ /** Tiene cuenta PCF. Sin fuente mientras no se defina qué cuenta como cuenta PCF. */
29
+ hasPcfAccount?: boolean;
30
+ }
@@ -0,0 +1,92 @@
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.CustomerSegmentFacts = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const CreditPlanLevelEnum_1 = require("../../enums/CreditPlanLevelEnum");
16
+ /**
17
+ * Datos del cliente contra los que se evalúan los cohorts. Las llaves son las de
18
+ * `CohortFactKeyEnum`. Todos opcionales: un dato ausente hace que su condición no se cumpla.
19
+ *
20
+ * Cliente sin acreditado: conteos y días en `0`, `sciLevel` ausente. `sciLevel` en `ALL` o
21
+ * `NOT_ELIGIBLE` se manda ausente.
22
+ */
23
+ class CustomerSegmentFacts {
24
+ }
25
+ exports.CustomerSegmentFacts = CustomerSegmentFacts;
26
+ __decorate([
27
+ (0, class_transformer_1.Expose)(),
28
+ (0, class_validator_1.IsOptional)(),
29
+ (0, class_validator_1.IsEnum)(CreditPlanLevelEnum_1.CreditPlanLevelEnum),
30
+ __metadata("design:type", String)
31
+ ], CustomerSegmentFacts.prototype, "sciLevel", void 0);
32
+ __decorate([
33
+ (0, class_transformer_1.Expose)(),
34
+ (0, class_validator_1.IsOptional)(),
35
+ (0, class_validator_1.IsInt)(),
36
+ (0, class_validator_1.Min)(0),
37
+ __metadata("design:type", Number)
38
+ ], CustomerSegmentFacts.prototype, "totalCredits", void 0);
39
+ __decorate([
40
+ (0, class_transformer_1.Expose)(),
41
+ (0, class_validator_1.IsOptional)(),
42
+ (0, class_validator_1.IsInt)(),
43
+ (0, class_validator_1.Min)(0),
44
+ __metadata("design:type", Number)
45
+ ], CustomerSegmentFacts.prototype, "activeCredits", void 0);
46
+ __decorate([
47
+ (0, class_transformer_1.Expose)(),
48
+ (0, class_validator_1.IsOptional)(),
49
+ (0, class_validator_1.IsInt)(),
50
+ (0, class_validator_1.Min)(0),
51
+ __metadata("design:type", Number)
52
+ ], CustomerSegmentFacts.prototype, "completedCredits", void 0);
53
+ __decorate([
54
+ (0, class_transformer_1.Expose)(),
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsInt)(),
57
+ (0, class_validator_1.Min)(0),
58
+ __metadata("design:type", Number)
59
+ ], CustomerSegmentFacts.prototype, "lifetimeWriteOffs", void 0);
60
+ __decorate([
61
+ (0, class_transformer_1.Expose)(),
62
+ (0, class_validator_1.IsOptional)(),
63
+ (0, class_validator_1.IsInt)(),
64
+ (0, class_validator_1.Min)(0),
65
+ __metadata("design:type", Number)
66
+ ], CustomerSegmentFacts.prototype, "currentArrearsDays", void 0);
67
+ __decorate([
68
+ (0, class_transformer_1.Expose)(),
69
+ (0, class_validator_1.IsOptional)(),
70
+ (0, class_validator_1.IsInt)(),
71
+ (0, class_validator_1.Min)(0),
72
+ __metadata("design:type", Number)
73
+ ], CustomerSegmentFacts.prototype, "delinquencyDaysLast6M", void 0);
74
+ __decorate([
75
+ (0, class_transformer_1.Expose)(),
76
+ (0, class_validator_1.IsOptional)(),
77
+ (0, class_validator_1.IsInt)(),
78
+ (0, class_validator_1.Min)(0),
79
+ __metadata("design:type", Number)
80
+ ], CustomerSegmentFacts.prototype, "lifetimeRestructures", void 0);
81
+ __decorate([
82
+ (0, class_transformer_1.Expose)(),
83
+ (0, class_validator_1.IsOptional)(),
84
+ (0, class_validator_1.IsBoolean)(),
85
+ __metadata("design:type", Boolean)
86
+ ], CustomerSegmentFacts.prototype, "isEmployee", void 0);
87
+ __decorate([
88
+ (0, class_transformer_1.Expose)(),
89
+ (0, class_validator_1.IsOptional)(),
90
+ (0, class_validator_1.IsBoolean)(),
91
+ __metadata("design:type", Boolean)
92
+ ], CustomerSegmentFacts.prototype, "hasPcfAccount", void 0);
@@ -0,0 +1,5 @@
1
+ import { CohortStatusEnum } from '../../enums/CohortStatusEnum';
2
+ /** Query de GET /cohorts (backoffice). El tenant sale del token. Sin `status` devuelve todos. */
3
+ export declare class ListCohortsQuery {
4
+ status?: CohortStatusEnum;
5
+ }
@@ -0,0 +1,25 @@
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.ListCohortsQuery = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const CohortStatusEnum_1 = require("../../enums/CohortStatusEnum");
16
+ /** Query de GET /cohorts (backoffice). El tenant sale del token. Sin `status` devuelve todos. */
17
+ class ListCohortsQuery {
18
+ }
19
+ exports.ListCohortsQuery = ListCohortsQuery;
20
+ __decorate([
21
+ (0, class_transformer_1.Expose)(),
22
+ (0, class_validator_1.IsOptional)(),
23
+ (0, class_validator_1.IsEnum)(CohortStatusEnum_1.CohortStatusEnum),
24
+ __metadata("design:type", String)
25
+ ], ListCohortsQuery.prototype, "status", void 0);
@@ -3,6 +3,8 @@ import { PromotionSkuInput } from './PromotionSkuInput';
3
3
  /** Body de `POST /private/promotions/promoted-skus` (M2M): SKUs del lote con promoción viva para el badge; hasta 100 SKUs. */
4
4
  export declare class ListPromotedSkusRequest {
5
5
  storeId: string;
6
+ /** Cadena de la tienda; sin ella no se resuelven las promociones acotadas por cadena. */
7
+ retailerId?: string;
6
8
  /** Nivel del cliente si loan-scoring ya corrió. */
7
9
  level?: CreditPlanLevelEnum;
8
10
  /** Segmento del cliente si ya se resolvió. */
@@ -25,6 +25,13 @@ __decorate([
25
25
  (0, class_validator_1.IsNotEmpty)(),
26
26
  __metadata("design:type", String)
27
27
  ], ListPromotedSkusRequest.prototype, "storeId", void 0);
28
+ __decorate([
29
+ (0, class_transformer_1.Expose)(),
30
+ (0, class_validator_1.IsOptional)(),
31
+ (0, class_validator_1.IsString)(),
32
+ (0, class_validator_1.IsNotEmpty)(),
33
+ __metadata("design:type", String)
34
+ ], ListPromotedSkusRequest.prototype, "retailerId", void 0);
28
35
  __decorate([
29
36
  (0, class_transformer_1.Expose)(),
30
37
  (0, class_validator_1.IsOptional)(),
@@ -3,6 +3,8 @@ import { PromotionSkuInput } from './PromotionSkuInput';
3
3
  /** Body de `POST /private/promotions/by-sku` (M2M): promociones vivas de cada SKU del lote; hasta 100 SKUs. */
4
4
  export declare class ListSkuPromotionsRequest {
5
5
  storeId: string;
6
+ /** Cadena de la tienda; sin ella no se resuelven las promociones acotadas por cadena. */
7
+ retailerId?: string;
6
8
  /** Nivel del cliente si loan-scoring ya corrió. */
7
9
  level?: CreditPlanLevelEnum;
8
10
  /** Segmento del cliente si ya se resolvió. */
@@ -25,6 +25,13 @@ __decorate([
25
25
  (0, class_validator_1.IsNotEmpty)(),
26
26
  __metadata("design:type", String)
27
27
  ], ListSkuPromotionsRequest.prototype, "storeId", void 0);
28
+ __decorate([
29
+ (0, class_transformer_1.Expose)(),
30
+ (0, class_validator_1.IsOptional)(),
31
+ (0, class_validator_1.IsString)(),
32
+ (0, class_validator_1.IsNotEmpty)(),
33
+ __metadata("design:type", String)
34
+ ], ListSkuPromotionsRequest.prototype, "retailerId", void 0);
28
35
  __decorate([
29
36
  (0, class_transformer_1.Expose)(),
30
37
  (0, class_validator_1.IsOptional)(),
@@ -1,24 +1,8 @@
1
- import { CreditPlanLevelEnum } from '../../enums/CreditPlanLevelEnum';
1
+ import { CustomerSegmentFacts } from './CustomerSegmentFacts';
2
2
  /**
3
- * Body de POST /private/segments/resolve — los hechos del cliente contra los que se evalúan los
4
- * filtros. Los junta quien ya tiene al cliente delante (el wizard o el motor de crédito); este
5
- * lambda no sale a buscarlos a otro silo en el camino caliente.
6
- *
7
- * Un hecho AUSENTE hace que su filtro NO se cumpla: sin el dato no se puede afirmar que el cliente
8
- * califica, y de las dos salidas la segura es dejarlo fuera.
3
+ * Body de POST /private/segments/resolve — el cliente y, opcionalmente, sus datos para evaluar los
4
+ * cohorts. Si el llamador no manda los datos, loan-offerings los pide a loan-credit.
9
5
  */
10
- export declare class ResolveCustomerSegmentsRequest {
6
+ export declare class ResolveCustomerSegmentsRequest extends CustomerSegmentFacts {
11
7
  retailCustomerId: string;
12
- /** Colaborador de la red. Hoy ningún sistema lo produce — ver la lista de individuos. */
13
- isEmployee?: boolean;
14
- /** Nivel que resolvió loan-scoring a partir del SCI. */
15
- sciLevel?: CreditPlanLevelEnum;
16
- /** Créditos cerrados en toda la vida del cliente. */
17
- completedCredits?: number;
18
- /** Días de mora acumulados en la ventana de 180 días. `0` es sin mora. */
19
- delinquencyDaysLast6M?: number;
20
- /** Bajas contables vitalicias. `0` es ninguna. */
21
- lifetimeWriteOffs?: number;
22
- /** Reestructuras vitalicias. `0` es ninguna. */
23
- lifetimeRestructures?: number;
24
8
  }
@@ -12,16 +12,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ResolveCustomerSegmentsRequest = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
- const CreditPlanLevelEnum_1 = require("../../enums/CreditPlanLevelEnum");
15
+ const CustomerSegmentFacts_1 = require("./CustomerSegmentFacts");
16
16
  /**
17
- * Body de POST /private/segments/resolve — los hechos del cliente contra los que se evalúan los
18
- * filtros. Los junta quien ya tiene al cliente delante (el wizard o el motor de crédito); este
19
- * lambda no sale a buscarlos a otro silo en el camino caliente.
20
- *
21
- * Un hecho AUSENTE hace que su filtro NO se cumpla: sin el dato no se puede afirmar que el cliente
22
- * califica, y de las dos salidas la segura es dejarlo fuera.
17
+ * Body de POST /private/segments/resolve — el cliente y, opcionalmente, sus datos para evaluar los
18
+ * cohorts. Si el llamador no manda los datos, loan-offerings los pide a loan-credit.
23
19
  */
24
- class ResolveCustomerSegmentsRequest {
20
+ class ResolveCustomerSegmentsRequest extends CustomerSegmentFacts_1.CustomerSegmentFacts {
25
21
  }
26
22
  exports.ResolveCustomerSegmentsRequest = ResolveCustomerSegmentsRequest;
27
23
  __decorate([
@@ -29,43 +25,3 @@ __decorate([
29
25
  (0, class_validator_1.IsString)(),
30
26
  __metadata("design:type", String)
31
27
  ], ResolveCustomerSegmentsRequest.prototype, "retailCustomerId", void 0);
32
- __decorate([
33
- (0, class_transformer_1.Expose)(),
34
- (0, class_validator_1.IsOptional)(),
35
- (0, class_validator_1.IsBoolean)(),
36
- __metadata("design:type", Boolean)
37
- ], ResolveCustomerSegmentsRequest.prototype, "isEmployee", void 0);
38
- __decorate([
39
- (0, class_transformer_1.Expose)(),
40
- (0, class_validator_1.IsOptional)(),
41
- (0, class_validator_1.IsEnum)(CreditPlanLevelEnum_1.CreditPlanLevelEnum),
42
- __metadata("design:type", String)
43
- ], ResolveCustomerSegmentsRequest.prototype, "sciLevel", void 0);
44
- __decorate([
45
- (0, class_transformer_1.Expose)(),
46
- (0, class_validator_1.IsOptional)(),
47
- (0, class_validator_1.IsInt)(),
48
- (0, class_validator_1.Min)(0),
49
- __metadata("design:type", Number)
50
- ], ResolveCustomerSegmentsRequest.prototype, "completedCredits", void 0);
51
- __decorate([
52
- (0, class_transformer_1.Expose)(),
53
- (0, class_validator_1.IsOptional)(),
54
- (0, class_validator_1.IsInt)(),
55
- (0, class_validator_1.Min)(0),
56
- __metadata("design:type", Number)
57
- ], ResolveCustomerSegmentsRequest.prototype, "delinquencyDaysLast6M", void 0);
58
- __decorate([
59
- (0, class_transformer_1.Expose)(),
60
- (0, class_validator_1.IsOptional)(),
61
- (0, class_validator_1.IsInt)(),
62
- (0, class_validator_1.Min)(0),
63
- __metadata("design:type", Number)
64
- ], ResolveCustomerSegmentsRequest.prototype, "lifetimeWriteOffs", void 0);
65
- __decorate([
66
- (0, class_transformer_1.Expose)(),
67
- (0, class_validator_1.IsOptional)(),
68
- (0, class_validator_1.IsInt)(),
69
- (0, class_validator_1.Min)(0),
70
- __metadata("design:type", Number)
71
- ], ResolveCustomerSegmentsRequest.prototype, "lifetimeRestructures", void 0);
@@ -0,0 +1,8 @@
1
+ import { ResolveCustomerSegmentsRequest } from './ResolveCustomerSegmentsRequest';
2
+ /**
3
+ * Body de POST /private/segments/members — pertenencia a segmentos en lote, con cohorts. Cada
4
+ * cliente viaja con sus datos si el llamador los tiene; los que falten los pide loan-offerings.
5
+ */
6
+ export declare class ResolveSegmentMembersRequest {
7
+ customers: ResolveCustomerSegmentsRequest[];
8
+ }