@fiado/type-kit 3.444.0 → 3.446.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/bin/phoneSales/SaleDeliveryData.d.ts +24 -0
- package/bin/phoneSales/SaleDeliveryData.js +2 -0
- package/bin/phoneSales/SaleResponseDto.d.ts +33 -0
- package/bin/phoneSales/index.d.ts +1 -0
- package/bin/phoneSales/index.js +1 -0
- package/package.json +1 -1
- package/src/phoneSales/SaleDeliveryData.ts +41 -0
- package/src/phoneSales/SaleResponseDto.ts +33 -0
- package/src/phoneSales/index.ts +1 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type PickupLocationType = 'FIADO_STORE' | 'CARRIER_OFFICE';
|
|
2
|
+
export interface FiadoStorePickupData {
|
|
3
|
+
pickupLocationType: 'FIADO_STORE';
|
|
4
|
+
storeId: string;
|
|
5
|
+
}
|
|
6
|
+
export interface CarrierOfficePickupData {
|
|
7
|
+
pickupLocationType: 'CARRIER_OFFICE';
|
|
8
|
+
carrierOfficeCode: string;
|
|
9
|
+
latitude: number;
|
|
10
|
+
longitude: number;
|
|
11
|
+
recipientName: string;
|
|
12
|
+
recipientPhone: string;
|
|
13
|
+
}
|
|
14
|
+
export type PickupDeliveryData = FiadoStorePickupData | CarrierOfficePickupData;
|
|
15
|
+
export interface HomeDeliveryData {
|
|
16
|
+
street: string;
|
|
17
|
+
addressNumber: string;
|
|
18
|
+
neighborhood: string;
|
|
19
|
+
municipality: string;
|
|
20
|
+
region: string;
|
|
21
|
+
postalCode: string;
|
|
22
|
+
recipientName: string;
|
|
23
|
+
recipientPhone: string;
|
|
24
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CurrencyId } from '../currency';
|
|
2
|
+
import { PickupDeliveryData, HomeDeliveryData } from './SaleDeliveryData';
|
|
2
3
|
export declare class SaleResponseDto {
|
|
3
4
|
id: string;
|
|
4
5
|
referenceCode: string;
|
|
@@ -6,9 +7,41 @@ export declare class SaleResponseDto {
|
|
|
6
7
|
buyerDirectorId: string;
|
|
7
8
|
newAccountDirectorId: string | null;
|
|
8
9
|
deliveryType: 'PICKUP' | 'HOME';
|
|
10
|
+
/**
|
|
11
|
+
* Dónde había que entregar el dispositivo (retiro en tienda/oficina, u domicilio) —
|
|
12
|
+
* discriminado por `deliveryType`. Requerido porque `Sale_GT` lo requiere desde que existe la
|
|
13
|
+
* tabla; ventas con el objeto vacío son datos corruptos de un bug de persistencia ya corregido
|
|
14
|
+
* (ver memoria `patron-dynamoose-saveunknown-object-anidado`), no un estado válido del contrato.
|
|
15
|
+
*/
|
|
16
|
+
deliveryData: PickupDeliveryData | HomeDeliveryData;
|
|
9
17
|
trackingCode: string | null;
|
|
10
18
|
providerStatus: string | null;
|
|
19
|
+
/**
|
|
20
|
+
* Detalle textual del status reportado por el proveedor de envío (ej. "en camino a sucursal
|
|
21
|
+
* destino") — DISTINTO de `providerStatus` (arriba), que es el código/estado corto. `null`
|
|
22
|
+
* porque el conector no siempre lo trae (eventos tempranos del envío).
|
|
23
|
+
*/
|
|
24
|
+
providerStatusDetail: string | null;
|
|
25
|
+
/**
|
|
26
|
+
* Número de rastreo real que ve el comprador — DISTINTO de `trackingCode` (arriba, que es el ID
|
|
27
|
+
* de correlación interno asignado al CREAR el envío). Este es el que soporte le pasa al
|
|
28
|
+
* cliente cuando reclama. `null` porque el conector no siempre lo trae.
|
|
29
|
+
*/
|
|
30
|
+
trackingNumber: string | null;
|
|
31
|
+
/** URL pública de rastreo del proveedor — mismo motivo de nullability que `trackingNumber`. */
|
|
32
|
+
trackingUrl: string | null;
|
|
33
|
+
/** Qué transportadora gestiona el envío — relevante para cuando haya más de un proveedor. */
|
|
34
|
+
shippingProviderId: string;
|
|
35
|
+
/**
|
|
36
|
+
* ID del cobro en transaction-processor-business — el puente para investigar una reclamación de
|
|
37
|
+
* pago sin buscar a mano en logs por `buyerDirectorId` + ventana de tiempo.
|
|
38
|
+
*/
|
|
39
|
+
relatedTransaction: string;
|
|
11
40
|
status: string;
|
|
41
|
+
/** Fecha de compra (epoch ms) — el dato base de cualquier investigación de reclamación. */
|
|
42
|
+
createdAt: number;
|
|
43
|
+
/** Última modificación de la venta (epoch ms). */
|
|
44
|
+
updatedAt: number;
|
|
12
45
|
/**
|
|
13
46
|
* Modelo de la variante (resuelto server-side por `variantId`, incluyendo variantes con
|
|
14
47
|
* stock=0). `null` si la resolución falló (variante borrada o error de infraestructura) — ver
|
|
@@ -4,6 +4,7 @@ export * from './CreateDeviceVariantRequestDto';
|
|
|
4
4
|
export * from './UpdateDeviceVariantRequestDto';
|
|
5
5
|
export * from './CreateSaleRequestDto';
|
|
6
6
|
export * from './SaleResponseDto';
|
|
7
|
+
export * from './SaleDeliveryData';
|
|
7
8
|
export * from './RedeemSaleCodeRequestDto';
|
|
8
9
|
export * from './DeviceVariantImageUploadUrlRequestDto';
|
|
9
10
|
export * from './DeviceVariantImageUploadUrlResponseDto';
|
package/bin/phoneSales/index.js
CHANGED
|
@@ -20,6 +20,7 @@ __exportStar(require("./CreateDeviceVariantRequestDto"), exports);
|
|
|
20
20
|
__exportStar(require("./UpdateDeviceVariantRequestDto"), exports);
|
|
21
21
|
__exportStar(require("./CreateSaleRequestDto"), exports);
|
|
22
22
|
__exportStar(require("./SaleResponseDto"), exports);
|
|
23
|
+
__exportStar(require("./SaleDeliveryData"), exports);
|
|
23
24
|
__exportStar(require("./RedeemSaleCodeRequestDto"), exports);
|
|
24
25
|
__exportStar(require("./DeviceVariantImageUploadUrlRequestDto"), exports);
|
|
25
26
|
__exportStar(require("./DeviceVariantImageUploadUrlResponseDto"), exports);
|
package/package.json
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Shape de `deliveryData` de una venta de celular. Portado 1:1 (mismos nombres y tipos) desde
|
|
2
|
+
// `cell-phone-sales-business/src/infrastructure/entities/SaleRow.ts` (TD-011, shape CONFIRMADO
|
|
3
|
+
// por el líder técnico, no inferido) — hasta ahora vivía SOLO como interfaces locales del lambda,
|
|
4
|
+
// nunca se había publicado a `@fiado/type-kit`. Se publica acá porque `SaleResponseDto.deliveryData`
|
|
5
|
+
// (agregado para que backoffice pueda investigar reclamaciones sin ir a logs) necesita un tipo real,
|
|
6
|
+
// no `Record<string, unknown>` — y las DTOs de type-kit no pueden depender de tipos locales de un lambda.
|
|
7
|
+
//
|
|
8
|
+
// El retiro en tienda Fiado (`FIADO_STORE`) es un flujo INTERNO que nunca dispara un envío externo;
|
|
9
|
+
// solo el retiro en oficina de transportadora (`CARRIER_OFFICE`) lo hace — por eso la unión
|
|
10
|
+
// discriminada por `pickupLocationType` en vez de un objeto plano con campos opcionales.
|
|
11
|
+
export type PickupLocationType = 'FIADO_STORE' | 'CARRIER_OFFICE';
|
|
12
|
+
|
|
13
|
+
export interface FiadoStorePickupData {
|
|
14
|
+
pickupLocationType: 'FIADO_STORE';
|
|
15
|
+
storeId: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Campos genéricos/agnósticos de proveedor a propósito (`carrierOfficeCode`, no el nombre real del
|
|
19
|
+
// campo de Estafeta): la traducción a los nombres del contrato de cada transportadora vive en el
|
|
20
|
+
// adaptador del lambda (`CreateShippingRequestMapper`), nunca en este tipo compartido.
|
|
21
|
+
export interface CarrierOfficePickupData {
|
|
22
|
+
pickupLocationType: 'CARRIER_OFFICE';
|
|
23
|
+
carrierOfficeCode: string;
|
|
24
|
+
latitude: number;
|
|
25
|
+
longitude: number;
|
|
26
|
+
recipientName: string;
|
|
27
|
+
recipientPhone: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type PickupDeliveryData = FiadoStorePickupData | CarrierOfficePickupData;
|
|
31
|
+
|
|
32
|
+
export interface HomeDeliveryData {
|
|
33
|
+
street: string;
|
|
34
|
+
addressNumber: string;
|
|
35
|
+
neighborhood: string;
|
|
36
|
+
municipality: string;
|
|
37
|
+
region: string;
|
|
38
|
+
postalCode: string;
|
|
39
|
+
recipientName: string;
|
|
40
|
+
recipientPhone: string;
|
|
41
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CurrencyId } from '../currency';
|
|
2
|
+
import { PickupDeliveryData, HomeDeliveryData } from './SaleDeliveryData';
|
|
2
3
|
|
|
3
4
|
export class SaleResponseDto {
|
|
4
5
|
id!: string;
|
|
@@ -7,9 +8,41 @@ export class SaleResponseDto {
|
|
|
7
8
|
buyerDirectorId!: string;
|
|
8
9
|
newAccountDirectorId!: string | null;
|
|
9
10
|
deliveryType!: 'PICKUP' | 'HOME';
|
|
11
|
+
/**
|
|
12
|
+
* Dónde había que entregar el dispositivo (retiro en tienda/oficina, u domicilio) —
|
|
13
|
+
* discriminado por `deliveryType`. Requerido porque `Sale_GT` lo requiere desde que existe la
|
|
14
|
+
* tabla; ventas con el objeto vacío son datos corruptos de un bug de persistencia ya corregido
|
|
15
|
+
* (ver memoria `patron-dynamoose-saveunknown-object-anidado`), no un estado válido del contrato.
|
|
16
|
+
*/
|
|
17
|
+
deliveryData!: PickupDeliveryData | HomeDeliveryData;
|
|
10
18
|
trackingCode!: string | null;
|
|
11
19
|
providerStatus!: string | null;
|
|
20
|
+
/**
|
|
21
|
+
* Detalle textual del status reportado por el proveedor de envío (ej. "en camino a sucursal
|
|
22
|
+
* destino") — DISTINTO de `providerStatus` (arriba), que es el código/estado corto. `null`
|
|
23
|
+
* porque el conector no siempre lo trae (eventos tempranos del envío).
|
|
24
|
+
*/
|
|
25
|
+
providerStatusDetail!: string | null;
|
|
26
|
+
/**
|
|
27
|
+
* Número de rastreo real que ve el comprador — DISTINTO de `trackingCode` (arriba, que es el ID
|
|
28
|
+
* de correlación interno asignado al CREAR el envío). Este es el que soporte le pasa al
|
|
29
|
+
* cliente cuando reclama. `null` porque el conector no siempre lo trae.
|
|
30
|
+
*/
|
|
31
|
+
trackingNumber!: string | null;
|
|
32
|
+
/** URL pública de rastreo del proveedor — mismo motivo de nullability que `trackingNumber`. */
|
|
33
|
+
trackingUrl!: string | null;
|
|
34
|
+
/** Qué transportadora gestiona el envío — relevante para cuando haya más de un proveedor. */
|
|
35
|
+
shippingProviderId!: string;
|
|
36
|
+
/**
|
|
37
|
+
* ID del cobro en transaction-processor-business — el puente para investigar una reclamación de
|
|
38
|
+
* pago sin buscar a mano en logs por `buyerDirectorId` + ventana de tiempo.
|
|
39
|
+
*/
|
|
40
|
+
relatedTransaction!: string;
|
|
12
41
|
status!: string;
|
|
42
|
+
/** Fecha de compra (epoch ms) — el dato base de cualquier investigación de reclamación. */
|
|
43
|
+
createdAt!: number;
|
|
44
|
+
/** Última modificación de la venta (epoch ms). */
|
|
45
|
+
updatedAt!: number;
|
|
13
46
|
/**
|
|
14
47
|
* Modelo de la variante (resuelto server-side por `variantId`, incluyendo variantes con
|
|
15
48
|
* stock=0). `null` si la resolución falló (variante borrada o error de infraestructura) — ver
|
package/src/phoneSales/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ export * from './CreateDeviceVariantRequestDto';
|
|
|
4
4
|
export * from './UpdateDeviceVariantRequestDto';
|
|
5
5
|
export * from './CreateSaleRequestDto';
|
|
6
6
|
export * from './SaleResponseDto';
|
|
7
|
+
export * from './SaleDeliveryData';
|
|
7
8
|
export * from './RedeemSaleCodeRequestDto';
|
|
8
9
|
export * from './DeviceVariantImageUploadUrlRequestDto';
|
|
9
10
|
export * from './DeviceVariantImageUploadUrlResponseDto';
|