Conversation
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes. 💤 Files selected but had no reviewable changes (1)
⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis PR updates the package version to 4.0.372 and expands the invoice/lading model by adding 19 new TypeScript interfaces to implement the Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip CodeRabbit can generate a title for your PR based on the changes.Add |
There was a problem hiding this comment.
Encontre muchas discrepancias entre los modelos del SDK y el contrato público de la API. Por favor utiliza como referencia la API publica (CartaPorteComplementRequest.cs en el backend) y sus clases anidadas para validar campo por campo o directamente reescribir los modelos equivalentes. Los problemas principales son: propiedades que la API expone pero el SDK no tiene (~20 en mercancias, 5 de seguros en autotransporte, guias de identificacion completas), campos marcados como opcionales en el SDK cuando la API los exige como obligatorios (8 en transporte maritimo, 4 en aereo, 3 en ferroviario, entre otros), campos marcados como obligatorios en el SDK cuando la API los tiene como opcionales (totalDistRec, pesoNetoTotal), y 5 campos en el SDK que no existen en la API (configMaritimaId, numCertITC, nombreEmbarCargador, nombreAgente en maritimo y rfcTransportista en aereo). Ademas los nombres de los campos del SDK no coinciden con los nombres que usa el backend. Esto agrega una carga cognitiva alta cuando se realiza trazabilidad entre el SDK y la API publica, o cuando toca debuggear por que un campo no llega como se esperaba. Te sugiero que uses los mismos nombres de propiedades que tiene CartaPorteComplementRequest.cs y sus clases relacionadas, manteniendo tipos de datos equivalentes y la misma obligatoriedad.
Otro comentario es que Falta interface LadingGuiaIdentificacion, no lo agregue en el código porque no existe tal código.
La API expone guiasIdentificacion como lista en Mercancia con 3 campos: numeroGuiaIdentificacion, descripGuiaIdentificacion, pesoGuiaIdentificacion. Crea la interface LadingGuiaIdentificacion con esos
campos, agrega la propiedad guiasIdentificacion en LadingMerchandise y exportala en index.ts.
Revise superficialmente el de Java y veo los mismos issues. Por favor haz ajustes en todo y avísame cuando esté listo para Code review por favor.
| /** | ||
| * Mercancía en carta porte | ||
| */ | ||
| export interface LadingMerchandise { |
There was a problem hiding this comment.
Faltan propiedades en LadingMerchandise que la API sí expone. Revisa este contrato en la API: CartaPorteMercanciaRequest
Las siguientes propiedades existen en el backend pero no en el SDK:
- claveSTCCId
- unidad
- dimensiones
- cveMaterialPeligrosoId
- embalajeId
- descripEmbalaje
- sectorCOFEPRISId
- nombreIngredienteActivo
- nomQuimico
- permisoImportacion
- folioImpoVUCEM
- numCAS
- razonSocialEmpImp
- numRegSanPlagCOFEPRIS
- datosFabricante
- datosFormulador
- datosMaquilador
- usoAutorizado
- uuidComercioExt
Agregar todas estas propiedades opcionales a LadingMerchandise.
Summary by CodeRabbit
New Features
Chores