ahora esta la gestion de permisos
This commit is contained in:
@@ -6,4 +6,10 @@ public class PermisoBuilder : Builder<Permiso>
|
||||
data.Descripcion = desc;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PermisoBuilder SetID(int id)
|
||||
{
|
||||
data.Id = id;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,34 +39,35 @@ public class AccionesController : ControllerBase
|
||||
var permisos = RepositorioGrupos.Singleton.ListarPermisosDeGrupo(req.Grupo);
|
||||
return Ok(permisos);
|
||||
}
|
||||
|
||||
[HttpPost("api/acciones/crear")] //creo que es codido duplicado
|
||||
public IActionResult CrearAcciones([FromHeader(Name = "Auth")] string Auth,
|
||||
[FromBody] CrearAccionesDto req)
|
||||
{
|
||||
if (string.IsNullOrEmpty(Auth)) return BadRequest();
|
||||
|
||||
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
|
||||
if (cli == null) return Unauthorized();
|
||||
|
||||
var ret = RepositorioPermisos.Singleton.CheckPermisos(Auth, 1); //wip lo voy a usar para crear el permiso que va
|
||||
if (ret == false) return Unauthorized();
|
||||
|
||||
if (string.IsNullOrWhiteSpace(req.Descripcion))
|
||||
/*
|
||||
[HttpPost("api/acciones/crear")] //creo que es codido duplicado
|
||||
public IActionResult CrearAcciones([FromHeader(Name = "Auth")] string Auth,
|
||||
[FromBody] CrearAccionesDto req)
|
||||
{
|
||||
return BadRequest(new { message = "La descripción no puede estar vacía" });
|
||||
if (string.IsNullOrEmpty(Auth)) return BadRequest();
|
||||
|
||||
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
|
||||
if (cli == null) return Unauthorized();
|
||||
|
||||
var ret = RepositorioPermisos.Singleton.CheckPermisos(Auth, 1); //wip lo voy a usar para crear el permiso que va
|
||||
if (ret == false) return Unauthorized();
|
||||
|
||||
if (string.IsNullOrWhiteSpace(req.Descripcion))
|
||||
{
|
||||
return BadRequest(new { message = "La descripción no puede estar vacía" });
|
||||
}
|
||||
|
||||
if (req.Descripcion.Length > 25)
|
||||
{
|
||||
return BadRequest(new { message = "La descripción no puede ser mayor a 25 caracteres" });
|
||||
}
|
||||
|
||||
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" });
|
||||
}
|
||||
|
||||
if (req.Descripcion.Length > 25)
|
||||
{
|
||||
return BadRequest(new { message = "La descripción no puede ser mayor a 25 caracteres" });
|
||||
}
|
||||
|
||||
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" });
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Modelo;
|
||||
using Entidades;
|
||||
using Entidades.Dto;
|
||||
using AlquilaFacil.Builder;
|
||||
namespace AlquilaFacil.Controllers;
|
||||
@@ -7,18 +8,40 @@ namespace AlquilaFacil.Controllers;
|
||||
[ApiController]
|
||||
public class PermisoController : ControllerBase
|
||||
{
|
||||
[HttpPost("api/admin/grupos")]
|
||||
[HttpPost("api/permisos")]
|
||||
public IActionResult CrearPermiso([FromHeader(Name = "Auth")] string Auth, PermisoDto perm)
|
||||
{
|
||||
//WIP
|
||||
var ret1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 17);
|
||||
if (ret1 == false) return BadRequest(new { message = "No tienes permiso para esto" });
|
||||
|
||||
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
|
||||
if (cli == null) return BadRequest(new { message = "No hay un cliente por el token que enviaste" });
|
||||
|
||||
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);
|
||||
var ret = RepositorioPermisos.Singleton.CrearPermiso(permiso, cli);
|
||||
|
||||
return ret ? Ok() : BadRequest();
|
||||
}
|
||||
[HttpPatch("api/permisos")]
|
||||
public IActionResult PatchPermiso([FromHeader(Name = "Auth")] string Auth, PermisoDto perm)
|
||||
{
|
||||
var ret1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 17);
|
||||
if (ret1 == false) return BadRequest(new { message = "No tienes permiso para esto" });
|
||||
|
||||
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
|
||||
if (cli == null) return BadRequest(new { message = "No hay un cliente por el token que enviaste" });
|
||||
|
||||
if (perm.Id <= 0) return BadRequest(new { message = "No puede haber una id 0 o menor" });
|
||||
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).SetID(perm.Id).Build();
|
||||
|
||||
var ret = RepositorioPermisos.Singleton.PatchPermiso(permiso, cli);
|
||||
|
||||
return ret ? Ok() : BadRequest();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user