primeros pasos en añadir las cosas que pide el profe

This commit is contained in:
2025-03-31 23:27:25 -03:00
parent 790cc31f93
commit 0036f48d19
8 changed files with 73 additions and 4 deletions

View File

@@ -0,0 +1,9 @@
using Entidades;
public class PermisoBuilder : Builder<Permiso>
{
public PermisoBuilder SetDescripcion(string desc)
{
data.Descripcion = desc;
return this;
}
}

View File

@@ -24,9 +24,11 @@ public class AccionesController : ControllerBase
return Ok(Permisos);
}
[HttpPost("api/acciones/grupo")]
public IActionResult ListarAccionesPorGrupo([FromHeader(Name = "Auth")] string Auth,
[FromBody] AccionesPorGrupoDto req) {
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);
@@ -63,7 +65,7 @@ public class AccionesController : ControllerBase
var per = new Permiso
{
Descripcion = req.Descripcion,
}
};
var ret2 = RepositorioPermisos.Singleton.CrearPermiso(per);
return ret2 ? Ok(new { message = "se creo correctamente" }) : BadRequest(new { message = "No se pudo crear el permiso" });
}

View File

@@ -0,0 +1,14 @@
using Microsoft.AspNetCore.Mvc;
using Modelo;
namespace AlquilaFacil.Controllers;
[ApiController]
public class GruposController : ControllerBase
{
[HttpPost("api/admin/grupos")]
public IActionResult ObtenerGrupos([FromHeader(Name = "Auth")] string Auth)
{//WIP
}
}

View File

@@ -0,0 +1,23 @@
using Microsoft.AspNetCore.Mvc;
using Modelo;
namespace AlquilaFacil.Controllers;
[ApiController]
public class PermisoController : ControllerBase
{
[HttpPost("api/admin/grupos")]
public IActionResult CrearPermiso([FromHeader(Name = "Auth")] string Auth, PermisoDto perm)
{
//WIP
var ret1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 17);
if (String.IsNullOrWhiteSpace(perm.Descripcion)) return BadRequest(new { message = "No puede tener una descripcion vacia" });
if (perm.Descripcion.Length > 25) return BadRequest(new { message = "la descripcion no puede tener más de 25 caractéres" });
var permiso = new PermisoBuilder().SetDescripcion(perm.Descripcion).Build();
var ret = RepositorioPermisos.Singleton.CrearPermiso(permiso);
return ret ? Ok() : BadRequest();
}
}

View File

@@ -0,0 +1,14 @@
public class GrupoDto
{
public int idgrupo { get; set; }
public string Nombre { get; set; } = "";
public HashSet<string> GruposIncluidos { get; set; } = [];
public List<PermisoDto> Permisos { get; set; } = [];
}
public class PermisoDto
{
public int Id { get; set; }
public string Descripcion { get; set; } = "";
}

View File

@@ -0,0 +1,6 @@
<script>
import NavBarAutocompletable from "../Componentes/NavBarAutocompletable.svelte";
</script>
<NavBarAutocompletable />
<div class="container-fluid"></div>

View File

@@ -0,0 +1 @@
//WIP

View File

@@ -36,7 +36,7 @@ public class RepositorioPermisos : RepositorioBase<RepositorioPermisos>
.SelectMany(x => x.Idgrupos)
.SelectMany(x => x.Idpermisos)
.Distinct();
/////////////////////////////////////////////////////////////////
//Esto esta comentado porque antes pasaba el string del path de la url, es una mala idea a muchos niveles
// abajo un comentario viejo mio