Feat: Papelera de Avisos

- Se añade la sección de Papelera de Avisos para los avisos eliminados que serán removidos de los registros a los 60 días del cambio de estado. Es esta sección se permite restaurar un aviso eliminado al estado "Borrador".
This commit is contained in:
2026-02-26 20:17:52 -03:00
parent df777400ab
commit 0802dae400
5 changed files with 189 additions and 17 deletions

View File

@@ -119,7 +119,7 @@ public class AdsV2Controller : ControllerBase
}
else
{
query = query.Where(a => a.UserID == userId.Value);
query = query.Where(a => a.UserID == userId.Value && a.StatusID != (int)AdStatusEnum.Deleted);
}
// --- LÓGICA DE BÚSQUEDA POR PALABRAS ---
@@ -763,6 +763,7 @@ public class AdsV2Controller : ControllerBase
var ads = await _context.Favorites
.Where(f => f.UserID == userId)
.Join(_context.Ads, f => f.AdID, a => a.AdID, (f, a) => a)
.Where(a => a.StatusID != (int)AdStatusEnum.Deleted)
.Include(a => a.Photos)
.Select(a => new
{
@@ -824,6 +825,11 @@ public class AdsV2Controller : ControllerBase
int oldStatus = ad.StatusID;
ad.StatusID = newStatus;
if (newStatus == (int)AdStatusEnum.Deleted)
{
ad.DeletedAt = DateTime.UtcNow;
}
// 📝 AUDITORÍA
var statusBrandName = (await _context.Brands.FindAsync(ad.BrandID))?.Name ?? "";
_context.AuditLogs.Add(new AuditLog