shopit-back/app/Domains/Sale/documentacion
ncoronel c2233389d0 feat(sale): implement modifications filtering and validation for admin sales 2026-09-03 08:39:45 -03:00
..
README.md feat(sale): implement modifications filtering and validation for admin sales 2026-09-03 08:39:45 -03:00

README.md

Dominio Sale

Propósito

Provee consultas administrativas y exportaciones de ventas confirmadas, además del historial de modificaciones auditadas.

Componentes

  • AdminAppSaleService: pagina ventas, calcula totales y obtiene colecciones para exportación; también consulta modificaciones.
  • AdminAppSalePdfService: genera descargas PDF de ventas y de cambios.
  • AdminAppSaleExcelService: genera descargas Excel de ventas y de cambios.
  • AdminAppSaleIndexRequest: valida filtros del listado y la exportación de ventas.
  • AdminAppSaleModificationIndexRequest: valida los filtros compartidos por el historial y sus exportaciones.
  • SaleResource y SaleModificationResource: representan ventas e historial para AdminApp.
  • SaleController: entrada HTTP del panel.

Endpoints

Bajo /v1/adminapp/tenant, protegidos por auth:sanctum y adminapp.tenant:

  • GET /sales, GET /sales/pdf y GET /sales/excel.
  • GET /sales/modifications, GET /sales/modifications/pdf y GET /sales/modifications/excel.

Dependencias

Consume compras de Purchase, datos del tenant y entradas de Logging. No es dueño del estado de una compra; cualquier mutación debe ejecutarse en Purchase.

Consideraciones

La consulta paginada y la colección de exportación deben aplicar los mismos filtros para evitar diferencias entre pantalla, PDF y Excel.

El historial comparte con ventas los filtros de búsqueda, ID, fecha de venta y estado. En el historial, el estado se evalúa sobre ValueChange.new_value: representa el resultado de esa modificación y no el estado actual de la venta.