39 lines
1.5 KiB
C#
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);
|
|
}
|
|
}
|