Fix: Bug VerduleriaVendeFacturas
This commit is contained in:
@@ -6,7 +6,11 @@ namespace AlquilaFacil.Controllers;
|
|||||||
[ApiController]
|
[ApiController]
|
||||||
public class GruposController: ControllerBase {
|
public class GruposController: ControllerBase {
|
||||||
[HttpPost("api/admin/grupos")]
|
[HttpPost("api/admin/grupos")]
|
||||||
public IActionResult CrearGrupo([FromBody] AdminGrupo grupo) {
|
public IActionResult CrearGrupo([FromBody] AdminGrupo grupo, [FromHeader(Name = "Auth")] string Auth) {
|
||||||
|
if (!string.IsNullOrEmpty(Auth)) return BadRequest();
|
||||||
|
var ret2 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 10);
|
||||||
|
if (ret2 == false) return BadRequest(ret2);
|
||||||
|
|
||||||
if (String.IsNullOrEmpty(grupo.descripcion)) return BadRequest();
|
if (String.IsNullOrEmpty(grupo.descripcion)) return BadRequest();
|
||||||
|
|
||||||
bool ret = RepositorioGrupos.Singleton.CrearGrupo(grupo.descripcion);
|
bool ret = RepositorioGrupos.Singleton.CrearGrupo(grupo.descripcion);
|
||||||
|
|||||||
@@ -15,9 +15,8 @@ public class InquilinoController: ControllerBase
|
|||||||
[HttpGet("api/inquilino")]
|
[HttpGet("api/inquilino")]
|
||||||
public IActionResult Get([FromHeader(Name = "Auth")] string Auth) {
|
public IActionResult Get([FromHeader(Name = "Auth")] string Auth) {
|
||||||
if (!string.IsNullOrEmpty(Auth)) return BadRequest();
|
if (!string.IsNullOrEmpty(Auth)) return BadRequest();
|
||||||
string path = Request.Path;
|
var ret = RepositorioPermisos.Singleton.CheckPermisos(Auth, 9);
|
||||||
|
|
||||||
var ret = RepositorioPermisos.Singleton.CheckPermisos(Auth, path);
|
|
||||||
if (ret == false) return BadRequest(ret);
|
if (ret == false) return BadRequest(ret);
|
||||||
|
|
||||||
var list = RepositorioInquilinos.Singleton.GetInquilinos();
|
var list = RepositorioInquilinos.Singleton.GetInquilinos();
|
||||||
@@ -26,7 +25,11 @@ public class InquilinoController: ControllerBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost("api/inquilino")]
|
[HttpPost("api/inquilino")]
|
||||||
public IActionResult Post([FromBody] CrearClienteDto cid) {
|
public IActionResult Post([FromBody] CrearClienteDto cid, [FromHeader(Name = "Auth")] string Auth) {
|
||||||
|
if (!string.IsNullOrEmpty(Auth)) return BadRequest();
|
||||||
|
var ret3 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 4);
|
||||||
|
if (ret3 == false) return BadRequest(ret3);
|
||||||
|
|
||||||
|
|
||||||
var ret = verificarCrearUsuario(cid);
|
var ret = verificarCrearUsuario(cid);
|
||||||
if (ret != "") return BadRequest(ret);
|
if (ret != "") return BadRequest(ret);
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ public class LoginController: ControllerBase
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private string GenerarToken(LoginDto loginDto){
|
private string GenerarToken(LoginDto loginDto){
|
||||||
var tokenHandler = new JwtSecurityTokenHandler();
|
var tokenHandler = new JwtSecurityTokenHandler();
|
||||||
var key = Encoding.ASCII.GetBytes("ffb2cdc15d472e41a5b626e294c45020");
|
var key = Encoding.ASCII.GetBytes("ffb2cdc15d472e41a5b626e294c45020");
|
||||||
|
|||||||
@@ -7,7 +7,11 @@ namespace AlquilaFacil.Controllers;
|
|||||||
[ApiController]
|
[ApiController]
|
||||||
public class PermisosController: ControllerBase {
|
public class PermisosController: ControllerBase {
|
||||||
[HttpPost("api/admin/permisos")]
|
[HttpPost("api/admin/permisos")]
|
||||||
public IActionResult CrearPermisos([FromBody] AdminPermiso permiso) {
|
public IActionResult CrearPermisos([FromBody] AdminPermiso permiso, [FromHeader(Name = "Auth")] string Auth) {
|
||||||
|
if (!string.IsNullOrEmpty(Auth)) return BadRequest();
|
||||||
|
var ret2 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 11);
|
||||||
|
if (ret2 == false) return BadRequest(ret2);
|
||||||
|
|
||||||
if (String.IsNullOrEmpty(permiso.descripcion)) return BadRequest();
|
if (String.IsNullOrEmpty(permiso.descripcion)) return BadRequest();
|
||||||
|
|
||||||
bool ret = RepositorioPermisos.Singleton.CrearPermiso(permiso.descripcion);
|
bool ret = RepositorioPermisos.Singleton.CrearPermiso(permiso.descripcion);
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ namespace AlquilaFacil.Controllers;
|
|||||||
[ApiController]
|
[ApiController]
|
||||||
public class PropiedadesController: ControllerBase {
|
public class PropiedadesController: ControllerBase {
|
||||||
[HttpGet("api/propiedades")]
|
[HttpGet("api/propiedades")]
|
||||||
public IActionResult ListarPropietarios([FromHeader(Name = "Auth")] string Auth) {
|
public IActionResult ListarPropiedades([FromHeader(Name = "Auth")] string Auth) {
|
||||||
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
||||||
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, Request.Path);
|
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 12);
|
||||||
if (validacion1 == false) return Unauthorized();
|
if (validacion1 == false) return Unauthorized();
|
||||||
|
|
||||||
var ret = RepositorioPropiedades.Singleton.ListarPropiedades();
|
var ret = RepositorioPropiedades.Singleton.ListarPropiedades();
|
||||||
@@ -21,7 +21,7 @@ public class PropiedadesController: ControllerBase {
|
|||||||
[HttpGet("api/propiedad")]
|
[HttpGet("api/propiedad")]
|
||||||
public IActionResult ObtenerPropiedadPorId(int Id, [FromHeader(Name = "Auth")] string Auth) {
|
public IActionResult ObtenerPropiedadPorId(int Id, [FromHeader(Name = "Auth")] string Auth) {
|
||||||
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
||||||
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, Request.Path);
|
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 12);
|
||||||
if (validacion1 == false) return Unauthorized();
|
if (validacion1 == false) return Unauthorized();
|
||||||
|
|
||||||
if (Id < 0) return BadRequest("la id de propiedad no puede ser negativa");
|
if (Id < 0) return BadRequest("la id de propiedad no puede ser negativa");
|
||||||
@@ -32,12 +32,12 @@ public class PropiedadesController: ControllerBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("api/propiedades/Propietario")]
|
[HttpGet("api/propiedades/Propietario")]
|
||||||
public IActionResult ObtenerPropiedadesPorPropietario(
|
public IActionResult ObtenerPropiedadesPorPropietario (
|
||||||
[FromBody] string email,
|
[FromBody] string email,
|
||||||
[FromHeader(Name = "Auth")] string Auth) {
|
[FromHeader(Name = "Auth")] string Auth) {
|
||||||
|
|
||||||
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
||||||
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, Request.Path);
|
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 12);
|
||||||
if (validacion1 == false) return Unauthorized();
|
if (validacion1 == false) return Unauthorized();
|
||||||
|
|
||||||
email = email.Trim();
|
email = email.Trim();
|
||||||
@@ -51,7 +51,7 @@ public class PropiedadesController: ControllerBase {
|
|||||||
[HttpPost("api/propiedad")]
|
[HttpPost("api/propiedad")]
|
||||||
public IActionResult AltaPropiedad([FromBody] AltaPropiedadDto propiedad, [FromHeader(Name = "Auth")] string Auth) {
|
public IActionResult AltaPropiedad([FromBody] AltaPropiedadDto propiedad, [FromHeader(Name = "Auth")] string Auth) {
|
||||||
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
||||||
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, Request.Path);
|
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 1);
|
||||||
if (validacion1 == false) return Unauthorized();
|
if (validacion1 == false) return Unauthorized();
|
||||||
|
|
||||||
string validacion2 = ValidarPropiedad(propiedad);
|
string validacion2 = ValidarPropiedad(propiedad);
|
||||||
@@ -78,7 +78,7 @@ public class PropiedadesController: ControllerBase {
|
|||||||
[HttpDelete("api/propiedad")]
|
[HttpDelete("api/propiedad")]
|
||||||
public IActionResult BajaPropiedad(int id, [FromHeader(Name = "Auth")] string Auth){
|
public IActionResult BajaPropiedad(int id, [FromHeader(Name = "Auth")] string Auth){
|
||||||
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
||||||
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, Request.Path);
|
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 2);
|
||||||
if (validacion1 == false) return Unauthorized();
|
if (validacion1 == false) return Unauthorized();
|
||||||
|
|
||||||
if (id <= 0) return BadRequest("No es una id valida");
|
if (id <= 0) return BadRequest("No es una id valida");
|
||||||
@@ -93,7 +93,7 @@ public class PropiedadesController: ControllerBase {
|
|||||||
[HttpPut("api/propiedades/addServicio")]
|
[HttpPut("api/propiedades/addServicio")]
|
||||||
public IActionResult AñadirServicio([FromBody] ServicioAPropiedadDto Servicios, [FromHeader(Name = "Auth")] string Auth) {
|
public IActionResult AñadirServicio([FromBody] ServicioAPropiedadDto Servicios, [FromHeader(Name = "Auth")] string Auth) {
|
||||||
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
||||||
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, Request.Path);
|
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 8);
|
||||||
if (validacion1 == false) return Unauthorized();
|
if (validacion1 == false) return Unauthorized();
|
||||||
|
|
||||||
if (Servicios.propiedadid <= 0) return BadRequest("No puede tener una id negativa o cero");
|
if (Servicios.propiedadid <= 0) return BadRequest("No puede tener una id negativa o cero");
|
||||||
@@ -117,7 +117,7 @@ public class PropiedadesController: ControllerBase {
|
|||||||
[HttpPut("api/propiedades/RmServicio")]
|
[HttpPut("api/propiedades/RmServicio")]
|
||||||
public IActionResult EliminarServicio([FromBody] ServicioAPropiedadDto servicio, [FromHeader(Name = "Auth")] string Auth) {
|
public IActionResult EliminarServicio([FromBody] ServicioAPropiedadDto servicio, [FromHeader(Name = "Auth")] string Auth) {
|
||||||
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
||||||
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, Request.Path);
|
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 13);
|
||||||
if (validacion1 == false) return Unauthorized();
|
if (validacion1 == false) return Unauthorized();
|
||||||
|
|
||||||
if (servicio.propiedadid <= 0) return BadRequest("No puede tener una id negativa o cero");
|
if (servicio.propiedadid <= 0) return BadRequest("No puede tener una id negativa o cero");
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ public class PropietarioController: ControllerBase {
|
|||||||
[HttpGet("api/propietario")]
|
[HttpGet("api/propietario")]
|
||||||
public IActionResult ObtenerPropietarioPorDni(long Dni, [FromHeader(Name ="Auth")] string Auth) {
|
public IActionResult ObtenerPropietarioPorDni(long Dni, [FromHeader(Name ="Auth")] string Auth) {
|
||||||
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
||||||
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, Request.Path);
|
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 14);
|
||||||
if (validacion1 == false) return Unauthorized();
|
if (validacion1 == false) return Unauthorized();
|
||||||
|
|
||||||
var ret = RepositorioPropietario.Singleton.ObtenerPropietarioPorDni(Dni);
|
var ret = RepositorioPropietario.Singleton.ObtenerPropietarioPorDni(Dni);
|
||||||
@@ -25,7 +25,7 @@ public class PropietarioController: ControllerBase {
|
|||||||
public IActionResult AltaPropietario([FromBody]CrearClienteDto Propietario,
|
public IActionResult AltaPropietario([FromBody]CrearClienteDto Propietario,
|
||||||
[FromHeader(Name = "Auth")] string Auth) {
|
[FromHeader(Name = "Auth")] string Auth) {
|
||||||
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
||||||
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, Request.Path);
|
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 5);
|
||||||
if (validacion1 == false) return Unauthorized();
|
if (validacion1 == false) return Unauthorized();
|
||||||
|
|
||||||
string validacion2 = verificarCrearUsuario(Propietario);
|
string validacion2 = verificarCrearUsuario(Propietario);
|
||||||
@@ -49,7 +49,7 @@ public class PropietarioController: ControllerBase {
|
|||||||
[HttpPatch("api/propietarios")]
|
[HttpPatch("api/propietarios")]
|
||||||
public IActionResult PatchPropietario([FromBody]CrearClienteDto Propietario, [FromHeader(Name = "Auth")] string Auth){
|
public IActionResult PatchPropietario([FromBody]CrearClienteDto Propietario, [FromHeader(Name = "Auth")] string Auth){
|
||||||
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
|
||||||
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, Request.Path);
|
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 5);
|
||||||
if (validacion1 == false) return Unauthorized();
|
if (validacion1 == false) return Unauthorized();
|
||||||
|
|
||||||
string validacion2 = verificarCrearUsuario(Propietario);
|
string validacion2 = verificarCrearUsuario(Propietario);
|
||||||
|
|||||||
@@ -17,8 +17,10 @@ public class RepositorioPermisos: RepositorioBase<RepositorioPermisos> {
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool CheckPermisos(string token, string path){
|
public bool CheckPermisos(string token, int idpermiso){
|
||||||
var con = Context;
|
var con = Context;
|
||||||
|
bool tienePermiso = false;
|
||||||
|
|
||||||
//checkeo que el token corresponda a un usuario
|
//checkeo que el token corresponda a un usuario
|
||||||
Cliente? cli = con.Clientes.FirstOrDefault(x => x.Token == token);
|
Cliente? cli = con.Clientes.FirstOrDefault(x => x.Token == token);
|
||||||
if (cli == null || cli.Dni == 0) return false;
|
if (cli == null || cli.Dni == 0) return false;
|
||||||
@@ -30,10 +32,13 @@ public class RepositorioPermisos: RepositorioBase<RepositorioPermisos> {
|
|||||||
.SelectMany(x => x.Idpermisos)
|
.SelectMany(x => x.Idpermisos)
|
||||||
.Distinct();
|
.Distinct();
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////
|
||||||
|
//Esto esta comentado porque antes pasaba el string del path de la url, es una mala idea a muchos niveles
|
||||||
|
/////////////////////////////////////////////////////////////////
|
||||||
//me inspiré y hice un regex pero si eliminaba los primeros 8(?) caracteres del string era lo mismo
|
//me inspiré y hice un regex pero si eliminaba los primeros 8(?) caracteres del string era lo mismo
|
||||||
Match match = Regex.Match(path, @"^/accion/(\d+)$");
|
//Match match = Regex.Match(path, @"^/accion/(\d+)$");
|
||||||
int.TryParse(match.Groups[1].Value, out int idpermiso);
|
//int.TryParse(match.Groups[1].Value, out int idpermiso);
|
||||||
bool tienePermiso = false;
|
/////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
Parallel.ForEach(permisos, (x, i) =>{
|
Parallel.ForEach(permisos, (x, i) =>{
|
||||||
if (x.Id == idpermiso) {
|
if (x.Id == idpermiso) {
|
||||||
|
|||||||
Reference in New Issue
Block a user