Files
AlquilaFacil/Aspnet/Controllers/AccionesController.cs

40 lines
1.5 KiB
C#

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);
}
}