@fiado/type-kit 3.424.0 → 3.425.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.
@@ -1,8 +1,19 @@
1
+ import { CollectionState } from '../enums/CollectionState';
1
2
  import { DeregisterChargeStatus } from '../enums/DeregisterChargeStatus';
2
3
  /**
3
4
  * Resultado de dar de baja un cargo en el motor de cobro. Un cargo inexistente no viaja en este
4
5
  * DTO: el motor responde 404.
6
+ *
7
+ * `finalState` y `amountCollected` describen en qué terminó el cobro, y sólo tienen sentido cuando
8
+ * `status` es `ALREADY_TERMINAL`: ese status por sí solo no distingue el cargo que se cobró del que
9
+ * ya estaba cancelado, y sin esa distinción quien da de baja no puede reconciliar un cobro cuyo
10
+ * resultado se perdió en la cola muerta. Son opcionales para no romper al consumidor que ya lee
11
+ * este DTO.
5
12
  */
6
13
  export declare class DeregisterChargeResponse {
7
14
  status: DeregisterChargeStatus;
15
+ /** Estado terminal del cobro: `COLLECTED` o `CANCELLED`. */
16
+ finalState?: CollectionState;
17
+ /** Lo que el motor alcanzó a cobrar, en PESOS con decimales. */
18
+ amountCollected?: number;
8
19
  }
@@ -11,10 +11,17 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.DeregisterChargeResponse = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
+ const CollectionState_1 = require("../enums/CollectionState");
14
15
  const DeregisterChargeStatus_1 = require("../enums/DeregisterChargeStatus");
15
16
  /**
16
17
  * Resultado de dar de baja un cargo en el motor de cobro. Un cargo inexistente no viaja en este
17
18
  * DTO: el motor responde 404.
19
+ *
20
+ * `finalState` y `amountCollected` describen en qué terminó el cobro, y sólo tienen sentido cuando
21
+ * `status` es `ALREADY_TERMINAL`: ese status por sí solo no distingue el cargo que se cobró del que
22
+ * ya estaba cancelado, y sin esa distinción quien da de baja no puede reconciliar un cobro cuyo
23
+ * resultado se perdió en la cola muerta. Son opcionales para no romper al consumidor que ya lee
24
+ * este DTO.
18
25
  */
19
26
  class DeregisterChargeResponse {
20
27
  }
@@ -23,3 +30,13 @@ __decorate([
23
30
  (0, class_validator_1.IsEnum)(DeregisterChargeStatus_1.DeregisterChargeStatus),
24
31
  __metadata("design:type", String)
25
32
  ], DeregisterChargeResponse.prototype, "status", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsOptional)(),
35
+ (0, class_validator_1.IsEnum)(CollectionState_1.CollectionState),
36
+ __metadata("design:type", String)
37
+ ], DeregisterChargeResponse.prototype, "finalState", void 0);
38
+ __decorate([
39
+ (0, class_validator_1.IsOptional)(),
40
+ (0, class_validator_1.IsNumber)(),
41
+ __metadata("design:type", Number)
42
+ ], DeregisterChargeResponse.prototype, "amountCollected", void 0);
@@ -3,9 +3,9 @@ import { CollectionPricingDto } from './CollectionPricingDto';
3
3
  /**
4
4
  * Un cargo vivo, según el dominio que lleva la deuda.
5
5
  *
6
- * `amount` es lo que queda por cobrar AHORA, con las reglas del dominio ya aplicadas —mora corrida,
7
- * pagos recibidos por otra vía—. El motor no lo recalcula ni lo valida contra nada: cobra lo que aquí
8
- * se declare.
6
+ * `amount` es lo que queda por cobrar AHORA, en PESOS con decimales —no en centavos—, con las reglas
7
+ * del dominio ya aplicadas —mora corrida, pagos recibidos por otra vía—. El motor no lo recalcula ni
8
+ * lo valida contra nada: cobra lo que aquí se declare, en la escala en que aquí se declare.
9
9
  *
10
10
  * El desglose (capital, interés, impuesto) es opcional y no participa del cobro: viaja para que el
11
11
  * asiento y los reportes puedan reconstruirlo.
@@ -17,9 +17,9 @@ const CollectionPricingDto_1 = require("./CollectionPricingDto");
17
17
  /**
18
18
  * Un cargo vivo, según el dominio que lleva la deuda.
19
19
  *
20
- * `amount` es lo que queda por cobrar AHORA, con las reglas del dominio ya aplicadas —mora corrida,
21
- * pagos recibidos por otra vía—. El motor no lo recalcula ni lo valida contra nada: cobra lo que aquí
22
- * se declare.
20
+ * `amount` es lo que queda por cobrar AHORA, en PESOS con decimales —no en centavos—, con las reglas
21
+ * del dominio ya aplicadas —mora corrida, pagos recibidos por otra vía—. El motor no lo recalcula ni
22
+ * lo valida contra nada: cobra lo que aquí se declare, en la escala en que aquí se declare.
23
23
  *
24
24
  * El desglose (capital, interés, impuesto) es opcional y no participa del cobro: viaja para que el
25
25
  * asiento y los reportes puedan reconstruirlo.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.424.0",
3
+ "version": "3.425.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -1,10 +1,21 @@
1
- import { IsEnum } from 'class-validator';
1
+ import { IsEnum, IsNumber, IsOptional } from 'class-validator';
2
+ import { CollectionState } from '../enums/CollectionState';
2
3
  import { DeregisterChargeStatus } from '../enums/DeregisterChargeStatus';
3
4
 
4
5
  /**
5
6
  * Resultado de dar de baja un cargo en el motor de cobro. Un cargo inexistente no viaja en este
6
7
  * DTO: el motor responde 404.
8
+ *
9
+ * `finalState` y `amountCollected` describen en qué terminó el cobro, y sólo tienen sentido cuando
10
+ * `status` es `ALREADY_TERMINAL`: ese status por sí solo no distingue el cargo que se cobró del que
11
+ * ya estaba cancelado, y sin esa distinción quien da de baja no puede reconciliar un cobro cuyo
12
+ * resultado se perdió en la cola muerta. Son opcionales para no romper al consumidor que ya lee
13
+ * este DTO.
7
14
  */
8
15
  export class DeregisterChargeResponse {
9
16
  @IsEnum(DeregisterChargeStatus) status!: DeregisterChargeStatus;
17
+ /** Estado terminal del cobro: `COLLECTED` o `CANCELLED`. */
18
+ @IsOptional() @IsEnum(CollectionState) finalState?: CollectionState;
19
+ /** Lo que el motor alcanzó a cobrar, en PESOS con decimales. */
20
+ @IsOptional() @IsNumber() amountCollected?: number;
10
21
  }
@@ -6,9 +6,9 @@ import { CollectionPricingDto } from './CollectionPricingDto';
6
6
  /**
7
7
  * Un cargo vivo, según el dominio que lleva la deuda.
8
8
  *
9
- * `amount` es lo que queda por cobrar AHORA, con las reglas del dominio ya aplicadas —mora corrida,
10
- * pagos recibidos por otra vía—. El motor no lo recalcula ni lo valida contra nada: cobra lo que aquí
11
- * se declare.
9
+ * `amount` es lo que queda por cobrar AHORA, en PESOS con decimales —no en centavos—, con las reglas
10
+ * del dominio ya aplicadas —mora corrida, pagos recibidos por otra vía—. El motor no lo recalcula ni
11
+ * lo valida contra nada: cobra lo que aquí se declare, en la escala en que aquí se declare.
12
12
  *
13
13
  * El desglose (capital, interés, impuesto) es opcional y no participa del cobro: viaja para que el
14
14
  * asiento y los reportes puedan reconstruirlo.
@@ -25,7 +25,7 @@ export class PendingChargeDto {
25
25
  @IsString() domain!: string; // une-credit | surekeep-retail
26
26
  @IsString() parentDebtId!: string; // credit_id / CREDIT#id
27
27
  @IsInt() installmentNumber!: number; // coupon_number / installment_number
28
- @IsNumber() amount!: number; // centavos
28
+ @IsNumber() amount!: number; // PESOS con decimales (1026.66), NO centavos
29
29
  @IsEnum(CurrencyId) currency!: CurrencyId;
30
30
  @IsString() dueDate!: string; // ISO date
31
31
  @IsString() status!: string; // estado del cargo en el dominio (normalizado por el motor)