Files
AlquilaFacil/Aspnet/Controllers/PermisoController.cs

39 lines
1.5 KiB
C#

using Microsoft.AspNetCore.Mvc;
using Modelo;
using Entidades.Dto;
using AlquilaFacil.Builder;
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();
}
[HttpGet("/api/permisos/todos")]
public IActionResult ObtenerTodosLosPermisos([FromHeader(Name = "Auth")] string Auth)
{
var ret = RepositorioPermisos.Singleton.CheckPermisos(Auth, 18);
if (ret == false) return BadRequest(new { message = "No tiene permiso para ver Todos los permisos" });
var permisos = RepositorioPermisos.Singleton.ListarPermisos();
var perms = permisos.Select(permiso => new PermisoDtoBuilder()
.ConId(permiso.Id)
.ConDescripcion(permiso.Descripcion)
.Build());
return Ok(perms);
}
}