@fiado/type-kit 3.207.0 → 3.208.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 (28) hide show
  1. package/_test_/unit/creditBackoffice/AddWhitelistRequest.test.ts +55 -0
  2. package/bin/benefitCenter/enums/BenefitFlowEnum.d.ts +11 -0
  3. package/bin/benefitCenter/enums/BenefitFlowEnum.js +15 -0
  4. package/bin/creditBackoffice/dtos/AddWhitelistRequest.d.ts +13 -0
  5. package/bin/creditBackoffice/dtos/AddWhitelistRequest.js +40 -0
  6. package/bin/creditBackoffice/dtos/SearchClientsForWhitelistItem.d.ts +9 -0
  7. package/bin/creditBackoffice/dtos/SearchClientsForWhitelistItem.js +2 -0
  8. package/bin/creditBackoffice/dtos/WhitelistItem.d.ts +14 -0
  9. package/bin/creditBackoffice/dtos/WhitelistItem.js +2 -0
  10. package/bin/creditBackoffice/index.d.ts +3 -0
  11. package/bin/creditBackoffice/index.js +3 -0
  12. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +6 -0
  13. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.js +31 -0
  14. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +7 -0
  15. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +6 -0
  16. package/bin/walletFunding/dtos/CancelFundingRequest.d.ts +11 -0
  17. package/bin/walletFunding/dtos/CancelFundingRequest.js +33 -0
  18. package/bin/walletFunding/dtos/CancelFundingResponse.d.ts +14 -0
  19. package/bin/walletFunding/dtos/CancelFundingResponse.js +12 -0
  20. package/bin/walletFunding/dtos/CancelWalletFundingRequest.d.ts +3 -0
  21. package/bin/walletFunding/dtos/CancelWalletFundingRequest.js +21 -0
  22. package/bin/walletFunding/dtos/CancelWalletFundingResponse.d.ts +7 -0
  23. package/bin/walletFunding/dtos/CancelWalletFundingResponse.js +6 -0
  24. package/package.json +1 -1
  25. package/src/creditBackoffice/dtos/AddWhitelistRequest.ts +24 -0
  26. package/src/creditBackoffice/dtos/SearchClientsForWhitelistItem.ts +9 -0
  27. package/src/creditBackoffice/dtos/WhitelistItem.ts +15 -0
  28. package/src/creditBackoffice/index.ts +3 -0
@@ -0,0 +1,55 @@
1
+ import 'reflect-metadata';
2
+ import { plainToInstance } from 'class-transformer';
3
+ import { validate } from 'class-validator';
4
+ import { AddWhitelistRequest } from '../../../src/creditBackoffice/dtos/AddWhitelistRequest';
5
+ import { CreditLevelEnum } from '../../../src/creditEngine/enums/CreditLevelEnum';
6
+
7
+ describe('AddWhitelistRequest', () => {
8
+ it('acepta payload válido sin creditLevel (default GOLD lo pone el backend)', async () => {
9
+ const req = plainToInstance(AddWhitelistRequest, {
10
+ directoryId: 'DIR-123',
11
+ displayName: 'Jaime Robles',
12
+ });
13
+ const errors = await validate(req as object);
14
+ expect(errors).toHaveLength(0);
15
+ });
16
+
17
+ it('acepta payload válido con creditLevel explicito', async () => {
18
+ const req = plainToInstance(AddWhitelistRequest, {
19
+ directoryId: 'DIR-123',
20
+ displayName: 'Jaime Robles',
21
+ creditLevel: CreditLevelEnum.PLATINUM,
22
+ });
23
+ const errors = await validate(req as object);
24
+ expect(errors).toHaveLength(0);
25
+ });
26
+
27
+ it('rechaza directoryId vacío', async () => {
28
+ const req = plainToInstance(AddWhitelistRequest, {
29
+ directoryId: '',
30
+ displayName: 'x',
31
+ });
32
+ const errors = await validate(req as object);
33
+ expect(errors.length).toBeGreaterThan(0);
34
+ expect(errors.find(e => e.property === 'directoryId')).toBeDefined();
35
+ });
36
+
37
+ it('rechaza displayName vacío', async () => {
38
+ const req = plainToInstance(AddWhitelistRequest, {
39
+ directoryId: 'DIR-1',
40
+ displayName: '',
41
+ });
42
+ const errors = await validate(req as object);
43
+ expect(errors.find(e => e.property === 'displayName')).toBeDefined();
44
+ });
45
+
46
+ it('rechaza creditLevel invalido', async () => {
47
+ const req = plainToInstance(AddWhitelistRequest, {
48
+ directoryId: 'DIR-1',
49
+ displayName: 'x',
50
+ creditLevel: 'DIAMOND',
51
+ });
52
+ const errors = await validate(req as object);
53
+ expect(errors.find(e => e.property === 'creditLevel')).toBeDefined();
54
+ });
55
+ });
@@ -0,0 +1,11 @@
1
+ export declare enum BenefitFlowEnum {
2
+ TOPUPS = "TOPUPS",
3
+ BILL_PAYMENT = "BILL_PAYMENT",
4
+ CREDIT = "CREDIT",
5
+ INSURANCE = "INSURANCE",
6
+ DONATION = "DONATION",
7
+ PHARMACY = "PHARMACY",
8
+ REMITTANCE = "REMITTANCE",
9
+ /** Fondeo de wallet PCF con efectivo via provider externo (Equality/Passport, OpenPay, …) — spec 13. */
10
+ WALLET_FUNDING = "WALLET_FUNDING"
11
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BenefitFlowEnum = void 0;
4
+ var BenefitFlowEnum;
5
+ (function (BenefitFlowEnum) {
6
+ BenefitFlowEnum["TOPUPS"] = "TOPUPS";
7
+ BenefitFlowEnum["BILL_PAYMENT"] = "BILL_PAYMENT";
8
+ BenefitFlowEnum["CREDIT"] = "CREDIT";
9
+ BenefitFlowEnum["INSURANCE"] = "INSURANCE";
10
+ BenefitFlowEnum["DONATION"] = "DONATION";
11
+ BenefitFlowEnum["PHARMACY"] = "PHARMACY";
12
+ BenefitFlowEnum["REMITTANCE"] = "REMITTANCE";
13
+ /** Fondeo de wallet PCF con efectivo via provider externo (Equality/Passport, OpenPay, …) — spec 13. */
14
+ BenefitFlowEnum["WALLET_FUNDING"] = "WALLET_FUNDING";
15
+ })(BenefitFlowEnum || (exports.BenefitFlowEnum = BenefitFlowEnum = {}));
@@ -0,0 +1,13 @@
1
+ import { CreditLevelEnum } from "../../creditEngine/enums/CreditLevelEnum";
2
+ /**
3
+ * Body para POST /backoffice/whitelist.
4
+ * Agrega o reactiva un cliente en la whitelist para pruebas productivas.
5
+ *
6
+ * `creditLevel` es opcional. Si no se envia, el backend usa GOLD por default
7
+ * (retro-compat con el diseño original "whitelist Oro").
8
+ */
9
+ export declare class AddWhitelistRequest {
10
+ directoryId: string;
11
+ displayName: string;
12
+ creditLevel?: CreditLevelEnum;
13
+ }
@@ -0,0 +1,40 @@
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.AddWhitelistRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const CreditLevelEnum_1 = require("../../creditEngine/enums/CreditLevelEnum");
15
+ /**
16
+ * Body para POST /backoffice/whitelist.
17
+ * Agrega o reactiva un cliente en la whitelist para pruebas productivas.
18
+ *
19
+ * `creditLevel` es opcional. Si no se envia, el backend usa GOLD por default
20
+ * (retro-compat con el diseño original "whitelist Oro").
21
+ */
22
+ class AddWhitelistRequest {
23
+ }
24
+ exports.AddWhitelistRequest = AddWhitelistRequest;
25
+ __decorate([
26
+ (0, class_validator_1.IsString)(),
27
+ (0, class_validator_1.IsNotEmpty)(),
28
+ __metadata("design:type", String)
29
+ ], AddWhitelistRequest.prototype, "directoryId", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsString)(),
32
+ (0, class_validator_1.IsNotEmpty)(),
33
+ (0, class_validator_1.MaxLength)(200),
34
+ __metadata("design:type", String)
35
+ ], AddWhitelistRequest.prototype, "displayName", void 0);
36
+ __decorate([
37
+ (0, class_validator_1.IsOptional)(),
38
+ (0, class_validator_1.IsEnum)(CreditLevelEnum_1.CreditLevelEnum),
39
+ __metadata("design:type", String)
40
+ ], AddWhitelistRequest.prototype, "creditLevel", void 0);
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Response item de GET /backoffice/whitelist/search-clients.
3
+ * Alimenta el autocomplete del formulario de agregar al whitelist.
4
+ */
5
+ export interface SearchClientsForWhitelistItem {
6
+ directoryId: string;
7
+ name: string;
8
+ hasActiveCredit: boolean;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ import { CreditLevelEnum } from "../../creditEngine/enums/CreditLevelEnum";
2
+ /**
3
+ * Response item de GET /backoffice/whitelist y POST /backoffice/whitelist.
4
+ */
5
+ export interface WhitelistItem {
6
+ directoryId: string;
7
+ displayName: string;
8
+ creditLevel: CreditLevelEnum;
9
+ addedAt: string;
10
+ addedBy: string;
11
+ isActive: 'YES' | 'NO';
12
+ removedAt?: string;
13
+ removedBy?: string;
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,5 @@
1
1
  export * from './enums/ConfigType';
2
+ export * from './dtos/AddWhitelistRequest';
2
3
  export * from './dtos/BackofficeApplicationDetail';
3
4
  export * from './dtos/BackofficeApplicationsListItem';
4
5
  export * from './dtos/BackofficeCreditDetail';
@@ -14,8 +15,10 @@ export * from './dtos/BackofficeProfilesListItem';
14
15
  export * from './dtos/BackofficeProfilesListResponse';
15
16
  export * from './dtos/BackofficeProfilesSummary';
16
17
  export * from './dtos/ConfigSnapshotListItem';
18
+ export * from './dtos/SearchClientsForWhitelistItem';
17
19
  export * from './dtos/SimulateImpactRequest';
18
20
  export * from './dtos/SimulateImpactResult';
19
21
  export * from './dtos/SimulateInterestRequest';
20
22
  export * from './dtos/SimulateInterestResult';
21
23
  export * from './dtos/UpdateConfigRequest';
24
+ export * from './dtos/WhitelistItem';
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  // Enums
18
18
  __exportStar(require("./enums/ConfigType"), exports);
19
19
  // DTOs
20
+ __exportStar(require("./dtos/AddWhitelistRequest"), exports);
20
21
  __exportStar(require("./dtos/BackofficeApplicationDetail"), exports);
21
22
  __exportStar(require("./dtos/BackofficeApplicationsListItem"), exports);
22
23
  __exportStar(require("./dtos/BackofficeCreditDetail"), exports);
@@ -32,8 +33,10 @@ __exportStar(require("./dtos/BackofficeProfilesListItem"), exports);
32
33
  __exportStar(require("./dtos/BackofficeProfilesListResponse"), exports);
33
34
  __exportStar(require("./dtos/BackofficeProfilesSummary"), exports);
34
35
  __exportStar(require("./dtos/ConfigSnapshotListItem"), exports);
36
+ __exportStar(require("./dtos/SearchClientsForWhitelistItem"), exports);
35
37
  __exportStar(require("./dtos/SimulateImpactRequest"), exports);
36
38
  __exportStar(require("./dtos/SimulateImpactResult"), exports);
37
39
  __exportStar(require("./dtos/SimulateInterestRequest"), exports);
38
40
  __exportStar(require("./dtos/SimulateInterestResult"), exports);
39
41
  __exportStar(require("./dtos/UpdateConfigRequest"), exports);
42
+ __exportStar(require("./dtos/WhitelistItem"), exports);
@@ -0,0 +1,6 @@
1
+ export declare class CancelFundingReferenceRequest {
2
+ /** Referencia Passport (PK de EqualityFundingReference_GT). */
3
+ reference: string;
4
+ directoryId: string;
5
+ idempotencyKey: string;
6
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CancelFundingReferenceRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class CancelFundingReferenceRequest {
15
+ }
16
+ exports.CancelFundingReferenceRequest = CancelFundingReferenceRequest;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ (0, class_validator_1.MaxLength)(64),
20
+ __metadata("design:type", String)
21
+ ], CancelFundingReferenceRequest.prototype, "reference", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsString)(),
24
+ (0, class_validator_1.MaxLength)(64),
25
+ __metadata("design:type", String)
26
+ ], CancelFundingReferenceRequest.prototype, "directoryId", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.MaxLength)(64),
30
+ __metadata("design:type", String)
31
+ ], CancelFundingReferenceRequest.prototype, "idempotencyKey", void 0);
@@ -0,0 +1,7 @@
1
+ import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
2
+ import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
3
+ export declare class CancelFundingReferenceResponse {
4
+ reference: string;
5
+ status: BenefitPaymentStatusEnum;
6
+ errorCode?: WalletFundingErrorCodeEnum;
7
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CancelFundingReferenceResponse = void 0;
4
+ class CancelFundingReferenceResponse {
5
+ }
6
+ exports.CancelFundingReferenceResponse = CancelFundingReferenceResponse;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Request del cancel via Centro de Beneficios (spec 13 v2.0).
3
+ * `reference` viaja en el path, `directoryId` se resuelve del JWT.
4
+ * `providerModuleName` permite al marketplace rutear al publisher correcto
5
+ * sin tener que persistir el mapping (el wallet-app sabe el moduleName
6
+ * porque vino en la respuesta del authorize).
7
+ */
8
+ export declare class CancelFundingRequest {
9
+ idempotencyKey: string;
10
+ providerModuleName: string;
11
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CancelFundingRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /**
15
+ * Request del cancel via Centro de Beneficios (spec 13 v2.0).
16
+ * `reference` viaja en el path, `directoryId` se resuelve del JWT.
17
+ * `providerModuleName` permite al marketplace rutear al publisher correcto
18
+ * sin tener que persistir el mapping (el wallet-app sabe el moduleName
19
+ * porque vino en la respuesta del authorize).
20
+ */
21
+ class CancelFundingRequest {
22
+ }
23
+ exports.CancelFundingRequest = CancelFundingRequest;
24
+ __decorate([
25
+ (0, class_validator_1.IsString)(),
26
+ (0, class_validator_1.MaxLength)(64),
27
+ __metadata("design:type", String)
28
+ ], CancelFundingRequest.prototype, "idempotencyKey", void 0);
29
+ __decorate([
30
+ (0, class_validator_1.IsString)(),
31
+ (0, class_validator_1.MaxLength)(128),
32
+ __metadata("design:type", String)
33
+ ], CancelFundingRequest.prototype, "providerModuleName", void 0);
@@ -0,0 +1,14 @@
1
+ import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
2
+ import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
3
+ /**
4
+ * Response del cancel via Centro de Beneficios (spec 13 v2.0).
5
+ * `status` reusa `BenefitPaymentStatusEnum` (APPROVED = cancel aceptado;
6
+ * REJECTED = no se pudo) para consistencia con `CancelFundingReferenceResponse`
7
+ * (marketplace ↔ connector). Idempotente: re-cancelar devuelve APPROVED.
8
+ */
9
+ export declare class CancelFundingResponse {
10
+ reference: string;
11
+ status: BenefitPaymentStatusEnum;
12
+ errorCode?: WalletFundingErrorCodeEnum;
13
+ message?: string;
14
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CancelFundingResponse = void 0;
4
+ /**
5
+ * Response del cancel via Centro de Beneficios (spec 13 v2.0).
6
+ * `status` reusa `BenefitPaymentStatusEnum` (APPROVED = cancel aceptado;
7
+ * REJECTED = no se pudo) para consistencia con `CancelFundingReferenceResponse`
8
+ * (marketplace ↔ connector). Idempotente: re-cancelar devuelve APPROVED.
9
+ */
10
+ class CancelFundingResponse {
11
+ }
12
+ exports.CancelFundingResponse = CancelFundingResponse;
@@ -0,0 +1,3 @@
1
+ export declare class CancelWalletFundingRequest {
2
+ idempotencyKey: string;
3
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CancelWalletFundingRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class CancelWalletFundingRequest {
15
+ }
16
+ exports.CancelWalletFundingRequest = CancelWalletFundingRequest;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ (0, class_validator_1.MaxLength)(64),
20
+ __metadata("design:type", String)
21
+ ], CancelWalletFundingRequest.prototype, "idempotencyKey", void 0);
@@ -0,0 +1,7 @@
1
+ import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
2
+ import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
3
+ export declare class CancelWalletFundingResponse {
4
+ status: BenefitPaymentStatusEnum;
5
+ errorCode?: WalletFundingErrorCodeEnum;
6
+ reference?: string;
7
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CancelWalletFundingResponse = void 0;
4
+ class CancelWalletFundingResponse {
5
+ }
6
+ exports.CancelWalletFundingResponse = CancelWalletFundingResponse;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.207.0",
3
+ "version": "3.208.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -0,0 +1,24 @@
1
+ import { IsNotEmpty, IsString, IsEnum, IsOptional, MaxLength } from "class-validator";
2
+ import { CreditLevelEnum } from "../../creditEngine/enums/CreditLevelEnum";
3
+
4
+ /**
5
+ * Body para POST /backoffice/whitelist.
6
+ * Agrega o reactiva un cliente en la whitelist para pruebas productivas.
7
+ *
8
+ * `creditLevel` es opcional. Si no se envia, el backend usa GOLD por default
9
+ * (retro-compat con el diseño original "whitelist Oro").
10
+ */
11
+ export class AddWhitelistRequest {
12
+ @IsString()
13
+ @IsNotEmpty()
14
+ directoryId!: string;
15
+
16
+ @IsString()
17
+ @IsNotEmpty()
18
+ @MaxLength(200)
19
+ displayName!: string;
20
+
21
+ @IsOptional()
22
+ @IsEnum(CreditLevelEnum)
23
+ creditLevel?: CreditLevelEnum;
24
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Response item de GET /backoffice/whitelist/search-clients.
3
+ * Alimenta el autocomplete del formulario de agregar al whitelist.
4
+ */
5
+ export interface SearchClientsForWhitelistItem {
6
+ directoryId: string;
7
+ name: string;
8
+ hasActiveCredit: boolean;
9
+ }
@@ -0,0 +1,15 @@
1
+ import { CreditLevelEnum } from "../../creditEngine/enums/CreditLevelEnum";
2
+
3
+ /**
4
+ * Response item de GET /backoffice/whitelist y POST /backoffice/whitelist.
5
+ */
6
+ export interface WhitelistItem {
7
+ directoryId: string;
8
+ displayName: string;
9
+ creditLevel: CreditLevelEnum; // nivel forzado por la whitelist (default GOLD historico)
10
+ addedAt: string; // ISO 8601
11
+ addedBy: string; // email
12
+ isActive: 'YES' | 'NO';
13
+ removedAt?: string;
14
+ removedBy?: string;
15
+ }
@@ -2,6 +2,7 @@
2
2
  export * from './enums/ConfigType';
3
3
 
4
4
  // DTOs
5
+ export * from './dtos/AddWhitelistRequest';
5
6
  export * from './dtos/BackofficeApplicationDetail';
6
7
  export * from './dtos/BackofficeApplicationsListItem';
7
8
  export * from './dtos/BackofficeCreditDetail';
@@ -17,8 +18,10 @@ export * from './dtos/BackofficeProfilesListItem';
17
18
  export * from './dtos/BackofficeProfilesListResponse';
18
19
  export * from './dtos/BackofficeProfilesSummary';
19
20
  export * from './dtos/ConfigSnapshotListItem';
21
+ export * from './dtos/SearchClientsForWhitelistItem';
20
22
  export * from './dtos/SimulateImpactRequest';
21
23
  export * from './dtos/SimulateImpactResult';
22
24
  export * from './dtos/SimulateInterestRequest';
23
25
  export * from './dtos/SimulateInterestResult';
24
26
  export * from './dtos/UpdateConfigRequest';
27
+ export * from './dtos/WhitelistItem';