o
    ޗhq                     @   sZ   d dl mZmZmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ defddZd	S )
    )DependsHTTPExceptionRequest)Session)UserPermission
Permission)get_db)get_current_userpermission_namec                    s$   t tt tfdtf fdd}|S )Ndbc                    sr   | ttj ktjdk }|stdd  dd| tj| j	|j	d }|s7tdd  ddd	S )
N   i  zPermission 'z' not found or inactive)status_codedetail)user_idpermission_idzAccess denied: missing 'z' permissionT)
queryr   filternamestatusfirstr   r   	filter_byid)current_userr   Z
permissionexistsr
    ./var/www/html/vive_backend/app/dependencies.py_permission_dependency   s   
z3permission_required.<locals>._permission_dependency)r   r	   r   r   )r
   r   r   r   r   permission_required   s   r   N)fastapir   r   r   sqlalchemy.ormr   
app.modelsr   r   app.databaser   app.authr	   strr   r   r   r   r   <module>   s    