HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall_forms/buyercall/buyercall/lib/__pycache__/util_rest.cpython-38.pyc
U

k�if��@s�ddlmZddlmZmZmZmZddlm	Z	m
Z
e	�Ze
dd��Ze
dd��Z
e
dd��Ze
dd��Ze
d	d��Zd
ddgZd
d�Zdd�Zdd�Zdd�ZdS)���wraps)�
make_response�request�jsonify�current_app)�Local�
LocalProxycCstjS�N)�_local�partnership_account�r
r
�I/home/arjun/projects/buyercall_forms/buyercall/buyercall/lib/util_rest.py�<lambda>�rcCstjSr
)r�is_partnership_accountr
r
r
rr
rcCstjSr
)r�is_partnershipr
r
r
rrrcCstjSr
)r�partnershipr
r
r
rrrcCstjSr
)r�api_token_idr
r
r
rrr�DELETE�POST�PUTcsdd����fdd�}|S)NcSs$t|dd�}d�||�|jd<|S)Nz
��<Bearer realm="buyercall", error="{}", error_description="{}"�WWW-Authenticate)r�format�headers)�text�code�responser
r
r�
make_errors��
zrest_method.<locals>.make_errorc
s�ddlm}m}m}tj�dd��d�}t|�dks@|ddkrJ�dd	�S|d
�	�}|�
|�}|r�|�|�}|t_
|r�|t_q�|�|�}	|	dk	r�|	t_q��dd�Sn
�dd�S�||�S)
Nr��PartnershipAccount�ApiToken�Partnership�	Authorize�� ��BearerzInvalid authorization method�invalid_request�zInvalid credentials�
invalid_token)�'buyercall.blueprints.partnership.modelsr"r#r$rr�get�split�len�strip�check_token� get_partnership_account_by_tokenrrr�get_partnership_by_tokenr)
�args�kwargsr"r#r$�header�tokenrrr�r �wrappedr
r�wrappers4�


��zrest_method.<locals>.wrapperr
)r:r;r
r9r�rest_methodsr<cCs,ddi}t|�}d|_d�||�|jd<|S)N�messagezAuthentication error.rrr)r�status_coderr)rrr=�respr
r
r�authenticate?s��
r@cCsddi}t|�}d|_|S)Nr=zSError processing request. POST, PUT and DELETE requests are disabled in DEBUG mode.r)rr>)r=r?r
r
r�unsupported_in_debug_modeKsrAcst���fdd��}|S)Ncs
ddlm}m}m}dt_dt_tj�	dd��
d�}tj�	dd���}tj
�	dd�dkrptjtkrp|d	krpt�St|�d
ks�|ddkr�tdd
�S|d��}|�|�}|dk	r�|�|�}	|t_|	dk	r�|	t_dt_n|�|�}
|
dk	r�|
t_dt_n
tdd�S�||�S)Nrr!Fr%r&r'Z
Documentation�DEBUG�truer(r)zInvalid authorization method.r*r+TzInvalid credentials.r,)r-r"r#r$rrrrrr.r/�lower�app�config�method�blocked_debug_request_methodsrAr0r@r1r2r3rrr4r)r5r6r"r#r$r7Z
api_doc_debugr8rZretrieved_partnership_accountZretrieved_partnership��fr
r�	decoratedTs6��




z requires_auth.<locals>.decoratedr)rJrKr
rIr�
requires_authSs#rLN)�	functoolsr�flaskrrrrrE�werkzeug.localrr	r�rest_partnership_accountZrest_is_partnership_accountZrest_is_partnershipZrest_partnershipZrest_api_token_idrHr<r@rArLr
r
r
r�<module>s
*