primeros cambios para manejar los permisos y grupos
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using Entidades.Dto;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Modelo;
|
||||
|
||||
@@ -7,14 +8,17 @@ namespace AlquilaFacil.Controllers;
|
||||
public class AccionesController: ControllerBase {
|
||||
|
||||
[HttpPost("api/acciones")]
|
||||
public IActionResult ListarAccionesPorUsuario([FromBody] string email) {
|
||||
Request.Cookies.TryGetValue("token", out var token);
|
||||
if (token == null) return Unauthorized(new { esValido = false});
|
||||
public IActionResult ListarAccionesPorUsuario([FromBody] LoginDto email, [FromHeader(Name = "Auth")] string Auth) {
|
||||
if (email.Email == "" || email.Email == null) return BadRequest();
|
||||
|
||||
bool esValido = RepositorioUsuarios.Singleton.CheckToken(email, token);
|
||||
|
||||
if (Auth == "") return Unauthorized(new { esValido = false});
|
||||
|
||||
bool esValido = RepositorioUsuarios.Singleton.CheckToken(email.Email, Auth);
|
||||
if (!esValido) return Unauthorized();
|
||||
|
||||
var Permisos = RepositorioPermisos.Singleton.ListarPermisos(email);
|
||||
var Permisos = RepositorioPermisos.Singleton.ListarPermisos(email.Email);
|
||||
Response.Headers["Content-Type"] = "application/json";
|
||||
return Ok(Permisos);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
#if DEBUG
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Modelo;
|
||||
namespace AlquilaFacil.Controllers;
|
||||
|
||||
[ApiController]
|
||||
public class GruposController: ControllerBase {
|
||||
[HttpPost("api/admin/grupos")]
|
||||
public IActionResult CrearPermisos([FromBody] AdminGrupo grupo) {
|
||||
if (String.IsNullOrEmpty(grupo.descripcion)) return BadRequest();
|
||||
|
||||
bool ret = RepositorioGrupos.Singleton.CrearGrupo(grupo.descripcion);
|
||||
return (ret) ? Ok(ret) : BadRequest();
|
||||
}
|
||||
}
|
||||
|
||||
public record AdminGrupo(string descripcion);
|
||||
#endif
|
||||
@@ -12,8 +12,16 @@ public class InquilinoController: ControllerBase
|
||||
{
|
||||
|
||||
[HttpGet("api/inquilino")]
|
||||
public IActionResult Get() {
|
||||
return Ok();
|
||||
public IActionResult Get([FromHeader(Name = "Auth")] string Auth) {
|
||||
if (!string.IsNullOrEmpty(Auth)) return BadRequest();
|
||||
string path = Request.Path;
|
||||
|
||||
var ret = RepositorioPermisos.Singleton.CheckPermisos(Auth, path);
|
||||
if (ret == false) return BadRequest(ret);
|
||||
|
||||
var list = RepositorioInquilinos.Singleton.GetInquilinos();
|
||||
|
||||
return Ok(list);
|
||||
}
|
||||
|
||||
[HttpPost("api/inquilino")]
|
||||
|
||||
@@ -24,19 +24,19 @@ public class LoginController: ControllerBase
|
||||
var cookieOptions = new CookieOptions
|
||||
{
|
||||
HttpOnly = true,
|
||||
Secure = true,
|
||||
//SameSite = SameSiteMode.Strict,
|
||||
Expires = DateTimeOffset.UtcNow.AddHours(1)
|
||||
Secure = true,
|
||||
SameSite = SameSiteMode.None,
|
||||
Path = "/Menu",
|
||||
|
||||
Expires = DateTimeOffset.UtcNow.AddHours(1)
|
||||
};
|
||||
|
||||
Response.Cookies.Append("token", tokenString, cookieOptions);
|
||||
return Ok( new {Email = loginDto.Email, Redirect = "/Menu"});
|
||||
return Ok( new {Email = loginDto.Email, Token = tokenString, Redirect = "/Menu"});
|
||||
}
|
||||
|
||||
[HttpPost("api/login/validar")]
|
||||
public IActionResult Verificar([FromBody] AccessDto request){
|
||||
|
||||
Request.Cookies.TryGetValue("token", out var token);
|
||||
public IActionResult Verificar([FromBody] AccessDto request, [FromHeader(Name = "Auth")] string token){
|
||||
|
||||
if (request.Email == String.Empty || token == null ||request.Redirect == string.Empty)
|
||||
{
|
||||
@@ -44,8 +44,13 @@ public class LoginController: ControllerBase
|
||||
}
|
||||
|
||||
bool esValido = RepositorioUsuarios.Singleton.CheckToken(request.Email, token);
|
||||
return (esValido) ?
|
||||
Ok( new { esValido = true}) : Unauthorized( new {esValido = false});
|
||||
if (esValido) {
|
||||
return Ok(new {esValido = esValido});
|
||||
} else {
|
||||
|
||||
return Unauthorized(new {esValido = "el token no es valido"});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
#if DEBUG
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Modelo;
|
||||
namespace AlquilaFacil.Controllers;
|
||||
|
||||
[ApiController]
|
||||
public class PermisosController: ControllerBase {
|
||||
[HttpPost("api/admin/permisos")]
|
||||
public IActionResult CrearPermisos([FromBody] AdminPermiso permiso) {
|
||||
if (String.IsNullOrEmpty(permiso.descripcion)) return BadRequest();
|
||||
|
||||
bool ret = RepositorioPermisos.Singleton.CrearPermiso(permiso.descripcion);
|
||||
return (ret) ? Ok(ret) : BadRequest();
|
||||
}
|
||||
}
|
||||
|
||||
public record AdminPermiso(string descripcion);
|
||||
#endif
|
||||
Reference in New Issue
Block a user