
    Sh                     D    S SK Jr  S SKJrJrJr   " S S5      rS rS rg)    wraps)grequestabortc                   "    \ rS rSrSrSS jrSrg)MockUser   z(A mock user object for testing purposes.c                     Xl         X l        g )Nusernameis_admin)selfr   r   s      $/root/zotify-API/Gonk/GonkUI/auth.py__init__MockUser.__init__   s          )r   r   N)F)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__ r   r   r	   r	      s
    2!r   r	   c                 0   ^  [        T 5      U 4S j5       nU$ )zBA dummy decorator that checks for an admin user on the 'g' object.c                     > [        [        S5      (       a4  [        R                  (       a  [        R                  R                  (       d  [	        S5        T" U 0 UD6$ )Ncurrent_useri  )hasattrr   r   r   r   )argskwargsfs     r   decorated_function)require_admin.<locals>.decorated_function   s9    q.))q~~G^G^#J$!&!!r   r   )r!   r"   s   ` r   require_adminr$   
   s!    
1X" " r   c                 (    U R                   S 5       ng)zI
A function to set up a mock user on the 'g' object before each request.
c                      [         R                  R                  SS5      R                  5       n U S:H  nU(       a  [	        SSS9[
        l        g [	        SSS9[
        l        g )NzX-Mock-Admintrue
test_adminTr   	test_userF)r   headersgetlowerr	   r   r   )is_admin_strr   s     r   mock_user_lookup*setup_auth_hooks.<locals>.mock_user_lookup   sL     **>6BHHJ6)%|dKAN%{UKANr   N)before_request)appr.   s     r   setup_auth_hooksr2      s     	L Lr   N)		functoolsr   flaskr   r   r   r	   r$   r2   r   r   r   <module>r5      s#     # #! !Lr   