using Microsoft.AspNetCore.Mvc; using Modelo; using AlquilaFacil.Builder; using Entidades; namespace AlquilaFacil.Controllers; [ApiController] public class GruposController : ControllerBase { [HttpGet("api/admin/grupos")] public IActionResult ObtenerGrupos([FromHeader(Name = "Auth")] string Auth) { var ret = RepositorioPermisos.Singleton.CheckPermisos(Auth, 18); if (ret == false) return BadRequest(new { message = "No tiene permiso para Gestionar grupos" }); Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth); if (cli == null) return BadRequest(new { message = "No hay un cliente por el token que enviaste" }); var grupos = RepositorioGrupos.Singleton.ListarTodosLosGrupos() .Select(g => new GrupoDtoBuilder() .ConNombre(g.Nombre) .ConIdGrupo(g.Id) .ConGruposIncluidos(new HashSet(g.IdGrupoHijos .Select(id => id.ToString() ?? ""))) .ConPermisos(g.Idpermisos.Select(p => new PermisoDtoBuilder() .ConId(p.Id) .ConDescripcion(p.Descripcion) .Build()) .ToList()) .Build()) .ToList(); return Ok(grupos); } }