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, int pag = 1) { if (String.IsNullOrEmpty(Auth)) return Unauthorized(); var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 7); 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 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 7); 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); } [HttpGet("/api/Logs/cantPag")] public IActionResult cantidadPaginas([FromHeader(Name = "Auth")] string Auth) { if (String.IsNullOrEmpty(Auth)) return Unauthorized(); var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 7); if (validacion1 == false) return Unauthorized(); int c = RepositorioLogs.Singleton.ObtenerCantidadPaginas(); return Ok(c); } }