
    Xj                         d dl mZ d dlmZmZ d dlmZ  ee          Zde	fdZ
de	fdZde	fdZde	fdZd	ede	d
e	defdZdS )    )Depends)Userget_current_user)
get_loggerresourcec                 R    t          t                    fdt          dt          fd}|S )Ncurrent_userreturnc                 
   K   | S N r	   s    E/lsinfo/ai/hellotax_ai/training_center/backend/app/api/permissions.pycheckerzrequire_read.<locals>.checker             r   r   r   r   r   s     r   require_readr   
   :    )01A)B)B  D t    Nr   c                 R    t          t                    fdt          dt          fd}|S )Nr	   r
   c                 
   K   | S r   r   r   s    r   r   zrequire_create.<locals>.checker   r   r   r   r   s     r   require_creater      r   r   c                 R    t          t                    fdt          dt          fd}|S )Nr	   r
   c                 
   K   | S r   r   r   s    r   r   zrequire_update.<locals>.checker   r   r   r   r   s     r   require_updater      r   r   c                 R    t          t                    fdt          dt          fd}|S )Nr	   r
   c                 
   K   | S r   r   r   s    r   r   zrequire_delete.<locals>.checker   r   r   r   r   s     r   require_deleter      r   r   useractionr
   c                     | j         dk    rdS t                              | j        ||                              d           dS )NadminT)user_idr   r!   zPermission deniedF)roleloggerbindidwarning)r    r   r!   s      r   check_permissionr*   "   sB    yGt
KK(6KBBJJK^___5r   N)fastapir   app.api.depsr   r   common_loggingr   __name__r&   strr   r   r   r   boolr*   r   r   r   <module>r1      s          / / / / / / / / % % % % % %	H		3    S    S    S    4 3        r   