ahora esta la gestion de permisos
This commit is contained in:
@@ -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