# dependencies/permissions.py

from fastapi import Request, Depends, HTTPException, status
from app.services.PermissionsService import PermissionsService
from app.dependencies.auth import get_current_user

async def permission_required_by_path(
    #async def dependency(
        request: Request,
        modules: list = None,
        user: dict = None,
    #):
):
    path = request.url.path
    method = request.method
    rol_id = user["id_rol"]
    if not PermissionsService.has_permission_by_path(rol_id, path, method, modules):
        raise HTTPException(
            status_code=status.HTTP_403_FORBIDDEN,
            detail="No tienes permisos para acceder a esta ruta"
        )

    return True
