using Entidades.Dto; using Microsoft.AspNetCore.Mvc; using Modelo; namespace AlquilaFacil.Controllers; [ApiController] public class LogsController: ControllerBase { [HttpGet("/api/Logs")] public IActionResult ObtenerLogs([FromHeader(Name = "Auth")] string Auth, long pag=1) { if (String.IsNullOrEmpty(Auth)) return Unauthorized(); var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Informes"); if (validacion1 == false) return Unauthorized(); if (pag<=0) return BadRequest(new { message = "no puede haber una pagina 0 o menor"}); pag-=1; var l = RepositorioLogs.Singleton.ObtenerLogsPaginado(pag); List ll = new(); foreach (var i in l) { ll.Add(new LogDto{ Fecha = i.Fecha, Accion = i.Accion, Dniusuario = i.Dniusuario, }); } return Ok(ll); } [HttpGet("/api/Logs/detalle")] public IActionResult ObtenerLogs([FromHeader(Name = "Auth")] string Auth, [FromQuery]DateTime fecha, [FromQuery]long idusuario) { if (String.IsNullOrEmpty(Auth)) return Unauthorized(); var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Informes"); if (validacion1 == false) return Unauthorized(); if (idusuario<=0) return BadRequest(new { message = "no puede haber un id 0 o menor"}); var l = RepositorioLogs.Singleton.ObtenerDetallesLogs(fecha, idusuario); List ll = new(); foreach (var i in l) { ll.Add(new LogDetalleDto{ Fecha = i.Fecha, Dniusuario = i.Dniusuario, NombreTabla = i.NombreTabla, Columna = i.Columna, ValorAnterior = i.ValorAnterior, ValorNuevo = i.ValorNuevo, }); } return Ok(ll); } }