using System.ComponentModel.DataAnnotations; using Entidades.Dto; using Microsoft.AspNetCore.Mvc; using Modelo; using System.Text.Json; namespace AlquilaFacil.Controllers; [ApiController] public class AccionesController: ControllerBase { [HttpGet("api/acciones")] public IActionResult ListarAccionesPorUsuario([FromHeader(Name ="Email")] string Email, [FromHeader(Name = "Auth")] string Auth) { if (Email == "" || Email == null) return BadRequest(); if (Auth == "") return Unauthorized(new { esValido = false}); bool esValido = RepositorioUsuarios.Singleton.CheckToken(Email, Auth); if (!esValido) return Unauthorized(); var Permisos = RepositorioPermisos.Singleton.ListarPermisos(Email); Response.Headers["Content-Type"] = "application/json"; return Ok(Permisos); } [HttpPost("api/acciones/grupo")] public IActionResult ListarAccionesPorGrupo([FromHeader(Name = "Auth")] string Auth, [FromBody] AccionesPorGrupoDto req) { if (string.IsNullOrEmpty(Auth)) return BadRequest(); bool esValido = RepositorioUsuarios.Singleton.CheckToken(req.Email, Auth); if (esValido == false) return BadRequest(esValido); bool tieneGrupo = RepositorioUsuarios.Singleton.CheckGrupo(req.Email, req.Grupo); if (tieneGrupo == false) return Unauthorized(); var permisos = RepositorioGrupos.Singleton.ListarPermisosDeGrupo(req.Grupo); return Ok(permisos); } }