@fiado/type-kit 3.447.0 → 3.449.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.
@@ -0,0 +1,22 @@
1
+ import 'reflect-metadata';
2
+ import { LEVEL_ONE_AUTO_ISSUANCE_TAGS, hasLevelOneAutoIssuanceTag } from '../../../src/card/index';
3
+
4
+ describe('LEVEL_ONE_AUTO_ISSUANCE_TAGS', () => {
5
+ it('incluye el tag de Surekeep, el primer origen habilitado', () => {
6
+ expect(LEVEL_ONE_AUTO_ISSUANCE_TAGS).toContain('wh:surekeep');
7
+ });
8
+
9
+ it('hasLevelOneAutoIssuanceTag: basta con que UNO de los tags del directorio esté habilitado', () => {
10
+ expect(hasLevelOneAutoIssuanceTag(['otro', 'wh:surekeep'])).toBe(true);
11
+ });
12
+
13
+ it('hasLevelOneAutoIssuanceTag: sin tag habilitado → false', () => {
14
+ expect(hasLevelOneAutoIssuanceTag(['wh:otro'])).toBe(false);
15
+ expect(hasLevelOneAutoIssuanceTag([])).toBe(false);
16
+ });
17
+
18
+ it('hasLevelOneAutoIssuanceTag: sin lista (null/undefined) → false, fail-closed', () => {
19
+ expect(hasLevelOneAutoIssuanceTag(null)).toBe(false);
20
+ expect(hasLevelOneAutoIssuanceTag(undefined)).toBe(false);
21
+ });
22
+ });
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Tags de directorio (UserTags_GT) que habilitan la apertura AUTOMÁTICA de la cuenta MX en nivel 1
3
+ * con expediente simplificado y sin contrato de PagoConfiado.
4
+ *
5
+ * Vive acá, y no en cada servicio, porque la leen DOS consumidores que deben coincidir:
6
+ * onboarding-business (decide y dispara con `mexAccountLevel: LEVEL_1`) y fiado-card-business
7
+ * (re-verifica el tag antes de honrar ese nivel). Para habilitar un origen nuevo se agrega el tag a
8
+ * esta lista y se bumpea type-kit en ambos.
9
+ */
10
+ export declare const LEVEL_ONE_AUTO_ISSUANCE_TAGS: readonly string[];
11
+ /** ¿Alguno de los tags del directorio habilita el nivel 1 automático? Fail-closed: sin lista, no. */
12
+ export declare function hasLevelOneAutoIssuanceTag(tags: readonly string[] | null | undefined): boolean;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LEVEL_ONE_AUTO_ISSUANCE_TAGS = void 0;
4
+ exports.hasLevelOneAutoIssuanceTag = hasLevelOneAutoIssuanceTag;
5
+ /**
6
+ * Tags de directorio (UserTags_GT) que habilitan la apertura AUTOMÁTICA de la cuenta MX en nivel 1
7
+ * con expediente simplificado y sin contrato de PagoConfiado.
8
+ *
9
+ * Vive acá, y no en cada servicio, porque la leen DOS consumidores que deben coincidir:
10
+ * onboarding-business (decide y dispara con `mexAccountLevel: LEVEL_1`) y fiado-card-business
11
+ * (re-verifica el tag antes de honrar ese nivel). Para habilitar un origen nuevo se agrega el tag a
12
+ * esta lista y se bumpea type-kit en ambos.
13
+ */
14
+ exports.LEVEL_ONE_AUTO_ISSUANCE_TAGS = [
15
+ "wh:surekeep",
16
+ ];
17
+ /** ¿Alguno de los tags del directorio habilita el nivel 1 automático? Fail-closed: sin lista, no. */
18
+ function hasLevelOneAutoIssuanceTag(tags) {
19
+ return Array.isArray(tags) && tags.some((tag) => exports.LEVEL_ONE_AUTO_ISSUANCE_TAGS.includes(tag));
20
+ }
@@ -16,9 +16,9 @@ export declare class CardIssuanceBySideRequest {
16
16
  USA_InfoSelfVerified?: InfoSelfVerifiedStatus;
17
17
  /**
18
18
  * Nivel de cuenta MX que el evaluador (onboarding-business) resolvió para este disparo.
19
- * Hoy sólo LEVEL_1, para usuarios con tag `wh:surekeep`: expediente simplificado y sin
20
- * contrato de PagoConfiado. Ausente = comportamiento histórico (el nivel lo decide el
21
- * expediente en card-business).
19
+ * Hoy sólo LEVEL_1, para directorios con un tag de `LEVEL_ONE_AUTO_ISSUANCE_TAGS`: expediente
20
+ * simplificado y sin contrato de PagoConfiado. Ausente = comportamiento histórico (el nivel lo
21
+ * decide el expediente en card-business).
22
22
  */
23
23
  mexAccountLevel?: AccountLevelEnum;
24
24
  }
@@ -71,3 +71,4 @@ export * from './enums/ReplaceBankAccountCardReasonEnum';
71
71
  export * from './enums/CardReasonStatus';
72
72
  export * from './enums/KycReason';
73
73
  export * from './enums/PinChangedStatus';
74
+ export * from './constants/LevelOneAutoIssuanceTags';
package/bin/card/index.js CHANGED
@@ -90,3 +90,4 @@ __exportStar(require("./enums/ReplaceBankAccountCardReasonEnum"), exports);
90
90
  __exportStar(require("./enums/CardReasonStatus"), exports);
91
91
  __exportStar(require("./enums/KycReason"), exports);
92
92
  __exportStar(require("./enums/PinChangedStatus"), exports);
93
+ __exportStar(require("./constants/LevelOneAutoIssuanceTags"), exports);
@@ -21,7 +21,15 @@ export interface AuthorizeRefundRequest {
21
21
  caseFolio: string;
22
22
  originalTransactionId: string | null;
23
23
  originalAmount: number;
24
- originalChannel: 'PCF_P2P' | 'SPEI_IN' | 'SPEI_OUT' | 'CARD' | 'DOMICILIATION_FSA';
24
+ /**
25
+ * Canal de la operación original reclamada, desde la perspectiva PCF.
26
+ * PCF solo opera SPEI, P2P entre wallets Fiado, domiciliaciones y transferencias
27
+ * intra-banco (BBVA↔BBVA — por ejemplo, cuando FSA regresa dinero a PCF por
28
+ * reversa de tarjeta o desembolso de crédito). PCF NO opera tarjetas ni
29
+ * servicios directamente; esas operaciones aparecen en el wallet PCF como
30
+ * domiciliaciones o transferencias intra-banco autorizadas.
31
+ */
32
+ originalChannel: 'PCF_P2P' | 'SPEI_IN' | 'SPEI_OUT' | 'DOMICILIATION' | 'INTRA_BANK_TRANSFER';
25
33
  };
26
34
  approval: {
27
35
  makerUserId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.447.0",
3
+ "version": "3.449.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Tags de directorio (UserTags_GT) que habilitan la apertura AUTOMÁTICA de la cuenta MX en nivel 1
3
+ * con expediente simplificado y sin contrato de PagoConfiado.
4
+ *
5
+ * Vive acá, y no en cada servicio, porque la leen DOS consumidores que deben coincidir:
6
+ * onboarding-business (decide y dispara con `mexAccountLevel: LEVEL_1`) y fiado-card-business
7
+ * (re-verifica el tag antes de honrar ese nivel). Para habilitar un origen nuevo se agrega el tag a
8
+ * esta lista y se bumpea type-kit en ambos.
9
+ */
10
+ export const LEVEL_ONE_AUTO_ISSUANCE_TAGS: readonly string[] = [
11
+ "wh:surekeep",
12
+ ];
13
+
14
+ /** ¿Alguno de los tags del directorio habilita el nivel 1 automático? Fail-closed: sin lista, no. */
15
+ export function hasLevelOneAutoIssuanceTag(tags: readonly string[] | null | undefined): boolean {
16
+ return Array.isArray(tags) && tags.some((tag) => LEVEL_ONE_AUTO_ISSUANCE_TAGS.includes(tag));
17
+ }
@@ -30,9 +30,9 @@ export class CardIssuanceBySideRequest {
30
30
 
31
31
  /**
32
32
  * Nivel de cuenta MX que el evaluador (onboarding-business) resolvió para este disparo.
33
- * Hoy sólo LEVEL_1, para usuarios con tag `wh:surekeep`: expediente simplificado y sin
34
- * contrato de PagoConfiado. Ausente = comportamiento histórico (el nivel lo decide el
35
- * expediente en card-business).
33
+ * Hoy sólo LEVEL_1, para directorios con un tag de `LEVEL_ONE_AUTO_ISSUANCE_TAGS`: expediente
34
+ * simplificado y sin contrato de PagoConfiado. Ausente = comportamiento histórico (el nivel lo
35
+ * decide el expediente en card-business).
36
36
  */
37
37
  @IsOptional()
38
38
  @IsEnum(AccountLevelEnum)
package/src/card/index.ts CHANGED
@@ -77,4 +77,4 @@ export * from './enums/ReplaceBankAccountCardReasonEnum'
77
77
  export * from './enums/CardReasonStatus'
78
78
  export * from './enums/KycReason'
79
79
  export * from './enums/PinChangedStatus'
80
-
80
+ export * from './constants/LevelOneAutoIssuanceTags';
@@ -19,7 +19,15 @@ export interface AuthorizeRefundRequest {
19
19
  caseFolio: string;
20
20
  originalTransactionId: string | null;
21
21
  originalAmount: number;
22
- originalChannel: 'PCF_P2P' | 'SPEI_IN' | 'SPEI_OUT' | 'CARD' | 'DOMICILIATION_FSA';
22
+ /**
23
+ * Canal de la operación original reclamada, desde la perspectiva PCF.
24
+ * PCF solo opera SPEI, P2P entre wallets Fiado, domiciliaciones y transferencias
25
+ * intra-banco (BBVA↔BBVA — por ejemplo, cuando FSA regresa dinero a PCF por
26
+ * reversa de tarjeta o desembolso de crédito). PCF NO opera tarjetas ni
27
+ * servicios directamente; esas operaciones aparecen en el wallet PCF como
28
+ * domiciliaciones o transferencias intra-banco autorizadas.
29
+ */
30
+ originalChannel: 'PCF_P2P' | 'SPEI_IN' | 'SPEI_OUT' | 'DOMICILIATION' | 'INTRA_BANK_TRANSFER';
23
31
  };
24
32
  approval: {
25
33
  makerUserId: string;