Files
shopit-back/app/Domains/Logging/documentacion/README.md
ncoronel 02cf3f3773 Add tests for ticket validity and event date formatting
- Create TicketValiditySchemaTest to verify database schema for ticket validity.
- Update CatalogModelsTest to include tests for event date attributes and selection options.
- Introduce EventDateTextFormatterTest for formatting event dates in Spanish.
- Refactor EventModelsTest to include validity time relationships.
- Add SaleDetailResourceTest to ensure correct serialization of purchase items.
- Enhance TicketTest with validity time checks and status management.
- Implement ValidityTimeResourceTest to validate resource output for different validity types.
- Add ValidityTimeTest to verify casting and validity checks for validity time types.
2026-08-11 12:41:35 -03:00

1011 B

Dominio Logging

Propósito

Registra cambios relevantes de valores en modelos de negocio, indicando tenant, atributo, valor anterior/nuevo, fecha y actor.

Componentes

  • Models/ValueChange.php: entrada persistida del historial, relacionada polimórficamente con el objeto modificado.
  • Models/Concerns/LogsValueChanges.php: trait reutilizable que escucha actualizaciones del modelo.
  • Enums/ValueChangeActorType.php: distingue cambios realizados por usuario o por el sistema.

Uso

Un modelo consumidor debe:

  1. Usar el trait LogsValueChanges.
  2. Declarar la propiedad loggedAttributes con los atributos auditables.
  3. Implementar valueChangeTenantCode().

El trait solo registra atributos configurados que efectivamente cambiaron. Si existe un usuario autenticado lo asocia al cambio; en caso contrario marca al sistema como actor.

API y dependencias

No expone rutas HTTP. Purchase lo utiliza para auditar cambios de estado y Sale consulta esas modificaciones para reportes.