@fiado/type-kit 3.26.0 → 3.27.1
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/bin/account/dtos/BankAccountP2pTransferRequest.d.ts +1 -0
- package/bin/account/dtos/ExecuteP2pOperationRequest.d.ts +1 -0
- package/bin/card/validations/CardUpdateKeyConstraint.js +2 -2
- package/bin/card/validations/IsPhoneNumberConstraint.js +2 -2
- package/bin/index.js +7 -17
- package/bin/riskProfile/dtos/private/AppendAlertNoteRequest.d.ts +16 -0
- package/bin/riskProfile/dtos/private/AppendAlertNoteRequest.js +45 -0
- package/bin/riskProfile/dtos/private/AppendAlertNoteResponse.d.ts +10 -0
- package/bin/riskProfile/dtos/private/AppendAlertNoteResponse.js +36 -0
- package/bin/riskProfile/dtos/private/CreateBlockedListAlertRequest.d.ts +19 -0
- package/bin/riskProfile/dtos/private/CreateBlockedListAlertRequest.js +64 -0
- package/bin/riskProfile/dtos/private/CreateBlockedListAlertResponse.d.ts +8 -0
- package/bin/riskProfile/dtos/private/CreateBlockedListAlertResponse.js +31 -0
- package/bin/riskProfile/dtos/private/DictaminateAlertRequest.d.ts +17 -0
- package/bin/riskProfile/dtos/private/DictaminateAlertRequest.js +46 -0
- package/bin/riskProfile/dtos/private/DictaminateAlertResponse.d.ts +14 -0
- package/bin/riskProfile/dtos/private/DictaminateAlertResponse.js +46 -0
- package/bin/riskProfile/dtos/private/MarkAlertReportedRequest.d.ts +18 -0
- package/bin/riskProfile/dtos/private/MarkAlertReportedRequest.js +52 -0
- package/bin/riskProfile/dtos/private/MarkAlertReportedResponse.d.ts +9 -0
- package/bin/riskProfile/dtos/private/MarkAlertReportedResponse.js +35 -0
- package/bin/riskProfile/dtos/private/SetCustomAlarmRequest.d.ts +17 -0
- package/bin/riskProfile/dtos/private/SetCustomAlarmRequest.js +52 -0
- package/bin/riskProfile/dtos/private/SetCustomAlarmResponse.d.ts +13 -0
- package/bin/riskProfile/dtos/private/SetCustomAlarmResponse.js +48 -0
- package/bin/riskProfile/dtos/private/SetDeclaredIncomeRequest.d.ts +14 -0
- package/bin/riskProfile/dtos/private/SetDeclaredIncomeRequest.js +44 -0
- package/bin/riskProfile/dtos/private/SetDeclaredIncomeResponse.d.ts +20 -0
- package/bin/riskProfile/dtos/private/SetDeclaredIncomeResponse.js +49 -0
- package/bin/riskProfile/dtos/private/SetManualRiskLevelRequest.d.ts +24 -0
- package/bin/riskProfile/dtos/private/SetManualRiskLevelRequest.js +55 -0
- package/bin/riskProfile/dtos/private/SetManualRiskLevelResponse.d.ts +20 -0
- package/bin/riskProfile/dtos/private/SetManualRiskLevelResponse.js +54 -0
- package/bin/riskProfile/enums/CustomAlarmName.d.ts +9 -0
- package/bin/riskProfile/enums/CustomAlarmName.js +13 -0
- package/bin/riskProfile/enums/DictamenStatus.d.ts +9 -0
- package/bin/riskProfile/enums/DictamenStatus.js +13 -0
- package/bin/riskProfile/enums/NotesMode.d.ts +9 -0
- package/bin/riskProfile/enums/NotesMode.js +13 -0
- package/bin/riskProfile/index.d.ts +17 -0
- package/bin/riskProfile/index.js +19 -0
- package/package.json +3 -2
- package/src/account/dtos/BankAccountP2pTransferRequest.ts +1 -0
- package/src/account/dtos/ExecuteP2pOperationRequest.ts +1 -0
- package/src/riskProfile/dtos/private/AppendAlertNoteRequest.ts +29 -0
- package/src/riskProfile/dtos/private/AppendAlertNoteResponse.ts +12 -0
- package/src/riskProfile/dtos/private/CreateBlockedListAlertRequest.ts +22 -0
- package/src/riskProfile/dtos/private/CreateBlockedListAlertResponse.ts +10 -0
- package/src/riskProfile/dtos/private/DictaminateAlertRequest.ts +30 -0
- package/src/riskProfile/dtos/private/DictaminateAlertResponse.ts +16 -0
- package/src/riskProfile/dtos/private/MarkAlertReportedRequest.ts +21 -0
- package/src/riskProfile/dtos/private/MarkAlertReportedResponse.ts +11 -0
- package/src/riskProfile/dtos/private/SetCustomAlarmRequest.ts +31 -0
- package/src/riskProfile/dtos/private/SetCustomAlarmResponse.ts +15 -0
- package/src/riskProfile/dtos/private/SetDeclaredIncomeRequest.ts +26 -0
- package/src/riskProfile/dtos/private/SetDeclaredIncomeResponse.ts +22 -0
- package/src/riskProfile/dtos/private/SetManualRiskLevelRequest.ts +37 -0
- package/src/riskProfile/dtos/private/SetManualRiskLevelResponse.ts +22 -0
- package/src/riskProfile/enums/CustomAlarmName.ts +9 -0
- package/src/riskProfile/enums/DictamenStatus.ts +9 -0
- package/src/riskProfile/enums/NotesMode.ts +9 -0
- package/src/riskProfile/index.ts +21 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Expose } from "class-transformer";
|
|
2
|
+
import { IsEmail, IsEnum, IsNotEmpty, IsNumber, IsString, Min, MinLength, ValidateIf } from "class-validator";
|
|
3
|
+
import { CustomAlarmName } from "../../enums/CustomAlarmName";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Solicitud para cambiar un umbral de alarma custom.
|
|
7
|
+
*
|
|
8
|
+
* Solo afecta alarmas custom (customHighAmount, customMonthlyIncrease).
|
|
9
|
+
* Las 3 alarmas base no se recalculan al modificar custom.
|
|
10
|
+
*
|
|
11
|
+
* Si `newValue` es `null`, se interpreta como "quitar override" (limpiar la custom).
|
|
12
|
+
*
|
|
13
|
+
* Idempotencia: si previousValue === newValue, devuelve 200 con noop=true.
|
|
14
|
+
*/
|
|
15
|
+
export class SetCustomAlarmRequest {
|
|
16
|
+
@Expose() @IsEnum(CustomAlarmName) alarmName!: CustomAlarmName;
|
|
17
|
+
|
|
18
|
+
@Expose()
|
|
19
|
+
@ValidateIf(o => o.newValue !== null)
|
|
20
|
+
@IsNumber({}, { message: 'newValue debe ser un número o null' })
|
|
21
|
+
@Min(0, { message: 'newValue debe ser ≥ 0' })
|
|
22
|
+
newValue!: number | null;
|
|
23
|
+
|
|
24
|
+
@Expose() @IsEmail({}, { message: 'email debe ser un correo válido' }) email!: string;
|
|
25
|
+
|
|
26
|
+
@Expose()
|
|
27
|
+
@IsString()
|
|
28
|
+
@IsNotEmpty()
|
|
29
|
+
@MinLength(10, { message: 'notes debe tener al menos 10 caracteres' })
|
|
30
|
+
notes!: string;
|
|
31
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Expose } from "class-transformer";
|
|
2
|
+
import { CustomAlarmName } from "../../enums/CustomAlarmName";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Respuesta de actualización de alarma custom.
|
|
6
|
+
*/
|
|
7
|
+
export class SetCustomAlarmResponse {
|
|
8
|
+
@Expose() directoryId!: string;
|
|
9
|
+
@Expose() noop?: boolean;
|
|
10
|
+
@Expose() alarmName?: CustomAlarmName;
|
|
11
|
+
@Expose() previousValue?: number | null;
|
|
12
|
+
@Expose() newValue?: number | null;
|
|
13
|
+
@Expose() observationId?: string;
|
|
14
|
+
@Expose() snapshotKey?: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Expose } from "class-transformer";
|
|
2
|
+
import { IsEmail, IsInt, IsNotEmpty, IsString, Min, MinLength } from "class-validator";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Solicitud para cambiar `declaredMonthlyIncome` del perfil.
|
|
6
|
+
*
|
|
7
|
+
* Side effects (atómicos):
|
|
8
|
+
* - Recalcula las 5 alarmas base (highAmount, monthlyIncrease, monthlyLimit y derivadas).
|
|
9
|
+
* - Las alarmas custom NO se recalculan.
|
|
10
|
+
*
|
|
11
|
+
* Idempotencia: si previousIncome === newValue, devuelve 200 con noop=true.
|
|
12
|
+
*/
|
|
13
|
+
export class SetDeclaredIncomeRequest {
|
|
14
|
+
@Expose()
|
|
15
|
+
@IsInt({ message: 'newValue debe ser entero (centavos MXN)' })
|
|
16
|
+
@Min(0, { message: 'newValue debe ser ≥ 0' })
|
|
17
|
+
newValue!: number;
|
|
18
|
+
|
|
19
|
+
@Expose() @IsEmail({}, { message: 'email debe ser un correo válido' }) email!: string;
|
|
20
|
+
|
|
21
|
+
@Expose()
|
|
22
|
+
@IsString()
|
|
23
|
+
@IsNotEmpty()
|
|
24
|
+
@MinLength(10, { message: 'notes debe tener al menos 10 caracteres' })
|
|
25
|
+
notes!: string;
|
|
26
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Expose } from "class-transformer";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Respuesta de actualización de declaredMonthlyIncome.
|
|
5
|
+
*
|
|
6
|
+
* `alarmas` incluye las 5 alarmas recalculadas más los valores custom (que no cambian).
|
|
7
|
+
*/
|
|
8
|
+
export class SetDeclaredIncomeResponse {
|
|
9
|
+
@Expose() directoryId!: string;
|
|
10
|
+
@Expose() noop?: boolean;
|
|
11
|
+
@Expose() previousIncome?: number;
|
|
12
|
+
@Expose() newIncome?: number;
|
|
13
|
+
@Expose() alarmas?: {
|
|
14
|
+
highAmount: number;
|
|
15
|
+
monthlyIncrease: number;
|
|
16
|
+
monthlyLimit: number;
|
|
17
|
+
customHighAmount: number | null;
|
|
18
|
+
customMonthlyIncrease: number | null;
|
|
19
|
+
};
|
|
20
|
+
@Expose() observationId?: string;
|
|
21
|
+
@Expose() snapshotKey?: string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Expose } from "class-transformer";
|
|
2
|
+
import { IsEmail, IsInt, IsNotEmpty, IsString, Max, Min, MinLength } from "class-validator";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Solicitud para cambiar el manualRiskLevel del perfil de riesgo.
|
|
6
|
+
*
|
|
7
|
+
* Aplica override manual del nivel de riesgo calculado automáticamente.
|
|
8
|
+
*
|
|
9
|
+
* Side effects (atómicos respecto al cambio principal):
|
|
10
|
+
* - Recalcula las 3 alarmas base (highAmount, monthlyIncrease, monthlyLimit) usando
|
|
11
|
+
* `effectiveLevel = newLevel > 0 ? newLevel : profile.riskLevel`.
|
|
12
|
+
* - Si `newLevel > previousLevel AND newLevel > 0`: crea alerta MANUAL_RISK_INCREASE
|
|
13
|
+
* con AlarmType.UNUSUAL.
|
|
14
|
+
*
|
|
15
|
+
* Mapeo de `newLevel`:
|
|
16
|
+
* - 0 = sin override (usa el riskLevel calculado)
|
|
17
|
+
* - 1 = Bajo
|
|
18
|
+
* - 2 = Medio
|
|
19
|
+
* - 3 = Alto
|
|
20
|
+
*
|
|
21
|
+
* Idempotencia: si `previousLevel === newLevel`, devuelve 200 con noop=true.
|
|
22
|
+
*/
|
|
23
|
+
export class SetManualRiskLevelRequest {
|
|
24
|
+
@Expose()
|
|
25
|
+
@IsInt()
|
|
26
|
+
@Min(0, { message: 'newLevel debe ser 0, 1, 2 o 3' })
|
|
27
|
+
@Max(3, { message: 'newLevel debe ser 0, 1, 2 o 3' })
|
|
28
|
+
newLevel!: number;
|
|
29
|
+
|
|
30
|
+
@Expose() @IsEmail({}, { message: 'email debe ser un correo válido' }) email!: string;
|
|
31
|
+
|
|
32
|
+
@Expose()
|
|
33
|
+
@IsString()
|
|
34
|
+
@IsNotEmpty()
|
|
35
|
+
@MinLength(10, { message: 'notes debe tener al menos 10 caracteres' })
|
|
36
|
+
notes!: string;
|
|
37
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Expose } from "class-transformer";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Respuesta del cambio de manualRiskLevel.
|
|
5
|
+
*
|
|
6
|
+
* Si fue noop (mismo valor previo), `noop: true` y el resto de campos no aplican.
|
|
7
|
+
* En caso de éxito real, incluye las alarmas recalculadas y el id de alerta auto-creada si subió el nivel.
|
|
8
|
+
*/
|
|
9
|
+
export class SetManualRiskLevelResponse {
|
|
10
|
+
@Expose() directoryId!: string;
|
|
11
|
+
@Expose() noop?: boolean;
|
|
12
|
+
@Expose() previousLevel?: number;
|
|
13
|
+
@Expose() newLevel?: number;
|
|
14
|
+
@Expose() alarmasRecalculadas?: {
|
|
15
|
+
highAmount: number;
|
|
16
|
+
monthlyIncrease: number;
|
|
17
|
+
monthlyLimit: number;
|
|
18
|
+
};
|
|
19
|
+
@Expose() alertaCreada?: string;
|
|
20
|
+
@Expose() observationId?: string;
|
|
21
|
+
@Expose() snapshotKey?: string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nombres válidos de alarmas custom configurables manualmente por el OC.
|
|
3
|
+
* Solo estas dos alarmas aceptan override de umbral; las 3 alarmas base
|
|
4
|
+
* (highAmount, monthlyIncrease, monthlyLimit) se recalculan automáticamente.
|
|
5
|
+
*/
|
|
6
|
+
export enum CustomAlarmName {
|
|
7
|
+
CUSTOM_HIGH_AMOUNT = 'customHighAmount',
|
|
8
|
+
CUSTOM_MONTHLY_INCREASE = 'customMonthlyIncrease',
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Estados terminales válidos al dictaminar una alerta.
|
|
3
|
+
* Una alerta solo puede transicionar a estos estados desde NEW o PENDING.
|
|
4
|
+
*/
|
|
5
|
+
export enum DictamenStatus {
|
|
6
|
+
CLOSE_JUSTIFIED = 'CLOSE_JUSTIFIED',
|
|
7
|
+
CLOSE_RULED = 'CLOSE_RULED',
|
|
8
|
+
CLOSED = 'CLOSED',
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Modo de modificación de notas al agregar texto a una alerta sin dictaminar.
|
|
3
|
+
* - REPLACE: sobrescribe el contenido de notes.
|
|
4
|
+
* - APPEND: concatena al final con un salto de línea.
|
|
5
|
+
*/
|
|
6
|
+
export enum NotesMode {
|
|
7
|
+
REPLACE = 'replace',
|
|
8
|
+
APPEND = 'append',
|
|
9
|
+
}
|
package/src/riskProfile/index.ts
CHANGED
|
@@ -22,3 +22,24 @@ export * from './enums/UserQuestionnaireStatusEnum';
|
|
|
22
22
|
export * from './enums/UserQuestionnaireQuestionAnswerEnum';
|
|
23
23
|
export * from './enums/UserQuestionnaireQuestionStatusEnum';
|
|
24
24
|
|
|
25
|
+
// Enums PLD privados
|
|
26
|
+
export * from './enums/CustomAlarmName';
|
|
27
|
+
export * from './enums/DictamenStatus';
|
|
28
|
+
export * from './enums/NotesMode';
|
|
29
|
+
|
|
30
|
+
// DTOs PLD privados — endpoints del PrivateController para Dashboard regulatorio
|
|
31
|
+
export * from './dtos/private/DictaminateAlertRequest';
|
|
32
|
+
export * from './dtos/private/DictaminateAlertResponse';
|
|
33
|
+
export * from './dtos/private/AppendAlertNoteRequest';
|
|
34
|
+
export * from './dtos/private/AppendAlertNoteResponse';
|
|
35
|
+
export * from './dtos/private/CreateBlockedListAlertRequest';
|
|
36
|
+
export * from './dtos/private/CreateBlockedListAlertResponse';
|
|
37
|
+
export * from './dtos/private/MarkAlertReportedRequest';
|
|
38
|
+
export * from './dtos/private/MarkAlertReportedResponse';
|
|
39
|
+
export * from './dtos/private/SetManualRiskLevelRequest';
|
|
40
|
+
export * from './dtos/private/SetManualRiskLevelResponse';
|
|
41
|
+
export * from './dtos/private/SetCustomAlarmRequest';
|
|
42
|
+
export * from './dtos/private/SetCustomAlarmResponse';
|
|
43
|
+
export * from './dtos/private/SetDeclaredIncomeRequest';
|
|
44
|
+
export * from './dtos/private/SetDeclaredIncomeResponse';
|
|
45
|
+
|