@fiado/type-kit 3.183.0 → 3.185.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/retailOrg/dtos/RetailUser.test.ts +30 -0
- package/_test_/unit/retailOrg/dtos/Retailer.test.ts +1 -1
- package/_test_/unit/retailOrg/dtos/Store.test.ts +2 -2
- package/_test_/unit/retailOrg/dtos/requests/retailUserRequests.test.ts +34 -0
- package/_test_/unit/retailOrg/dtos/requests/retailerRequests.test.ts +9 -9
- package/_test_/unit/retailOrg/dtos/requests/storeRequests.test.ts +2 -2
- package/_test_/unit/retailOrg/dtos/responses/RetailerHierarchyResponse.test.ts +1 -1
- package/_test_/unit/retailOrg/dtos/validation/validationDtos.test.ts +2 -2
- package/_test_/unit/retailOrg/enums/CollectorSeniorityEnum.test.ts +12 -0
- package/_test_/unit/retailOrg/enums/RetailerTypeEnum.test.ts +5 -5
- package/bin/benefitCenter/enums/BenefitFlowEnum.d.ts +11 -0
- package/bin/benefitCenter/enums/BenefitFlowEnum.js +15 -0
- package/bin/cognitoBackofficeConnector/dtos/MfaPoolConfig.d.ts +7 -0
- package/bin/cognitoBackofficeConnector/dtos/MfaPoolConfig.js +36 -0
- package/bin/cognitoBackofficeConnector/dtos/PoolConfigResponse.d.ts +20 -0
- package/bin/cognitoBackofficeConnector/dtos/PoolConfigResponse.js +11 -0
- package/bin/cognitoBackofficeConnector/dtos/PoolsListResponse.d.ts +4 -0
- package/bin/cognitoBackofficeConnector/dtos/PoolsListResponse.js +6 -0
- package/bin/cognitoBackofficeConnector/validators/MfaTypesRequiresOne.d.ts +17 -0
- package/bin/cognitoBackofficeConnector/validators/MfaTypesRequiresOne.js +39 -0
- package/bin/index.d.ts +1 -0
- package/bin/index.js +3 -1
- package/bin/loanConfig/dtos/Parameter.d.ts +23 -0
- package/bin/loanConfig/dtos/Parameter.js +93 -0
- package/bin/loanConfig/dtos/requests/BulkGetParametersRequest.d.ts +9 -0
- package/bin/loanConfig/dtos/requests/BulkGetParametersRequest.js +40 -0
- package/bin/loanConfig/dtos/requests/BulkUpdateParametersRequest.d.ts +11 -0
- package/bin/loanConfig/dtos/requests/BulkUpdateParametersRequest.js +52 -0
- package/bin/loanConfig/dtos/requests/UpdateParameterRequest.d.ts +8 -0
- package/bin/loanConfig/dtos/requests/UpdateParameterRequest.js +33 -0
- package/bin/loanConfig/dtos/responses/ParameterResponse.d.ts +28 -0
- package/bin/loanConfig/dtos/responses/ParameterResponse.js +2 -0
- package/bin/loanConfig/enums/ModifiableByRoleEnum.d.ts +11 -0
- package/bin/loanConfig/enums/ModifiableByRoleEnum.js +15 -0
- package/bin/loanConfig/enums/ParameterTypeEnum.d.ts +20 -0
- package/bin/loanConfig/enums/ParameterTypeEnum.js +24 -0
- package/bin/loanConfig/enums/ParameterValueTypeEnum.d.ts +11 -0
- package/bin/loanConfig/enums/ParameterValueTypeEnum.js +15 -0
- package/bin/loanConfig/index.d.ts +8 -0
- package/bin/loanConfig/index.js +27 -0
- package/bin/places/dtos/CashInFeeDto.d.ts +17 -0
- package/bin/places/dtos/CashInFeeDto.js +12 -0
- package/bin/rbac/enums/PoolKind.d.ts +16 -0
- package/bin/rbac/enums/PoolKind.js +20 -0
- package/bin/rbac/index.d.ts +1 -0
- package/bin/rbac/index.js +17 -0
- package/bin/retailOrg/dtos/RetailUser.d.ts +7 -0
- package/bin/retailOrg/dtos/RetailUser.js +20 -0
- package/bin/retailOrg/dtos/Store.d.ts +6 -2
- package/bin/retailOrg/dtos/Store.js +1 -1
- package/bin/retailOrg/dtos/requests/CreateRetailUserRequest.d.ts +7 -0
- package/bin/retailOrg/dtos/requests/CreateRetailUserRequest.js +20 -0
- package/bin/retailOrg/dtos/requests/CreateStoreRequest.d.ts +6 -2
- package/bin/retailOrg/dtos/requests/CreateStoreRequest.js +1 -1
- package/bin/retailOrg/dtos/requests/CreateSubdistributorRequest.d.ts +3 -3
- package/bin/retailOrg/dtos/requests/CreateSubdistributorRequest.js +3 -3
- package/bin/retailOrg/dtos/requests/UpdateRetailUserRequest.d.ts +7 -0
- package/bin/retailOrg/dtos/requests/UpdateRetailUserRequest.js +20 -0
- package/bin/retailOrg/dtos/requests/UpdateStoreRequest.d.ts +2 -1
- package/bin/retailOrg/dtos/requests/UpdateStoreRequest.js +1 -1
- package/bin/retailOrg/enums/CollectorSeniorityEnum.d.ts +12 -0
- package/bin/retailOrg/enums/CollectorSeniorityEnum.js +16 -0
- package/bin/retailOrg/enums/RetailerTypeEnum.d.ts +6 -6
- package/bin/retailOrg/enums/RetailerTypeEnum.js +6 -6
- package/bin/retailOrg/index.d.ts +1 -0
- package/bin/retailOrg/index.js +1 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +5 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceRequest.js +31 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +7 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +6 -0
- package/bin/walletFunding/dtos/CancelFundingRequest.d.ts +11 -0
- package/bin/walletFunding/dtos/CancelFundingRequest.js +33 -0
- package/bin/walletFunding/dtos/CancelFundingResponse.d.ts +14 -0
- package/bin/walletFunding/dtos/CancelFundingResponse.js +12 -0
- package/bin/walletFunding/dtos/CancelWalletFundingRequest.d.ts +3 -0
- package/bin/walletFunding/dtos/CancelWalletFundingRequest.js +21 -0
- package/bin/walletFunding/dtos/CancelWalletFundingResponse.d.ts +7 -0
- package/bin/walletFunding/dtos/CancelWalletFundingResponse.js +6 -0
- package/package.json +1 -1
- package/src/index.ts +2 -0
- package/src/loanConfig/dtos/Parameter.ts +68 -0
- package/src/loanConfig/dtos/requests/BulkGetParametersRequest.ts +23 -0
- package/src/loanConfig/dtos/requests/BulkUpdateParametersRequest.ts +33 -0
- package/src/loanConfig/dtos/requests/UpdateParameterRequest.ts +18 -0
- package/src/loanConfig/dtos/responses/ParameterResponse.ts +28 -0
- package/src/loanConfig/enums/ModifiableByRoleEnum.ts +11 -0
- package/src/loanConfig/enums/ParameterTypeEnum.ts +20 -0
- package/src/loanConfig/enums/ParameterValueTypeEnum.ts +11 -0
- package/src/loanConfig/index.ts +14 -0
- package/src/retailOrg/dtos/RetailUser.ts +21 -1
- package/src/retailOrg/dtos/Store.ts +6 -2
- package/src/retailOrg/dtos/requests/CreateRetailUserRequest.ts +21 -1
- package/src/retailOrg/dtos/requests/CreateStoreRequest.ts +6 -2
- package/src/retailOrg/dtos/requests/CreateSubdistributorRequest.ts +4 -4
- package/src/retailOrg/dtos/requests/UpdateRetailUserRequest.ts +21 -1
- package/src/retailOrg/dtos/requests/UpdateStoreRequest.ts +2 -1
- package/src/retailOrg/enums/CollectorSeniorityEnum.ts +12 -0
- package/src/retailOrg/enums/RetailerTypeEnum.ts +6 -6
- package/src/retailOrg/index.ts +1 -0
|
@@ -4,6 +4,7 @@ import { validate } from 'class-validator';
|
|
|
4
4
|
import { RetailUser } from '../../../../src/retailOrg/dtos/RetailUser';
|
|
5
5
|
import { EmploymentTypeEnum } from '../../../../src/retailOrg/enums/EmploymentTypeEnum';
|
|
6
6
|
import { RetailUserStatusEnum } from '../../../../src/retailOrg/enums/RetailUserStatusEnum';
|
|
7
|
+
import { CollectorSeniorityEnum } from '../../../../src/retailOrg/enums/CollectorSeniorityEnum';
|
|
7
8
|
|
|
8
9
|
const valid = {
|
|
9
10
|
retailUserId: 'ru_001',
|
|
@@ -33,6 +34,35 @@ describe('RetailUser', () => {
|
|
|
33
34
|
expect(errors).toEqual([]);
|
|
34
35
|
});
|
|
35
36
|
|
|
37
|
+
it('valida sin los campos de cobrador (phone/collectorSeniority/coverageStoreIds ausentes)', async () => {
|
|
38
|
+
const dto = plainToInstance(RetailUser, valid);
|
|
39
|
+
const errors = await validate(dto);
|
|
40
|
+
expect(errors).toEqual([]);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it('valida con los campos de cobrador presentes', async () => {
|
|
44
|
+
const dto = plainToInstance(RetailUser, {
|
|
45
|
+
...valid,
|
|
46
|
+
phone: '+528112345678',
|
|
47
|
+
collectorSeniority: CollectorSeniorityEnum.SENIOR,
|
|
48
|
+
coverageStoreIds: ['store_001', 'store_002'],
|
|
49
|
+
});
|
|
50
|
+
const errors = await validate(dto);
|
|
51
|
+
expect(errors).toEqual([]);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it('falla si collectorSeniority está fuera del enum', async () => {
|
|
55
|
+
const dto = plainToInstance(RetailUser, { ...valid, collectorSeniority: 'MASTER' });
|
|
56
|
+
const errors = await validate(dto);
|
|
57
|
+
expect(errors.some(e => e.property === 'collectorSeniority')).toBe(true);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it('falla si coverageStoreIds no es un array de strings', async () => {
|
|
61
|
+
const dto = plainToInstance(RetailUser, { ...valid, coverageStoreIds: [1, 2] });
|
|
62
|
+
const errors = await validate(dto);
|
|
63
|
+
expect(errors.some(e => e.property === 'coverageStoreIds')).toBe(true);
|
|
64
|
+
});
|
|
65
|
+
|
|
36
66
|
it('falla si employmentType está fuera del enum', async () => {
|
|
37
67
|
const dto = plainToInstance(RetailUser, { ...valid, employmentType: 'INTERN' });
|
|
38
68
|
const errors = await validate(dto);
|
|
@@ -8,7 +8,7 @@ import { RetailerStatusEnum } from '../../../../src/retailOrg/enums/RetailerStat
|
|
|
8
8
|
const valid = {
|
|
9
9
|
retailerId: 'ret_001',
|
|
10
10
|
parentId: 'ROOT',
|
|
11
|
-
type: RetailerTypeEnum.
|
|
11
|
+
type: RetailerTypeEnum.CHAIN,
|
|
12
12
|
name: 'Tiendas del Centro',
|
|
13
13
|
legalName: 'Tiendas del Centro SA de CV',
|
|
14
14
|
rfc: 'VEN123456ABC',
|
|
@@ -15,7 +15,7 @@ const valid = {
|
|
|
15
15
|
phone: '+528112345678',
|
|
16
16
|
managerRetailUserId: 'ru_010',
|
|
17
17
|
schedule: 'L-V 9:00-18:00',
|
|
18
|
-
|
|
18
|
+
dailyAvgCollectionsCount: 12,
|
|
19
19
|
status: StoreStatusEnum.ACTIVE,
|
|
20
20
|
createdAt: '2026-07-14T10:00:00.000Z',
|
|
21
21
|
updatedAt: '2026-07-14T10:00:00.000Z',
|
|
@@ -36,7 +36,7 @@ describe('Store', () => {
|
|
|
36
36
|
zoneId: null,
|
|
37
37
|
managerRetailUserId: null,
|
|
38
38
|
schedule: null,
|
|
39
|
-
|
|
39
|
+
dailyAvgCollectionsCount: null,
|
|
40
40
|
});
|
|
41
41
|
const errors = await validate(dto);
|
|
42
42
|
expect(errors).toEqual([]);
|
|
@@ -7,6 +7,7 @@ import { ChangeRetailUserStatusRequest } from '../../../../../src/retailOrg/dtos
|
|
|
7
7
|
import { TransferRetailUserRequest } from '../../../../../src/retailOrg/dtos/requests/TransferRetailUserRequest';
|
|
8
8
|
import { EmploymentTypeEnum } from '../../../../../src/retailOrg/enums/EmploymentTypeEnum';
|
|
9
9
|
import { RetailUserStatusEnum } from '../../../../../src/retailOrg/enums/RetailUserStatusEnum';
|
|
10
|
+
import { CollectorSeniorityEnum } from '../../../../../src/retailOrg/enums/CollectorSeniorityEnum';
|
|
10
11
|
|
|
11
12
|
const validCreate = {
|
|
12
13
|
cognitoSub: '5f7c8a90-1234-4abc-9def-0123456789ab',
|
|
@@ -29,6 +30,23 @@ describe('CreateRetailUserRequest', () => {
|
|
|
29
30
|
expect(errors).toEqual([]);
|
|
30
31
|
});
|
|
31
32
|
|
|
33
|
+
it('valida con los campos de cobrador presentes', async () => {
|
|
34
|
+
const dto = plainToInstance(CreateRetailUserRequest, {
|
|
35
|
+
...validCreate,
|
|
36
|
+
phone: '+528112345678',
|
|
37
|
+
collectorSeniority: CollectorSeniorityEnum.JUNIOR,
|
|
38
|
+
coverageStoreIds: ['store_001', 'store_002'],
|
|
39
|
+
});
|
|
40
|
+
const errors = await validate(dto);
|
|
41
|
+
expect(errors).toEqual([]);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it('falla si collectorSeniority está fuera del enum', async () => {
|
|
45
|
+
const dto = plainToInstance(CreateRetailUserRequest, { ...validCreate, collectorSeniority: 'MASTER' });
|
|
46
|
+
const errors = await validate(dto);
|
|
47
|
+
expect(errors.some(e => e.property === 'collectorSeniority')).toBe(true);
|
|
48
|
+
});
|
|
49
|
+
|
|
32
50
|
it('falla si employmentType está fuera del enum', async () => {
|
|
33
51
|
const dto = plainToInstance(CreateRetailUserRequest, { ...validCreate, employmentType: 'INTERN' });
|
|
34
52
|
const errors = await validate(dto);
|
|
@@ -55,6 +73,22 @@ describe('UpdateRetailUserRequest', () => {
|
|
|
55
73
|
const errors = await validate(dto);
|
|
56
74
|
expect(errors.some(e => e.property === 'employmentType')).toBe(true);
|
|
57
75
|
});
|
|
76
|
+
|
|
77
|
+
it('valida con los campos de cobrador presentes', async () => {
|
|
78
|
+
const dto = plainToInstance(UpdateRetailUserRequest, {
|
|
79
|
+
phone: '+528112345678',
|
|
80
|
+
collectorSeniority: CollectorSeniorityEnum.SENIOR,
|
|
81
|
+
coverageStoreIds: ['store_003'],
|
|
82
|
+
});
|
|
83
|
+
const errors = await validate(dto);
|
|
84
|
+
expect(errors).toEqual([]);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
it('falla si collectorSeniority enviado está fuera del enum', async () => {
|
|
88
|
+
const dto = plainToInstance(UpdateRetailUserRequest, { collectorSeniority: 'MASTER' });
|
|
89
|
+
const errors = await validate(dto);
|
|
90
|
+
expect(errors.some(e => e.property === 'collectorSeniority')).toBe(true);
|
|
91
|
+
});
|
|
58
92
|
});
|
|
59
93
|
|
|
60
94
|
describe('ChangeRetailUserStatusRequest', () => {
|
|
@@ -18,7 +18,7 @@ const address = {
|
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
const validCreate = {
|
|
21
|
-
type: RetailerTypeEnum.
|
|
21
|
+
type: RetailerTypeEnum.CHAIN,
|
|
22
22
|
name: 'Tiendas del Centro',
|
|
23
23
|
legalName: 'Tiendas del Centro SA de CV',
|
|
24
24
|
rfc: 'VEN123456ABC',
|
|
@@ -91,7 +91,7 @@ describe('UpdateRetailerRequest', () => {
|
|
|
91
91
|
it('NO permite editar rfc/type/status (no están en el shape)', () => {
|
|
92
92
|
const dto = plainToInstance(
|
|
93
93
|
UpdateRetailerRequest,
|
|
94
|
-
{ rfc: 'X', type: '
|
|
94
|
+
{ rfc: 'X', type: 'CHAIN', status: 'ACTIVE' } as object,
|
|
95
95
|
{ excludeExtraneousValues: true },
|
|
96
96
|
);
|
|
97
97
|
expect((dto as unknown as Record<string, unknown>).rfc).toBeUndefined();
|
|
@@ -115,28 +115,28 @@ describe('ChangeRetailerStatusRequest', () => {
|
|
|
115
115
|
});
|
|
116
116
|
|
|
117
117
|
describe('CreateSubdistributorRequest', () => {
|
|
118
|
-
it('valida
|
|
118
|
+
it('valida SUBDISTRIBUTOR', async () => {
|
|
119
119
|
const dto = plainToInstance(CreateSubdistributorRequest, {
|
|
120
120
|
...validCreate,
|
|
121
|
-
type: RetailerTypeEnum.
|
|
121
|
+
type: RetailerTypeEnum.SUBDISTRIBUTOR,
|
|
122
122
|
});
|
|
123
123
|
const errors = await validate(dto);
|
|
124
124
|
expect(errors).toEqual([]);
|
|
125
125
|
});
|
|
126
126
|
|
|
127
|
-
it('valida
|
|
127
|
+
it('valida FRANCHISE', async () => {
|
|
128
128
|
const dto = plainToInstance(CreateSubdistributorRequest, {
|
|
129
129
|
...validCreate,
|
|
130
|
-
type: RetailerTypeEnum.
|
|
130
|
+
type: RetailerTypeEnum.FRANCHISE,
|
|
131
131
|
});
|
|
132
132
|
const errors = await validate(dto);
|
|
133
133
|
expect(errors).toEqual([]);
|
|
134
134
|
});
|
|
135
135
|
|
|
136
|
-
it('falla si type es
|
|
136
|
+
it('falla si type es CHAIN (un subdistribuidor no puede ser cadena raíz)', async () => {
|
|
137
137
|
const dto = plainToInstance(CreateSubdistributorRequest, {
|
|
138
138
|
...validCreate,
|
|
139
|
-
type: RetailerTypeEnum.
|
|
139
|
+
type: RetailerTypeEnum.CHAIN,
|
|
140
140
|
});
|
|
141
141
|
const errors = await validate(dto);
|
|
142
142
|
expect(errors.some(e => e.property === 'type')).toBe(true);
|
|
@@ -145,7 +145,7 @@ describe('CreateSubdistributorRequest', () => {
|
|
|
145
145
|
it('NO expone parentId (viene del path param)', () => {
|
|
146
146
|
const dto = plainToInstance(
|
|
147
147
|
CreateSubdistributorRequest,
|
|
148
|
-
{ ...validCreate, type: RetailerTypeEnum.
|
|
148
|
+
{ ...validCreate, type: RetailerTypeEnum.SUBDISTRIBUTOR, parentId: 'ret_root' } as object,
|
|
149
149
|
{ excludeExtraneousValues: true },
|
|
150
150
|
);
|
|
151
151
|
expect((dto as unknown as Record<string, unknown>).parentId).toBeUndefined();
|
|
@@ -24,7 +24,7 @@ const validCreate = {
|
|
|
24
24
|
phone: '+528112345678',
|
|
25
25
|
managerRetailUserId: 'ru_010',
|
|
26
26
|
schedule: 'L-V 9:00-18:00',
|
|
27
|
-
|
|
27
|
+
dailyAvgCollectionsCount: 12,
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
describe('CreateStoreRequest', () => {
|
|
@@ -40,7 +40,7 @@ describe('CreateStoreRequest', () => {
|
|
|
40
40
|
zoneId: null,
|
|
41
41
|
managerRetailUserId: null,
|
|
42
42
|
schedule: null,
|
|
43
|
-
|
|
43
|
+
dailyAvgCollectionsCount: null,
|
|
44
44
|
});
|
|
45
45
|
const errors = await validate(dto);
|
|
46
46
|
expect(errors).toEqual([]);
|
|
@@ -12,12 +12,12 @@ describe('ValidationDtos (shapes mínimos de endpoints privados)', () => {
|
|
|
12
12
|
const dto: RetailerValidationDto = {
|
|
13
13
|
retailerId: 'ret_001',
|
|
14
14
|
name: 'Tiendas del Centro',
|
|
15
|
-
type: RetailerTypeEnum.
|
|
15
|
+
type: RetailerTypeEnum.CHAIN,
|
|
16
16
|
status: RetailerStatusEnum.ACTIVE,
|
|
17
17
|
parentId: 'ROOT',
|
|
18
18
|
};
|
|
19
19
|
expect(dto.retailerId).toBe('ret_001');
|
|
20
|
-
expect(dto.type).toBe(RetailerTypeEnum.
|
|
20
|
+
expect(dto.type).toBe(RetailerTypeEnum.CHAIN);
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
it('StoreValidationDto acepta el shape mínimo (zoneId nullable)', () => {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CollectorSeniorityEnum } from '../../../../src/retailOrg/enums/CollectorSeniorityEnum';
|
|
2
|
+
|
|
3
|
+
describe('CollectorSeniorityEnum', () => {
|
|
4
|
+
it('contiene exactamente los niveles del contrato con value === key', () => {
|
|
5
|
+
expect(CollectorSeniorityEnum.JUNIOR).toBe('JUNIOR');
|
|
6
|
+
expect(CollectorSeniorityEnum.SENIOR).toBe('SENIOR');
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
it('no tiene valores de más', () => {
|
|
10
|
+
expect(Object.values(CollectorSeniorityEnum).sort()).toEqual(['JUNIOR', 'SENIOR']);
|
|
11
|
+
});
|
|
12
|
+
});
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { RetailerTypeEnum } from '../../../../src/retailOrg/enums/RetailerTypeEnum';
|
|
2
2
|
|
|
3
3
|
describe('RetailerTypeEnum', () => {
|
|
4
|
-
it('contiene exactamente los tipos del contrato con value === key', () => {
|
|
5
|
-
expect(RetailerTypeEnum.
|
|
6
|
-
expect(RetailerTypeEnum.
|
|
7
|
-
expect(RetailerTypeEnum.
|
|
4
|
+
it('contiene exactamente los tipos del contrato con value === key (en inglés)', () => {
|
|
5
|
+
expect(RetailerTypeEnum.CHAIN).toBe('CHAIN');
|
|
6
|
+
expect(RetailerTypeEnum.SUBDISTRIBUTOR).toBe('SUBDISTRIBUTOR');
|
|
7
|
+
expect(RetailerTypeEnum.FRANCHISE).toBe('FRANCHISE');
|
|
8
8
|
});
|
|
9
9
|
|
|
10
10
|
it('no tiene valores de más', () => {
|
|
11
11
|
expect(Object.values(RetailerTypeEnum).sort()).toEqual(
|
|
12
|
-
['
|
|
12
|
+
['CHAIN', 'FRANCHISE', 'SUBDISTRIBUTOR'],
|
|
13
13
|
);
|
|
14
14
|
});
|
|
15
15
|
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare enum BenefitFlowEnum {
|
|
2
|
+
TOPUPS = "TOPUPS",
|
|
3
|
+
BILL_PAYMENT = "BILL_PAYMENT",
|
|
4
|
+
CREDIT = "CREDIT",
|
|
5
|
+
INSURANCE = "INSURANCE",
|
|
6
|
+
DONATION = "DONATION",
|
|
7
|
+
PHARMACY = "PHARMACY",
|
|
8
|
+
REMITTANCE = "REMITTANCE",
|
|
9
|
+
/** Fondeo de wallet PCF con efectivo via provider externo (Equality/Passport, OpenPay, …) — spec 13. */
|
|
10
|
+
WALLET_FUNDING = "WALLET_FUNDING"
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BenefitFlowEnum = void 0;
|
|
4
|
+
var BenefitFlowEnum;
|
|
5
|
+
(function (BenefitFlowEnum) {
|
|
6
|
+
BenefitFlowEnum["TOPUPS"] = "TOPUPS";
|
|
7
|
+
BenefitFlowEnum["BILL_PAYMENT"] = "BILL_PAYMENT";
|
|
8
|
+
BenefitFlowEnum["CREDIT"] = "CREDIT";
|
|
9
|
+
BenefitFlowEnum["INSURANCE"] = "INSURANCE";
|
|
10
|
+
BenefitFlowEnum["DONATION"] = "DONATION";
|
|
11
|
+
BenefitFlowEnum["PHARMACY"] = "PHARMACY";
|
|
12
|
+
BenefitFlowEnum["REMITTANCE"] = "REMITTANCE";
|
|
13
|
+
/** Fondeo de wallet PCF con efectivo via provider externo (Equality/Passport, OpenPay, …) — spec 13. */
|
|
14
|
+
BenefitFlowEnum["WALLET_FUNDING"] = "WALLET_FUNDING";
|
|
15
|
+
})(BenefitFlowEnum || (exports.BenefitFlowEnum = BenefitFlowEnum = {}));
|
|
@@ -0,0 +1,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.MfaPoolConfig = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const MfaTypesRequiresOne_1 = require("../validators/MfaTypesRequiresOne");
|
|
16
|
+
// EMAIL_OTP removido (3.41.0): el cognito-backoffice-connector no provisiona
|
|
17
|
+
// EmailMfaConfiguration a nivel pool (requiere infra SES que no está montada
|
|
18
|
+
// y la integración con messages-lambda aún no tiene diseño). Ver TD-020 +
|
|
19
|
+
// DEC-001 en cognito-backoffice-connector/docs/. Si se reintroduce, agregar
|
|
20
|
+
// 'EMAIL_OTP' a este array.
|
|
21
|
+
const ALLOWED_MFA_TYPES = ['SOFTWARE_TOKEN_MFA'];
|
|
22
|
+
class MfaPoolConfig {
|
|
23
|
+
}
|
|
24
|
+
exports.MfaPoolConfig = MfaPoolConfig;
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_transformer_1.Expose)(),
|
|
27
|
+
(0, class_validator_1.IsBoolean)(),
|
|
28
|
+
__metadata("design:type", Boolean)
|
|
29
|
+
], MfaPoolConfig.prototype, "requireMfa", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_transformer_1.Expose)(),
|
|
32
|
+
(0, class_validator_1.IsArray)(),
|
|
33
|
+
(0, class_validator_1.IsIn)(ALLOWED_MFA_TYPES, { each: true }),
|
|
34
|
+
(0, class_validator_1.Validate)(MfaTypesRequiresOne_1.MfaTypesRequiresOne),
|
|
35
|
+
__metadata("design:type", Array)
|
|
36
|
+
], MfaPoolConfig.prototype, "mfaTypes", void 0);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PoolKind } from '../../rbac/enums/PoolKind';
|
|
2
|
+
/**
|
|
3
|
+
* Shape del `PoolConfigRow` expuesto al caller (BFF M18 / otros lambdas Fiado).
|
|
4
|
+
* Refleja la configuración de un Cognito User Pool registrado en la tabla
|
|
5
|
+
* `PoolConfigs_GT` del lambda `cognito-backoffice-connector`.
|
|
6
|
+
*/
|
|
7
|
+
export declare class PoolConfigResponse {
|
|
8
|
+
userPoolId: string;
|
|
9
|
+
userPoolArn: string;
|
|
10
|
+
region: string;
|
|
11
|
+
poolKind: PoolKind;
|
|
12
|
+
displayName: string;
|
|
13
|
+
appClients: Record<string, {
|
|
14
|
+
clientId: string;
|
|
15
|
+
clientName: string;
|
|
16
|
+
}>;
|
|
17
|
+
status: 'active' | 'deprecated';
|
|
18
|
+
createdAt: number;
|
|
19
|
+
updatedAt: number;
|
|
20
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PoolConfigResponse = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Shape del `PoolConfigRow` expuesto al caller (BFF M18 / otros lambdas Fiado).
|
|
6
|
+
* Refleja la configuración de un Cognito User Pool registrado en la tabla
|
|
7
|
+
* `PoolConfigs_GT` del lambda `cognito-backoffice-connector`.
|
|
8
|
+
*/
|
|
9
|
+
class PoolConfigResponse {
|
|
10
|
+
}
|
|
11
|
+
exports.PoolConfigResponse = PoolConfigResponse;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ValidatorConstraintInterface, ValidationArguments } from 'class-validator';
|
|
2
|
+
/**
|
|
3
|
+
* Cross-field validator: si `requireMfa: true`, entonces `mfaTypes` debe tener
|
|
4
|
+
* al menos 1 elemento. Si `requireMfa: false`, `mfaTypes` puede ser vacío.
|
|
5
|
+
*
|
|
6
|
+
* Razón: cuando el pool nace con MFA habilitado, el connector llama
|
|
7
|
+
* `SetUserPoolMfaConfigCommand` con la lista de tipos del DTO. Si el array
|
|
8
|
+
* llega vacío con `requireMfa: true`, el SDK rechaza con InvalidParameterException
|
|
9
|
+
* y el pool queda en estado inconsistente (MfaConfiguration:'ON' sin tipos).
|
|
10
|
+
* Mejor rechazar en validación del DTO antes de tocar AWS.
|
|
11
|
+
*
|
|
12
|
+
* Ver pivote v1.4.1 TD-017 cerrado + spec doc §1 R3.
|
|
13
|
+
*/
|
|
14
|
+
export declare class MfaTypesRequiresOne implements ValidatorConstraintInterface {
|
|
15
|
+
validate(mfaTypes: unknown, args: ValidationArguments): boolean;
|
|
16
|
+
defaultMessage(): string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.MfaTypesRequiresOne = void 0;
|
|
10
|
+
const class_validator_1 = require("class-validator");
|
|
11
|
+
/**
|
|
12
|
+
* Cross-field validator: si `requireMfa: true`, entonces `mfaTypes` debe tener
|
|
13
|
+
* al menos 1 elemento. Si `requireMfa: false`, `mfaTypes` puede ser vacío.
|
|
14
|
+
*
|
|
15
|
+
* Razón: cuando el pool nace con MFA habilitado, el connector llama
|
|
16
|
+
* `SetUserPoolMfaConfigCommand` con la lista de tipos del DTO. Si el array
|
|
17
|
+
* llega vacío con `requireMfa: true`, el SDK rechaza con InvalidParameterException
|
|
18
|
+
* y el pool queda en estado inconsistente (MfaConfiguration:'ON' sin tipos).
|
|
19
|
+
* Mejor rechazar en validación del DTO antes de tocar AWS.
|
|
20
|
+
*
|
|
21
|
+
* Ver pivote v1.4.1 TD-017 cerrado + spec doc §1 R3.
|
|
22
|
+
*/
|
|
23
|
+
let MfaTypesRequiresOne = class MfaTypesRequiresOne {
|
|
24
|
+
validate(mfaTypes, args) {
|
|
25
|
+
const obj = args.object;
|
|
26
|
+
if (obj.requireMfa === true) {
|
|
27
|
+
return Array.isArray(mfaTypes) && mfaTypes.length >= 1;
|
|
28
|
+
}
|
|
29
|
+
// requireMfa: false → cualquier mfaTypes pasa.
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
defaultMessage() {
|
|
33
|
+
return 'mfaTypes requiere al menos un tipo cuando requireMfa=true';
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
exports.MfaTypesRequiresOne = MfaTypesRequiresOne;
|
|
37
|
+
exports.MfaTypesRequiresOne = MfaTypesRequiresOne = __decorate([
|
|
38
|
+
(0, class_validator_1.ValidatorConstraint)({ name: 'MfaTypesRequiresOneWhenMfaRequired', async: false })
|
|
39
|
+
], MfaTypesRequiresOne);
|
package/bin/index.d.ts
CHANGED
|
@@ -89,5 +89,6 @@ export * as Modelias from './modelias';
|
|
|
89
89
|
export * as NetworkConnector from './networkConnector';
|
|
90
90
|
export * as EmailVerification from './emailVerification';
|
|
91
91
|
export * as RetailOrg from './retailOrg';
|
|
92
|
+
export * as LoanConfig from './loanConfig';
|
|
92
93
|
export * from './messaging';
|
|
93
94
|
export * from './complaint';
|
package/bin/index.js
CHANGED
|
@@ -37,7 +37,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.Device = exports.Observations = exports.IssuanceBusiness = exports.Blacklist = exports.CentralPayments = exports.Helpdesk = exports.FiadoApiResponse = exports.Auth = exports.LegalDocumentsBusiness = exports.Role = exports.STPAccount = exports.RiskProfile = exports.FraudPreventionEngine = exports.BBVARst = exports.Stp = exports.BenefitCenter = exports.BankAccount = exports.P2pContact = exports.CreditContract = exports.Contract = exports.ProductCatalog = exports.ContactInfo = exports.TransactionAnalytics = exports.Transaction = exports.TransactionProcessor = exports.GenericMessage = exports.EventBridgeMessage = exports.SessionActivity = exports.NotificationMessages = exports.ServicePayment = exports.Header = exports.Identity = exports.UserTags = exports.Group = exports.File = exports.ExchangeRate = exports.Directory = exports.Currency = exports.Country = exports.Card = exports.Authentication = exports.AppContent = exports.App = exports.Offices = exports.Places = exports.Address = exports.Beneficiary = exports.Activity = exports.Account = exports.Crypto = void 0;
|
|
40
|
-
exports.RetailOrg = exports.EmailVerification = exports.NetworkConnector = exports.Modelias = exports.TotpSecurity = exports.Passport = exports.WalletFunding = exports.Remittance = exports.PlatformRbac = exports.CognitoBackofficeConnector = exports.TwilioConnector = exports.MessagesConnector = exports.Mdm = exports.MilestoneBusiness = exports.CirculoCredito = exports.CreditStatements = exports.Sentry = exports.AiEngine = exports.Funnel = exports.TeamsConnector = exports.PlatformErrorEvents = exports.CustomerFile = exports.CreditBackoffice = exports.CreditDashboard = exports.CreditEngine = exports.Credit = exports.ComissionBusiness = exports.ReferralBusiness = exports.ZendeskMessaging = exports.NotificationWS = exports.Event = exports.PayrollBusiness = exports.Cnbv = exports.DirectorySetting = exports.InvoiceCollector = exports.Collector = exports.Pricelist = exports.Company = exports.Services = exports.AccountIssuanceBusiness = exports.AppSelectionData = void 0;
|
|
40
|
+
exports.LoanConfig = exports.RetailOrg = exports.EmailVerification = exports.NetworkConnector = exports.Modelias = exports.TotpSecurity = exports.Passport = exports.WalletFunding = exports.Remittance = exports.PlatformRbac = exports.CognitoBackofficeConnector = exports.TwilioConnector = exports.MessagesConnector = exports.Mdm = exports.MilestoneBusiness = exports.CirculoCredito = exports.CreditStatements = exports.Sentry = exports.AiEngine = exports.Funnel = exports.TeamsConnector = exports.PlatformErrorEvents = exports.CustomerFile = exports.CreditBackoffice = exports.CreditDashboard = exports.CreditEngine = exports.Credit = exports.ComissionBusiness = exports.ReferralBusiness = exports.ZendeskMessaging = exports.NotificationWS = exports.Event = exports.PayrollBusiness = exports.Cnbv = exports.DirectorySetting = exports.InvoiceCollector = exports.Collector = exports.Pricelist = exports.Company = exports.Services = exports.AccountIssuanceBusiness = exports.AppSelectionData = void 0;
|
|
41
41
|
exports.Crypto = __importStar(require("./crypto"));
|
|
42
42
|
exports.Account = __importStar(require("./account"));
|
|
43
43
|
exports.Activity = __importStar(require("./activity"));
|
|
@@ -143,5 +143,7 @@ exports.EmailVerification = __importStar(require("./emailVerification"));
|
|
|
143
143
|
// RetailOrg: DTOs/enums del lambda retail-org-business (SureKeep Fase 1 — pista Retail).
|
|
144
144
|
// Dominio de retailers → zonas → tiendas → usuarios retail.
|
|
145
145
|
exports.RetailOrg = __importStar(require("./retailOrg"));
|
|
146
|
+
// LoanConfig: DTOs/enums del lambda loan-config-business (comp 09 — parámetros operativos del SOFOM).
|
|
147
|
+
exports.LoanConfig = __importStar(require("./loanConfig"));
|
|
146
148
|
__exportStar(require("./messaging"), exports);
|
|
147
149
|
__exportStar(require("./complaint"), exports);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ModifiableByRoleEnum } from '../enums/ModifiableByRoleEnum';
|
|
2
|
+
import { ParameterTypeEnum } from '../enums/ParameterTypeEnum';
|
|
3
|
+
import { ParameterValueTypeEnum } from '../enums/ParameterValueTypeEnum';
|
|
4
|
+
/**
|
|
5
|
+
* Parameter — parámetro operativo clave/valor del SOFOM (M6 §8 + §5).
|
|
6
|
+
* Identidad lógica `parameterId = ${paramType}#${key}` (D1). `value` null → aplica `defaultValue`.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Parameter {
|
|
9
|
+
parameterId: string;
|
|
10
|
+
paramType: ParameterTypeEnum;
|
|
11
|
+
key: string;
|
|
12
|
+
/** Siempre string; `null` cuando el valor está pendiente de definición por negocio. */
|
|
13
|
+
value: string | null;
|
|
14
|
+
valueType: ParameterValueTypeEnum;
|
|
15
|
+
defaultValue: string;
|
|
16
|
+
description: string;
|
|
17
|
+
modifiableBy: ModifiableByRoleEnum;
|
|
18
|
+
lastModifiedByUserId: string;
|
|
19
|
+
createdBy: string;
|
|
20
|
+
updatedBy: string;
|
|
21
|
+
createdAt: string;
|
|
22
|
+
updatedAt: string;
|
|
23
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
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.Parameter = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const regex_1 = require("../../helpers/constans/regex");
|
|
16
|
+
const ModifiableByRoleEnum_1 = require("../enums/ModifiableByRoleEnum");
|
|
17
|
+
const ParameterTypeEnum_1 = require("../enums/ParameterTypeEnum");
|
|
18
|
+
const ParameterValueTypeEnum_1 = require("../enums/ParameterValueTypeEnum");
|
|
19
|
+
/**
|
|
20
|
+
* Parameter — parámetro operativo clave/valor del SOFOM (M6 §8 + §5).
|
|
21
|
+
* Identidad lógica `parameterId = ${paramType}#${key}` (D1). `value` null → aplica `defaultValue`.
|
|
22
|
+
*/
|
|
23
|
+
class Parameter {
|
|
24
|
+
}
|
|
25
|
+
exports.Parameter = Parameter;
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
(0, class_validator_1.IsString)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], Parameter.prototype, "parameterId", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_transformer_1.Expose)(),
|
|
33
|
+
(0, class_validator_1.IsEnum)(ParameterTypeEnum_1.ParameterTypeEnum),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], Parameter.prototype, "paramType", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, class_transformer_1.Expose)(),
|
|
38
|
+
(0, class_validator_1.IsString)(),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], Parameter.prototype, "key", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, class_transformer_1.Expose)(),
|
|
43
|
+
(0, class_validator_1.IsOptional)(),
|
|
44
|
+
(0, class_validator_1.IsString)(),
|
|
45
|
+
__metadata("design:type", String)
|
|
46
|
+
], Parameter.prototype, "value", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, class_transformer_1.Expose)(),
|
|
49
|
+
(0, class_validator_1.IsEnum)(ParameterValueTypeEnum_1.ParameterValueTypeEnum),
|
|
50
|
+
__metadata("design:type", String)
|
|
51
|
+
], Parameter.prototype, "valueType", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, class_transformer_1.Expose)(),
|
|
54
|
+
(0, class_validator_1.IsString)(),
|
|
55
|
+
__metadata("design:type", String)
|
|
56
|
+
], Parameter.prototype, "defaultValue", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, class_transformer_1.Expose)(),
|
|
59
|
+
(0, class_validator_1.IsString)(),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], Parameter.prototype, "description", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, class_transformer_1.Expose)(),
|
|
64
|
+
(0, class_validator_1.IsEnum)(ModifiableByRoleEnum_1.ModifiableByRoleEnum),
|
|
65
|
+
__metadata("design:type", String)
|
|
66
|
+
], Parameter.prototype, "modifiableBy", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, class_transformer_1.Expose)(),
|
|
69
|
+
(0, class_validator_1.IsString)(),
|
|
70
|
+
__metadata("design:type", String)
|
|
71
|
+
], Parameter.prototype, "lastModifiedByUserId", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
(0, class_transformer_1.Expose)(),
|
|
74
|
+
(0, class_validator_1.IsString)(),
|
|
75
|
+
__metadata("design:type", String)
|
|
76
|
+
], Parameter.prototype, "createdBy", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, class_transformer_1.Expose)(),
|
|
79
|
+
(0, class_validator_1.IsString)(),
|
|
80
|
+
__metadata("design:type", String)
|
|
81
|
+
], Parameter.prototype, "updatedBy", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, class_transformer_1.Expose)(),
|
|
84
|
+
(0, class_validator_1.IsString)(),
|
|
85
|
+
(0, class_validator_1.Matches)(regex_1.regexIso8601, { message: 'createdAt debe ser una fecha ISO 8601' }),
|
|
86
|
+
__metadata("design:type", String)
|
|
87
|
+
], Parameter.prototype, "createdAt", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
(0, class_transformer_1.Expose)(),
|
|
90
|
+
(0, class_validator_1.IsString)(),
|
|
91
|
+
(0, class_validator_1.Matches)(regex_1.regexIso8601, { message: 'updatedAt debe ser una fecha ISO 8601' }),
|
|
92
|
+
__metadata("design:type", String)
|
|
93
|
+
], Parameter.prototype, "updatedAt", void 0);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ParameterTypeEnum } from '../../enums/ParameterTypeEnum';
|
|
2
|
+
export declare class ParameterKeyRef {
|
|
3
|
+
paramType: ParameterTypeEnum;
|
|
4
|
+
key: string;
|
|
5
|
+
}
|
|
6
|
+
/** Body de POST /private/parameters/bulk-get — hot path para consumers (cachean 5 min). */
|
|
7
|
+
export declare class BulkGetParametersRequest {
|
|
8
|
+
items: ParameterKeyRef[];
|
|
9
|
+
}
|