añadido endpoint para crear permisos

This commit is contained in:
2025-03-14 02:33:59 -03:00
parent 878583664e
commit b3ffa657f5
3 changed files with 68 additions and 18 deletions

View File

@@ -3,21 +3,26 @@ using Entidades;
using Microsoft.EntityFrameworkCore;
namespace Modelo;
public class RepositorioPermisos: RepositorioBase<RepositorioPermisos> {
public object? ListarPermisos(string email) {
public class RepositorioPermisos : RepositorioBase<RepositorioPermisos>
{
public object? ListarPermisos(string email)
{
var con = Context;
Cliente? cli = con.Clientes.Include(x => x.Idgrupos).FirstOrDefault(c => c.Email == email);
if (cli == null) return null;
var list = con.Clientes
.Where(c => c.Dni == cli.Dni)
.SelectMany(c => c.Idgrupos)
.Include(x=> x.Idpermisos);
.SelectMany(c => c.Idgrupos)
.Include(x => x.Idpermisos);
return list;
}
public bool CheckPermisos(string token, int idpermiso){
public bool CheckPermisos(string token, int idpermiso)
{
// Aca tengo que modificar esto para que haga una busqueda de profundidad para los permisos
//
var con = Context;
bool tienePermiso = false;
@@ -41,12 +46,22 @@ public class RepositorioPermisos: RepositorioBase<RepositorioPermisos> {
//int.TryParse(match.Groups[1].Value, out int idpermiso);
/////////////////////////////////////////////////////////////////
Parallel.ForEach(permisos, (x, i) =>{
if (x.Id == idpermiso) {
Parallel.ForEach(permisos, (x, i) =>
{
if (x.Id == idpermiso)
{
tienePermiso = true;
}
});
return tienePermiso;
}
}
public bool CrearPermiso(Permiso per)
{
var con = Context;
per.Id = con.Permisos.Any() ? con.Permisos.Max(x => x.Id) + 1 : 1;
con.Permisos.Add(per);
return Guardar(con);
}
}