@fiado/type-kit 3.596.0 → 3.598.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/customerMessages/customerMessagesContract.test.ts +71 -0
- package/_test_/unit/messageMoments/MessageMomentClassification.test.ts +85 -0
- package/_test_/unit/retailPromotions/constants.test.ts +1 -2
- package/_test_/unit/rules/segmentRelation.test.ts +62 -0
- package/bin/customerMessages/constants/CustomerMessageLimits.d.ts +7 -0
- package/bin/customerMessages/constants/CustomerMessageLimits.js +13 -0
- package/bin/customerMessages/dtos/requests/CustomerManualMessageRequest.d.ts +6 -0
- package/bin/customerMessages/dtos/requests/CustomerManualMessageRequest.js +31 -0
- package/bin/customerMessages/dtos/requests/CustomerMessageHistoryQuery.d.ts +8 -0
- package/bin/customerMessages/dtos/requests/CustomerMessageHistoryQuery.js +40 -0
- package/bin/customerMessages/dtos/responses/CollectionQuotaDay.d.ts +9 -0
- package/bin/customerMessages/dtos/responses/CollectionQuotaDay.js +7 -0
- package/bin/customerMessages/dtos/responses/CollectionQuotaResponse.d.ts +8 -0
- package/bin/customerMessages/dtos/responses/CollectionQuotaResponse.js +7 -0
- package/bin/customerMessages/dtos/responses/CustomerManualMessageResponse.d.ts +4 -0
- package/bin/customerMessages/dtos/responses/CustomerManualMessageResponse.js +7 -0
- package/bin/customerMessages/dtos/responses/CustomerMessageHistoryItem.d.ts +19 -0
- package/bin/customerMessages/dtos/responses/CustomerMessageHistoryItem.js +7 -0
- package/bin/customerMessages/dtos/responses/CustomerMessageHistoryResponse.d.ts +8 -0
- package/bin/customerMessages/dtos/responses/CustomerMessageHistoryResponse.js +7 -0
- package/bin/customerMessages/index.d.ts +8 -0
- package/bin/customerMessages/index.js +24 -0
- package/bin/index.d.ts +1 -0
- package/bin/index.js +3 -1
- package/bin/messageMoments/constants/MessageMomentCatalog.d.ts +11 -0
- package/bin/messageMoments/constants/MessageMomentCatalog.js +13 -1
- package/bin/messageMoments/constants/MessageMomentClassification.d.ts +19 -0
- package/bin/messageMoments/constants/MessageMomentClassification.js +51 -0
- package/bin/messageMoments/enums/MessageMomentCategoryEnum.d.ts +5 -0
- package/bin/messageMoments/enums/MessageMomentCategoryEnum.js +9 -0
- package/bin/messageMoments/index.d.ts +2 -0
- package/bin/messageMoments/index.js +2 -0
- package/bin/retailPromotions/constants/retailPromotionsErrorHttpStatus.js +0 -1
- package/bin/retailPromotions/enums/RetailPromotionsErrorCodeEnum.d.ts +0 -2
- package/bin/retailPromotions/enums/RetailPromotionsErrorCodeEnum.js +0 -2
- package/bin/rules/dtos/population/SegmentGroup.d.ts +2 -1
- package/bin/rules/dtos/population/SegmentGroup.js +2 -0
- package/bin/rules/dtos/population/SegmentRelationCondition.d.ts +18 -0
- package/bin/rules/dtos/population/SegmentRelationCondition.js +69 -0
- package/bin/rules/enums/SegmentConditionKindEnum.d.ts +2 -1
- package/bin/rules/enums/SegmentConditionKindEnum.js +1 -0
- package/bin/rules/enums/SegmentRelationQuantifierKindEnum.d.ts +5 -0
- package/bin/rules/enums/SegmentRelationQuantifierKindEnum.js +9 -0
- package/bin/rules/index.d.ts +2 -0
- package/bin/rules/index.js +2 -0
- package/package.json +1 -1
- package/src/customerMessages/constants/CustomerMessageLimits.ts +13 -0
- package/src/customerMessages/dtos/requests/CustomerManualMessageRequest.ts +16 -0
- package/src/customerMessages/dtos/requests/CustomerMessageHistoryQuery.ts +25 -0
- package/src/customerMessages/dtos/responses/CollectionQuotaDay.ts +10 -0
- package/src/customerMessages/dtos/responses/CollectionQuotaResponse.ts +9 -0
- package/src/customerMessages/dtos/responses/CustomerManualMessageResponse.ts +4 -0
- package/src/customerMessages/dtos/responses/CustomerMessageHistoryItem.ts +20 -0
- package/src/customerMessages/dtos/responses/CustomerMessageHistoryResponse.ts +9 -0
- package/src/customerMessages/index.ts +8 -0
- package/src/index.ts +3 -0
- package/src/messageMoments/constants/MessageMomentCatalog.ts +20 -1
- package/src/messageMoments/constants/MessageMomentClassification.ts +56 -0
- package/src/messageMoments/enums/MessageMomentCategoryEnum.ts +5 -0
- package/src/messageMoments/index.ts +2 -0
- package/src/retailPromotions/constants/retailPromotionsErrorHttpStatus.ts +0 -1
- package/src/retailPromotions/enums/RetailPromotionsErrorCodeEnum.ts +0 -2
- package/src/rules/dtos/population/SegmentGroup.ts +3 -1
- package/src/rules/dtos/population/SegmentRelationCondition.ts +25 -0
- package/src/rules/enums/SegmentConditionKindEnum.ts +1 -0
- package/src/rules/enums/SegmentRelationQuantifierKindEnum.ts +5 -0
- package/src/rules/index.ts +2 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Expose, Type } from 'class-transformer';
|
|
2
|
+
import { ArrayMaxSize, Equals, IsArray, IsEnum, IsNumber, IsOptional, Matches, ValidateIf, ValidateNested } from 'class-validator';
|
|
3
|
+
import { RULES_RELATION_NAME_PATTERN } from '../../constants/RulesRelationLimits';
|
|
4
|
+
import { SegmentConditionKindEnum } from '../../enums/SegmentConditionKindEnum';
|
|
5
|
+
import { SegmentOperatorEnum } from '../../enums/SegmentOperatorEnum';
|
|
6
|
+
import { SegmentRelationQuantifierKindEnum } from '../../enums/SegmentRelationQuantifierKindEnum';
|
|
7
|
+
import { SegmentColumnCondition } from './SegmentColumnCondition';
|
|
8
|
+
|
|
9
|
+
/** Cuantificador de una relacion 1:N. COUNT exige `op` y `value`; ANY/ALL no los llevan. */
|
|
10
|
+
export class SegmentRelationQuantifier {
|
|
11
|
+
@Expose() @IsEnum(SegmentRelationQuantifierKindEnum) kind: SegmentRelationQuantifierKindEnum;
|
|
12
|
+
@Expose() @ValidateIf((q: SegmentRelationQuantifier) => q.kind === SegmentRelationQuantifierKindEnum.COUNT || q.op !== undefined)
|
|
13
|
+
@IsEnum(SegmentOperatorEnum) op?: SegmentOperatorEnum;
|
|
14
|
+
@Expose() @ValidateIf((q: SegmentRelationQuantifier) => q.kind === SegmentRelationQuantifierKindEnum.COUNT || q.value !== undefined)
|
|
15
|
+
@IsNumber() value?: number;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** (c) Condicion sobre los relacionados de la persona (referidor / referidos). `filters` se aplica a cada relacionado. */
|
|
19
|
+
export class SegmentRelationCondition {
|
|
20
|
+
@Expose() @Equals(SegmentConditionKindEnum.RELATION) kind: SegmentConditionKindEnum.RELATION;
|
|
21
|
+
@Expose() @Matches(RULES_RELATION_NAME_PATTERN) relation: string;
|
|
22
|
+
/** MANY: obligatorio; ONE: ausente (lo valida el compilador, no el DTO). */
|
|
23
|
+
@Expose() @IsOptional() @ValidateNested() @Type(() => SegmentRelationQuantifier) quantifier?: SegmentRelationQuantifier;
|
|
24
|
+
@Expose() @IsArray() @ArrayMaxSize(10) @ValidateNested({ each: true }) @Type(() => SegmentColumnCondition) filters: SegmentColumnCondition[];
|
|
25
|
+
}
|
package/src/rules/index.ts
CHANGED
|
@@ -27,6 +27,7 @@ export * from './dtos/EvaluateRulesResponse';
|
|
|
27
27
|
export * from './enums/SegmentMatchEnum';
|
|
28
28
|
export * from './enums/SegmentOutputEnum';
|
|
29
29
|
export * from './enums/SegmentConditionKindEnum';
|
|
30
|
+
export * from './enums/SegmentRelationQuantifierKindEnum';
|
|
30
31
|
export * from './enums/SegmentAggregateFnEnum';
|
|
31
32
|
export * from './enums/SegmentOperatorEnum';
|
|
32
33
|
export * from './enums/SegmentParamTypeEnum';
|
|
@@ -35,6 +36,7 @@ export * from './constants/SegmentLimits';
|
|
|
35
36
|
export * from './dtos/population/SegmentWindow';
|
|
36
37
|
export * from './dtos/population/SegmentColumnCondition';
|
|
37
38
|
export * from './dtos/population/SegmentAggregateCondition';
|
|
39
|
+
export * from './dtos/population/SegmentRelationCondition';
|
|
38
40
|
export * from './dtos/population/SegmentGroup';
|
|
39
41
|
export * from './dtos/population/PopulationSegmentDefinition';
|
|
40
42
|
export * from './dtos/population/SegmentParam';
|