Skip to content

ajustes al crear orden - #81

Merged
leoAchu16 merged 1 commit into
devfrom
OM-detalles-a-ordenes
Apr 6, 2026
Merged

leoAchu16 merged 1 commit into
devfrom
OM-detalles-a-ordenes

Conversation

@elianasmz

@elianasmz elianasmz commented Apr 6, 2026 •

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

Notas de Lanzamiento

  • Bug Fixes

    • Se corrigió la asignación del nombre del producto en los pedidos, con valor predeterminado cuando falta.
    • Se mejoró el manejo de direcciones en la creación de pedidos para casos donde no está disponible.
  • Refactor

    • Se optimizó la estructura de relaciones en la creación y recuperación de pedidos.

@coderabbitai

coderabbitai Bot commented Apr 6, 2026 •

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Recorrido

Se refactoriza el servicio de creación de órdenes para utilizar conexiones relacionales de Prisma en lugar de claves foráneas directas, se expande el mapeo de artículos para incluir el nombre del producto y se implementa asignación condicional de direcciones.

Cambios

Cohort / Archivo(s) Resumen
Refactorización del servicio de órdenes
src/modules/users/orders/order.service.js
Se actualiza la creación de órdenes para usar connect de Prisma en lugar de campos de clave foránea directa (fk_user, fk_store, fk_cart); se añade mapeo de name derivado de item.product?.name; se implementa conexión condicional de dirección según resolvedAddressId; se actualiza la selección para recuperar product.name anidado.

Estimación de esfuerzo de revisión de código

🎯 3 (Moderado) | ⏱️ ~20 minutos

Posibles PRs relacionados

  • OM-412: ahora se puede enviar el address como null en createOrder #76: Ambas PRs modifican el manejo de la relación order.address en createOrderService con lógica de conexión condicional y dirección nullable.
  • Om 301 #53: Actualiza la creación de órdenes para usar conexiones relacionales de Prisma en carrito y tienda, alineándose directamente con la migración de esquema que añade fk_cart y fk_store obligatorios.

Revisores sugeridos

  • leoAchu16
  • J-Kanami-PS
  • CrisNAC

Poema

🐰 ¡Hop, hop! Los órdenes se conectan con gracia,
Prisma relacional trae nueva elegancia,
Nombres de productos ya no se pierden,
Direcciones opcionales, ¡qué dulce cadencia!
El servicio mejora, sin prisa ni distancia! 🎉

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive El título es genérico y no describe específicamente los cambios realizados en el servicio de órdenes. Mejorar el título para ser más específico, por ejemplo: 'Refactor: usar relaciones Prisma en creación de órdenes' o 'Agregar mapeo de nombre de producto en items de orden'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch OM-detalles-a-ordenes

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/modules/users/orders/order.service.js (1)

21-29: ⚠️ Potential issue | 🟠 Major

Inconsistencia: product.name no se obtiene en los otros servicios que usan mapOrderResponse.

Este mapper ahora espera item.product?.name, pero solo createOrderService (línea 198-202) incluye product en el select de order_items. Los servicios getOrdersService (líneas 263-272), getStoreOrdersService (líneas 348-357) y updateOrderStatusService (líneas 463-472) no lo incluyen, por lo que siempre devolverán "Producto" como nombre.

Si la intención es mostrar el nombre del producto en todos los endpoints, se debe agregar product: { select: { name: true } } en los otros servicios también.

🔧 Ejemplo de fix para getOrdersService (líneas 263-272)
       order_items: {
         where: { status: true },
         select: {
           id_order_item: true,
           quantity: true,
           price: true,
           original_price: true,
           is_offer_applied: true,
-          subtotal: true
+          subtotal: true,
+          product: {
+            select: {
+              name: true
+            }
+          }
         }
       }

Aplicar el mismo cambio en getStoreOrdersService y updateOrderStatusService.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/modules/users/orders/order.service.js` around lines 21 - 29, El mapper de
items usa item.product?.name pero solo createOrderService incluye product en el
select de order_items; actualiza getOrdersService, getStoreOrdersService y
updateOrderStatusService para que en sus consultas a order_items incluyan
product: { select: { name: true } } (manteniendo el mapper que usa
item.product?.name) para que el nombre real del producto sea devuelto en todos
los endpoints.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@src/modules/users/orders/order.service.js`:
- Around line 21-29: El mapper de items usa item.product?.name pero solo
createOrderService incluye product en el select de order_items; actualiza
getOrdersService, getStoreOrdersService y updateOrderStatusService para que en
sus consultas a order_items incluyan product: { select: { name: true } }
(manteniendo el mapper que usa item.product?.name) para que el nombre real del
producto sea devuelto en todos los endpoints.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: bb4c2092-a473-47ac-bae7-b0f8cfffe523

📥 Commits

Reviewing files that changed from the base of the PR and between 3d71b1a and 5d1ed85.

📒 Files selected for processing (1)
  • src/modules/users/orders/order.service.js

@leoAchu16
leoAchu16 merged commit 09d1743 into dev Apr 6, 2026
2 checks passed
@Andoumeda
Andoumeda deleted the OM-detalles-a-ordenes branch April 11, 2026 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants