40 lines
1.5 KiB
C#
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);
|
|
}
|
|
} |