@fiado/type-kit 3.612.0 → 3.614.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.
- package/_test_/unit/loanCredit/segmentFactsDtos.test.ts +80 -0
- package/_test_/unit/loanOfferings/segmentCatalog.test.ts +4 -2
- package/_test_/unit/loanOfferings/segmentCohorts.test.ts +333 -0
- package/bin/loanCredit/dtos/requests/SegmentFactsBatchRequest.d.ts +4 -0
- package/bin/loanCredit/dtos/requests/SegmentFactsBatchRequest.js +27 -0
- package/bin/loanCredit/dtos/requests/SegmentFactsPageRequest.d.ts +7 -0
- package/bin/loanCredit/dtos/requests/SegmentFactsPageRequest.js +32 -0
- package/bin/loanCredit/dtos/responses/BorrowerSegmentFacts.d.ts +22 -0
- package/bin/loanCredit/dtos/responses/BorrowerSegmentFacts.js +2 -0
- package/bin/loanCredit/dtos/responses/SegmentFactsBatchResponse.d.ts +5 -0
- package/bin/loanCredit/dtos/responses/SegmentFactsBatchResponse.js +2 -0
- package/bin/loanCredit/dtos/responses/SegmentFactsPageResponse.d.ts +7 -0
- package/bin/loanCredit/dtos/responses/SegmentFactsPageResponse.js +2 -0
- package/bin/loanCredit/index.d.ts +5 -0
- package/bin/loanCredit/index.js +6 -0
- package/bin/loanOfferings/dtos/requests/ChangeCohortStatusRequest.d.ts +9 -0
- package/bin/loanOfferings/dtos/requests/ChangeCohortStatusRequest.js +34 -0
- package/bin/loanOfferings/dtos/requests/CohortCondition.d.ts +15 -0
- package/bin/loanOfferings/dtos/requests/CohortCondition.js +48 -0
- package/bin/loanOfferings/dtos/requests/CreateCohortRequest.d.ts +11 -0
- package/bin/loanOfferings/dtos/requests/CreateCohortRequest.js +44 -0
- package/bin/loanOfferings/dtos/requests/CreateSegmentRequest.d.ts +7 -8
- package/bin/loanOfferings/dtos/requests/CreateSegmentRequest.js +5 -3
- package/bin/loanOfferings/dtos/requests/CustomerSegmentFacts.d.ts +30 -0
- package/bin/loanOfferings/dtos/requests/CustomerSegmentFacts.js +92 -0
- package/bin/loanOfferings/dtos/requests/ListCohortsQuery.d.ts +5 -0
- package/bin/loanOfferings/dtos/requests/ListCohortsQuery.js +25 -0
- package/bin/loanOfferings/dtos/requests/ResolveCustomerSegmentsRequest.d.ts +4 -20
- package/bin/loanOfferings/dtos/requests/ResolveCustomerSegmentsRequest.js +4 -48
- package/bin/loanOfferings/dtos/requests/ResolveSegmentMembersRequest.d.ts +8 -0
- package/bin/loanOfferings/dtos/requests/ResolveSegmentMembersRequest.js +31 -0
- package/bin/loanOfferings/dtos/requests/TestCohortRequest.d.ts +9 -0
- package/bin/loanOfferings/dtos/requests/TestCohortRequest.js +36 -0
- package/bin/loanOfferings/dtos/requests/TestCustomerSegmentsRequest.d.ts +4 -0
- package/bin/loanOfferings/dtos/requests/TestCustomerSegmentsRequest.js +23 -0
- package/bin/loanOfferings/dtos/requests/UpdateCohortRequest.d.ts +12 -0
- package/bin/loanOfferings/dtos/requests/UpdateCohortRequest.js +53 -0
- package/bin/loanOfferings/dtos/requests/UpdateSegmentRequest.d.ts +2 -2
- package/bin/loanOfferings/dtos/requests/UpdateSegmentRequest.js +3 -1
- package/bin/loanOfferings/dtos/responses/CohortCatalogResponse.d.ts +33 -0
- package/bin/loanOfferings/dtos/responses/CohortCatalogResponse.js +2 -0
- package/bin/loanOfferings/dtos/responses/CohortLogEntryResponse.d.ts +11 -0
- package/bin/loanOfferings/dtos/responses/CohortLogEntryResponse.js +2 -0
- package/bin/loanOfferings/dtos/responses/CohortResponse.d.ts +43 -0
- package/bin/loanOfferings/dtos/responses/CohortResponse.js +2 -0
- package/bin/loanOfferings/dtos/responses/SegmentCatalogResponse.d.ts +5 -2
- package/bin/loanOfferings/dtos/responses/SegmentLogEntryResponse.d.ts +11 -0
- package/bin/loanOfferings/dtos/responses/SegmentLogEntryResponse.js +2 -0
- package/bin/loanOfferings/dtos/responses/SegmentMembersResponse.d.ts +19 -0
- package/bin/loanOfferings/dtos/responses/SegmentMembersResponse.js +2 -0
- package/bin/loanOfferings/dtos/responses/SegmentResponse.d.ts +12 -6
- package/bin/loanOfferings/dtos/responses/SegmentUsageResponse.d.ts +18 -0
- package/bin/loanOfferings/dtos/responses/SegmentUsageResponse.js +2 -0
- package/bin/loanOfferings/dtos/responses/SegmentationRecountRunResponse.d.ts +23 -0
- package/bin/loanOfferings/dtos/responses/SegmentationRecountRunResponse.js +2 -0
- package/bin/loanOfferings/dtos/responses/SegmentationRecountStartResponse.d.ts +6 -0
- package/bin/loanOfferings/dtos/responses/SegmentationRecountStartResponse.js +2 -0
- package/bin/loanOfferings/dtos/responses/TestCohortResponse.d.ts +17 -0
- package/bin/loanOfferings/dtos/responses/TestCohortResponse.js +2 -0
- package/bin/loanOfferings/dtos/responses/TestCustomerSegmentsResponse.d.ts +23 -0
- package/bin/loanOfferings/dtos/responses/TestCustomerSegmentsResponse.js +2 -0
- package/bin/loanOfferings/enums/CohortConditionOutcomeEnum.d.ts +10 -0
- package/bin/loanOfferings/enums/CohortConditionOutcomeEnum.js +14 -0
- package/bin/loanOfferings/enums/CohortFactKeyEnum.d.ts +17 -0
- package/bin/loanOfferings/enums/CohortFactKeyEnum.js +21 -0
- package/bin/loanOfferings/enums/CohortFactTypeEnum.d.ts +9 -0
- package/bin/loanOfferings/enums/CohortFactTypeEnum.js +13 -0
- package/bin/loanOfferings/enums/CohortLogEventEnum.d.ts +10 -0
- package/bin/loanOfferings/enums/CohortLogEventEnum.js +14 -0
- package/bin/loanOfferings/enums/CohortOperatorEnum.d.ts +15 -0
- package/bin/loanOfferings/enums/CohortOperatorEnum.js +19 -0
- package/bin/loanOfferings/enums/CohortStatusEnum.d.ts +9 -0
- package/bin/loanOfferings/enums/CohortStatusEnum.js +13 -0
- package/bin/loanOfferings/enums/SegmentFilterIdEnum.d.ts +2 -0
- package/bin/loanOfferings/enums/SegmentFilterIdEnum.js +2 -0
- package/bin/loanOfferings/enums/SegmentLogEventEnum.d.ts +10 -0
- package/bin/loanOfferings/enums/SegmentLogEventEnum.js +14 -0
- package/bin/loanOfferings/enums/SegmentMembershipReasonEnum.d.ts +9 -0
- package/bin/loanOfferings/enums/SegmentMembershipReasonEnum.js +13 -0
- package/bin/loanOfferings/enums/SegmentationRecountStatusEnum.d.ts +9 -0
- package/bin/loanOfferings/enums/SegmentationRecountStatusEnum.js +13 -0
- package/bin/loanOfferings/enums/SegmentationRecountTriggerEnum.d.ts +8 -0
- package/bin/loanOfferings/enums/SegmentationRecountTriggerEnum.js +12 -0
- package/bin/loanOfferings/index.d.ts +29 -0
- package/bin/loanOfferings/index.js +29 -0
- package/bin/onboarding/events/SponsorChangedEventDetail.d.ts +16 -0
- package/bin/onboarding/events/SponsorChangedEventDetail.js +14 -0
- package/bin/onboarding/index.d.ts +1 -0
- package/bin/onboarding/index.js +2 -0
- package/package.json +1 -1
- package/src/loanCredit/dtos/requests/SegmentFactsBatchRequest.ts +13 -0
- package/src/loanCredit/dtos/requests/SegmentFactsPageRequest.ts +19 -0
- package/src/loanCredit/dtos/responses/BorrowerSegmentFacts.ts +24 -0
- package/src/loanCredit/dtos/responses/SegmentFactsBatchResponse.ts +6 -0
- package/src/loanCredit/dtos/responses/SegmentFactsPageResponse.ts +8 -0
- package/src/loanCredit/index.ts +7 -0
- package/src/loanOfferings/dtos/requests/ChangeCohortStatusRequest.ts +19 -0
- package/src/loanOfferings/dtos/requests/CohortCondition.ts +33 -0
- package/src/loanOfferings/dtos/requests/CreateCohortRequest.ts +29 -0
- package/src/loanOfferings/dtos/requests/CreateSegmentRequest.ts +10 -9
- package/src/loanOfferings/dtos/requests/CustomerSegmentFacts.ts +79 -0
- package/src/loanOfferings/dtos/requests/ListCohortsQuery.ts +11 -0
- package/src/loanOfferings/dtos/requests/ResolveCustomerSegmentsRequest.ts +5 -49
- package/src/loanOfferings/dtos/requests/ResolveSegmentMembersRequest.ts +17 -0
- package/src/loanOfferings/dtos/requests/TestCohortRequest.ts +21 -0
- package/src/loanOfferings/dtos/requests/TestCustomerSegmentsRequest.ts +9 -0
- package/src/loanOfferings/dtos/requests/UpdateCohortRequest.ts +37 -0
- package/src/loanOfferings/dtos/requests/UpdateSegmentRequest.ts +5 -3
- package/src/loanOfferings/dtos/responses/CohortCatalogResponse.ts +36 -0
- package/src/loanOfferings/dtos/responses/CohortLogEntryResponse.ts +12 -0
- package/src/loanOfferings/dtos/responses/CohortResponse.ts +47 -0
- package/src/loanOfferings/dtos/responses/SegmentCatalogResponse.ts +5 -2
- package/src/loanOfferings/dtos/responses/SegmentLogEntryResponse.ts +12 -0
- package/src/loanOfferings/dtos/responses/SegmentMembersResponse.ts +21 -0
- package/src/loanOfferings/dtos/responses/SegmentResponse.ts +12 -6
- package/src/loanOfferings/dtos/responses/SegmentUsageResponse.ts +20 -0
- package/src/loanOfferings/dtos/responses/SegmentationRecountRunResponse.ts +25 -0
- package/src/loanOfferings/dtos/responses/SegmentationRecountStartResponse.ts +7 -0
- package/src/loanOfferings/dtos/responses/TestCohortResponse.ts +19 -0
- package/src/loanOfferings/dtos/responses/TestCustomerSegmentsResponse.ts +25 -0
- package/src/loanOfferings/enums/CohortConditionOutcomeEnum.ts +10 -0
- package/src/loanOfferings/enums/CohortFactKeyEnum.ts +17 -0
- package/src/loanOfferings/enums/CohortFactTypeEnum.ts +9 -0
- package/src/loanOfferings/enums/CohortLogEventEnum.ts +10 -0
- package/src/loanOfferings/enums/CohortOperatorEnum.ts +15 -0
- package/src/loanOfferings/enums/CohortStatusEnum.ts +9 -0
- package/src/loanOfferings/enums/SegmentFilterIdEnum.ts +2 -0
- package/src/loanOfferings/enums/SegmentLogEventEnum.ts +10 -0
- package/src/loanOfferings/enums/SegmentMembershipReasonEnum.ts +9 -0
- package/src/loanOfferings/enums/SegmentationRecountStatusEnum.ts +9 -0
- package/src/loanOfferings/enums/SegmentationRecountTriggerEnum.ts +8 -0
- package/src/loanOfferings/index.ts +29 -0
- package/src/onboarding/events/SponsorChangedEventDetail.ts +20 -0
- package/src/onboarding/index.ts +3 -0
|
@@ -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);
|
|
@@ -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
|
|
6
|
-
*
|
|
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
|
-
*
|
|
15
|
-
*
|
|
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
|
-
|
|
17
|
+
cohortIds?: string[];
|
|
19
18
|
/**
|
|
20
|
-
* Clientes agregados a mano por `retailCustomerId`. Ganan siempre, cumplan o no un
|
|
21
|
-
* Un segmento puede nacer SOLO con esta lista, sin ningún
|
|
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
|
|
20
|
-
*
|
|
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, "
|
|
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,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);
|
|
@@ -1,24 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CustomerSegmentFacts } from './CustomerSegmentFacts';
|
|
2
2
|
/**
|
|
3
|
-
* Body de POST /private/segments/resolve —
|
|
4
|
-
*
|
|
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
|
|
15
|
+
const CustomerSegmentFacts_1 = require("./CustomerSegmentFacts");
|
|
16
16
|
/**
|
|
17
|
-
* Body de POST /private/segments/resolve —
|
|
18
|
-
*
|
|
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
|
+
}
|
|
@@ -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.ResolveSegmentMembersRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const ResolveCustomerSegmentsRequest_1 = require("./ResolveCustomerSegmentsRequest");
|
|
16
|
+
/**
|
|
17
|
+
* Body de POST /private/segments/members — pertenencia a segmentos en lote, con cohorts. Cada
|
|
18
|
+
* cliente viaja con sus datos si el llamador los tiene; los que falten los pide loan-offerings.
|
|
19
|
+
*/
|
|
20
|
+
class ResolveSegmentMembersRequest {
|
|
21
|
+
}
|
|
22
|
+
exports.ResolveSegmentMembersRequest = ResolveSegmentMembersRequest;
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_transformer_1.Expose)(),
|
|
25
|
+
(0, class_validator_1.IsArray)(),
|
|
26
|
+
(0, class_validator_1.ArrayMinSize)(1),
|
|
27
|
+
(0, class_validator_1.ArrayMaxSize)(100),
|
|
28
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
29
|
+
(0, class_transformer_1.Type)(() => ResolveCustomerSegmentsRequest_1.ResolveCustomerSegmentsRequest),
|
|
30
|
+
__metadata("design:type", Array)
|
|
31
|
+
], ResolveSegmentMembersRequest.prototype, "customers", void 0);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CohortCondition } from './CohortCondition';
|
|
2
|
+
/**
|
|
3
|
+
* Body de POST /cohorts/test — prueba unas condiciones, guardadas o no, con un cliente. Devuelve
|
|
4
|
+
* los datos del cliente y el resultado de cada condición.
|
|
5
|
+
*/
|
|
6
|
+
export declare class TestCohortRequest {
|
|
7
|
+
retailCustomerId: string;
|
|
8
|
+
conditions: CohortCondition[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
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.TestCohortRequest = 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/test — prueba unas condiciones, guardadas o no, con un cliente. Devuelve
|
|
18
|
+
* los datos del cliente y el resultado de cada condición.
|
|
19
|
+
*/
|
|
20
|
+
class TestCohortRequest {
|
|
21
|
+
}
|
|
22
|
+
exports.TestCohortRequest = TestCohortRequest;
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_transformer_1.Expose)(),
|
|
25
|
+
(0, class_validator_1.IsString)(),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], TestCohortRequest.prototype, "retailCustomerId", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, class_transformer_1.Expose)(),
|
|
30
|
+
(0, class_validator_1.IsArray)(),
|
|
31
|
+
(0, class_validator_1.ArrayMinSize)(1),
|
|
32
|
+
(0, class_validator_1.ArrayMaxSize)(10),
|
|
33
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
34
|
+
(0, class_transformer_1.Type)(() => CohortCondition_1.CohortCondition),
|
|
35
|
+
__metadata("design:type", Array)
|
|
36
|
+
], TestCohortRequest.prototype, "conditions", void 0);
|
|
@@ -0,0 +1,23 @@
|
|
|
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.TestCustomerSegmentsRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/** Body de POST /segments/test — en qué segmentos cae un cliente y por qué. */
|
|
16
|
+
class TestCustomerSegmentsRequest {
|
|
17
|
+
}
|
|
18
|
+
exports.TestCustomerSegmentsRequest = TestCustomerSegmentsRequest;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_transformer_1.Expose)(),
|
|
21
|
+
(0, class_validator_1.IsString)(),
|
|
22
|
+
__metadata("design:type", String)
|
|
23
|
+
], TestCustomerSegmentsRequest.prototype, "retailCustomerId", void 0);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CohortCondition } from './CohortCondition';
|
|
2
|
+
/**
|
|
3
|
+
* Body de PUT /cohorts/:cohortId — edición parcial; ausente deja el campo como está. Sube
|
|
4
|
+
* `version`. El cambio de estado va por su endpoint dedicado.
|
|
5
|
+
*/
|
|
6
|
+
export declare class UpdateCohortRequest {
|
|
7
|
+
name?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
/** Reemplaza todas las condiciones. */
|
|
10
|
+
conditions?: CohortCondition[];
|
|
11
|
+
reason?: string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
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.UpdateCohortRequest = 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 PUT /cohorts/:cohortId — edición parcial; ausente deja el campo como está. Sube
|
|
18
|
+
* `version`. El cambio de estado va por su endpoint dedicado.
|
|
19
|
+
*/
|
|
20
|
+
class UpdateCohortRequest {
|
|
21
|
+
}
|
|
22
|
+
exports.UpdateCohortRequest = UpdateCohortRequest;
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_transformer_1.Expose)(),
|
|
25
|
+
(0, class_validator_1.IsOptional)(),
|
|
26
|
+
(0, class_validator_1.IsString)(),
|
|
27
|
+
(0, class_validator_1.MaxLength)(120),
|
|
28
|
+
__metadata("design:type", String)
|
|
29
|
+
], UpdateCohortRequest.prototype, "name", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_transformer_1.Expose)(),
|
|
32
|
+
(0, class_validator_1.IsOptional)(),
|
|
33
|
+
(0, class_validator_1.IsString)(),
|
|
34
|
+
(0, class_validator_1.MaxLength)(500),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], UpdateCohortRequest.prototype, "description", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, class_transformer_1.Expose)(),
|
|
39
|
+
(0, class_validator_1.IsOptional)(),
|
|
40
|
+
(0, class_validator_1.IsArray)(),
|
|
41
|
+
(0, class_validator_1.ArrayMinSize)(1),
|
|
42
|
+
(0, class_validator_1.ArrayMaxSize)(10),
|
|
43
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
44
|
+
(0, class_transformer_1.Type)(() => CohortCondition_1.CohortCondition),
|
|
45
|
+
__metadata("design:type", Array)
|
|
46
|
+
], UpdateCohortRequest.prototype, "conditions", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, class_transformer_1.Expose)(),
|
|
49
|
+
(0, class_validator_1.IsOptional)(),
|
|
50
|
+
(0, class_validator_1.IsString)(),
|
|
51
|
+
(0, class_validator_1.MaxLength)(280),
|
|
52
|
+
__metadata("design:type", String)
|
|
53
|
+
], UpdateCohortRequest.prototype, "reason", void 0);
|
|
@@ -10,8 +10,8 @@ export declare class UpdateSegmentRequest {
|
|
|
10
10
|
name?: string;
|
|
11
11
|
description?: string;
|
|
12
12
|
colorSlot?: SegmentColorSlotEnum;
|
|
13
|
-
/** Reemplaza la lista entera; `[]` deja el segmento sin
|
|
14
|
-
|
|
13
|
+
/** Reemplaza la lista entera; `[]` deja el segmento sin cohorts. */
|
|
14
|
+
cohortIds?: string[];
|
|
15
15
|
/** Reemplaza la lista entera; `[]` saca a todos los agregados a mano. */
|
|
16
16
|
memberIds?: string[];
|
|
17
17
|
reason?: string;
|
|
@@ -48,8 +48,10 @@ __decorate([
|
|
|
48
48
|
(0, class_validator_1.IsOptional)(),
|
|
49
49
|
(0, class_validator_1.IsArray)(),
|
|
50
50
|
(0, class_validator_1.IsString)({ each: true }),
|
|
51
|
+
(0, class_validator_1.IsNotEmpty)({ each: true }),
|
|
52
|
+
(0, class_validator_1.ArrayMaxSize)(20),
|
|
51
53
|
__metadata("design:type", Array)
|
|
52
|
-
], UpdateSegmentRequest.prototype, "
|
|
54
|
+
], UpdateSegmentRequest.prototype, "cohortIds", void 0);
|
|
53
55
|
__decorate([
|
|
54
56
|
(0, class_transformer_1.Expose)(),
|
|
55
57
|
(0, class_validator_1.IsOptional)(),
|