diff --git a/Aspnet/Controllers/AccionesController.cs b/Aspnet/Controllers/AccionesController.cs
index e69516d..240f30c 100644
--- a/Aspnet/Controllers/AccionesController.cs
+++ b/Aspnet/Controllers/AccionesController.cs
@@ -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);
}
}
\ No newline at end of file
diff --git a/Aspnet/Controllers/GruposController.cs b/Aspnet/Controllers/GruposController.cs
new file mode 100644
index 0000000..df3d5ee
--- /dev/null
+++ b/Aspnet/Controllers/GruposController.cs
@@ -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
\ No newline at end of file
diff --git a/Aspnet/Controllers/InquilinoController.cs b/Aspnet/Controllers/InquilinoController.cs
index 72b136b..b2c6764 100644
--- a/Aspnet/Controllers/InquilinoController.cs
+++ b/Aspnet/Controllers/InquilinoController.cs
@@ -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")]
diff --git a/Aspnet/Controllers/LoginController.cs b/Aspnet/Controllers/LoginController.cs
index 706d6cd..2667370 100644
--- a/Aspnet/Controllers/LoginController.cs
+++ b/Aspnet/Controllers/LoginController.cs
@@ -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"});
+ }
+
}
diff --git a/Aspnet/Controllers/PermisosController.cs b/Aspnet/Controllers/PermisosController.cs
new file mode 100644
index 0000000..0cdf113
--- /dev/null
+++ b/Aspnet/Controllers/PermisosController.cs
@@ -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
\ No newline at end of file
diff --git a/Entidades/Dto/InquilinoDto.cs b/Entidades/Dto/InquilinoDto.cs
new file mode 100644
index 0000000..c02552b
--- /dev/null
+++ b/Entidades/Dto/InquilinoDto.cs
@@ -0,0 +1,8 @@
+namespace Entidades.Dto;
+
+public class InquilinoDto {
+ public long Dni { get; set; }
+ public string Nombre { get; set; } = "";
+ public string Apellido { get; set; } = "";
+
+}
\ No newline at end of file
diff --git a/Entidades/Dto/LoginDto.cs b/Entidades/Dto/LoginDto.cs
index 795194f..568ecf2 100644
--- a/Entidades/Dto/LoginDto.cs
+++ b/Entidades/Dto/LoginDto.cs
@@ -1,9 +1,7 @@
-using System.ComponentModel.DataAnnotations.Schema;
-
namespace Entidades.Dto;
public class LoginDto
{
public string Email {get; set;} = string.Empty;
- public string Contraseña {get; set;} = string.Empty;
+ public string? Contraseña {get; set;} = string.Empty;
}
diff --git a/Front/src/lib/NavBarAutocompletable.svelte b/Front/src/lib/NavBarAutocompletable.svelte
index 54c4262..dff21f9 100644
--- a/Front/src/lib/NavBarAutocompletable.svelte
+++ b/Front/src/lib/NavBarAutocompletable.svelte
@@ -1,44 +1,59 @@
- AlquilaFacil
+
+ AlquilaFacil
+
(isOpen = !isOpen)} />
-
+
diff --git a/Front/src/lib/NavBarLogin.svelte b/Front/src/lib/NavBarLogin.svelte
index 79e38e5..556024e 100644
--- a/Front/src/lib/NavBarLogin.svelte
+++ b/Front/src/lib/NavBarLogin.svelte
@@ -1,9 +1,8 @@
@@ -12,7 +11,7 @@
AlquilaFacil
(isOpen = !isOpen)} />
-
+