Los modelos Product y Category no implementan Soft Deletes, realizando eliminaciones permanentes que podrían causar pérdida de datos y problemas de integridad referencial. Existen comentarios en el código que sugieren que esto debería implementarse.
Problemas Identificados:
Product::delete() realiza eliminación permanente en lugar de soft delete
Category::delete() realiza eliminación permanente sin validar productos asociados
- Las migraciones no incluyen columna
deleted_at
- Los modelos no usan el trait
SoftDeletes
- Los controladores tienen comentarios sobre implementar soft deletes pero no está implementado
- Riesgo de pérdida de datos históricos e integridad referencial
Archivos Afectados:
app/Models/Product.php
app/Models/Category.php
database/migrations/2025_05_30_164215_create_products_table.php
database/migrations/2025_05_29_220120_create_categories_table.php
app/Http/Controllers/Api/V1/Admin/ProductController.php
app/Http/Controllers/Api/V1/Admin/CategoryController.php
Solución Propuesta:
- Crear migraciones para añadir columna
deleted_at a tablas products y categories
- Implementar trait
SoftDeletes en modelos Product y Category
- Actualizar controladores para usar soft deletes apropiadamente
- Añadir validación en CategoryController para prevenir eliminación con productos asociados
- Actualizar queries para filtrar elementos eliminados en endpoints públicos
- Considerar endpoint para restaurar elementos eliminados (admin)
Prioridad: Media - Importante para integridad de datos y posible recuperación de información
Los modelos Product y Category no implementan Soft Deletes, realizando eliminaciones permanentes que podrían causar pérdida de datos y problemas de integridad referencial. Existen comentarios en el código que sugieren que esto debería implementarse.
Problemas Identificados:
Product::delete()realiza eliminación permanente en lugar de soft deleteCategory::delete()realiza eliminación permanente sin validar productos asociadosdeleted_atSoftDeletesArchivos Afectados:
app/Models/Product.phpapp/Models/Category.phpdatabase/migrations/2025_05_30_164215_create_products_table.phpdatabase/migrations/2025_05_29_220120_create_categories_table.phpapp/Http/Controllers/Api/V1/Admin/ProductController.phpapp/Http/Controllers/Api/V1/Admin/CategoryController.phpSolución Propuesta:
deleted_ata tablas products y categoriesSoftDeletesen modelos Product y CategoryPrioridad: Media - Importante para integridad de datos y posible recuperación de información