o
    �¨ÊhÑ  ã                   @   s˜   d dl mZ d dlZd dlZdd„ ZG dd„ deƒZG dd„ deƒZG d	d
„ d
eƒZG dd„ deƒZG dd„ deƒZ	G dd„ deƒZ
G dd„ deƒZdS )é    )ÚAccessTokenGrantNc                    s   t  ˆ ¡‡ fdd„ƒ}|S )z“This is a decorator which can be used to mark functions
    as deprecated. It will result in a warning being emitted
    when the function is used.c                     s>   t  dt¡ t jd ˆ j¡tdd� t  dt¡ ˆ | i |¤ŽS )NÚalwayszCall to deprecated function {}.é   )ÚcategoryÚ
stacklevelÚdefault)ÚwarningsÚsimplefilterÚDeprecationWarningÚwarnÚformatÚ__name__)ÚargsÚkwargs©Úfunc© úP/var/www/html/env/lib/python3.10/site-packages/twilio/jwt/access_token/grants.pyÚnew_func   s   zdeprecated.<locals>.new_func)Ú	functoolsÚwraps)r   r   r   r   r   Ú
deprecated   s   r   c                   @   s2   e Zd ZdZ		d	dd„Zedd„ ƒZdd„ ZdS )
Ú	ChatGrantzGrant to access Twilio ChatNc                 C   ó   || _ || _|| _|| _d S ©N©Úservice_sidÚendpoint_idÚdeployment_role_sidÚpush_credential_sid©Úselfr   r   r   r   r   r   r   Ú__init__   s   
zChatGrant.__init__c                 C   ó   dS )NÚchatr   ©r!   r   r   r   Úkey   ó   zChatGrant.keyc                 C   óH   i }| j r
| j |d< | jr| j|d< | jr| j|d< | jr"| j|d< |S ©Nr   r   r   r   r   ©r!   Úgrantr   r   r   Ú
to_payload#   ó   



zChatGrant.to_payload©NNNN©r   Ú
__module__Ú__qualname__Ú__doc__r"   Úpropertyr&   r,   r   r   r   r   r      s    
ÿ
r   c                   @   s6   e Zd ZdZe		d	dd„ƒZedd„ ƒZdd„ ZdS )
ÚIpMessagingGrantz#Grant to access Twilio IP MessagingNc                 C   r   r   r   r    r   r   r   r"   4   s   
zIpMessagingGrant.__init__c                 C   r#   )NÚip_messagingr   r%   r   r   r   r&   <   r'   zIpMessagingGrant.keyc                 C   r(   r)   r   r*   r   r   r   r,   @   r-   zIpMessagingGrant.to_payloadr.   ©	r   r0   r1   r2   r   r"   r3   r&   r,   r   r   r   r   r4   1   s    ÿ
r4   c                   @   ó.   e Zd ZdZd	dd„Zedd„ ƒZdd„ ZdS )
Ú	SyncGrantzGrant to access Twilio SyncNc                 C   s   || _ || _d S r   ©r   r   )r!   r   r   r   r   r   r"   P   s   
zSyncGrant.__init__c                 C   r#   )NÚ	data_syncr   r%   r   r   r   r&   T   r'   zSyncGrant.keyc                 C   s(   i }| j r
| j |d< | jr| j|d< |S )Nr   r   r9   r*   r   r   r   r,   X   s   

zSyncGrant.to_payload)NNr/   r   r   r   r   r8   N   s    

r8   c                   @   s8   e Zd ZdZ					d	dd„Zedd„ ƒZdd„ ZdS )
Ú
VoiceGrantz)Grant to access Twilio Programmable VoiceNc                 C   s*   || _ 	 || _	 || _	 || _	 || _d S r   ©Úincoming_allowÚoutgoing_application_sidÚoutgoing_application_paramsr   r   )r!   r=   r>   r?   r   r   r   r   r   r"   d   s   zVoiceGrant.__init__c                 C   r#   )NÚvoicer   r%   r   r   r   r&   u   r'   zVoiceGrant.keyc                 C   sv   i }| j du ri |d< d|d d< | jr)i |d< | j|d d< | jr)| j|d d< | jr1| j|d< | jr9| j|d< |S )	NTÚincomingÚallowÚoutgoingÚapplication_sidÚparamsr   r   r<   r*   r   r   r   r,   y   s   


zVoiceGrant.to_payload)NNNNNr/   r   r   r   r   r;   b   s    
û
r;   c                   @   s2   e Zd ZdZed	dd„ƒZedd„ ƒZdd„ ZdS )
ÚConversationsGrantz$Grant to access Twilio ConversationsNc                 C   ó
   || _ d S r   ©Úconfiguration_profile_sid)r!   rI   r   r   r   r"   ‘   s   
zConversationsGrant.__init__c                 C   r#   )NÚrtcr   r%   r   r   r   r&   •   r'   zConversationsGrant.keyc                 C   ó   i }| j r
| j |d< |S )NrI   rH   r*   r   r   r   r,   ™   ó   
zConversationsGrant.to_payloadr   r6   r   r   r   r   rF   �   s    
rF   c                   @   r7   )
Ú
VideoGrantzGrant to access Twilio VideoNc                 C   rG   r   ©Úroom)r!   rO   r   r   r   r"   £   s   
zVideoGrant.__init__c                 C   r#   )NÚvideor   r%   r   r   r   r&   ¦   r'   zVideoGrant.keyc                 C   rK   )NrO   rN   r*   r   r   r   r,   ª   rL   zVideoGrant.to_payloadr   r/   r   r   r   r   rM   ¡   s    

rM   c                   @   r7   )
ÚTaskRouterGrantz!Grant to access Twilio TaskRouterNc                 C   s   || _ || _|| _d S r   ©Úworkspace_sidÚ
worker_sidÚrole)r!   rS   rT   rU   r   r   r   r"   ´   s   
zTaskRouterGrant.__init__c                 C   r#   )NÚtask_routerr   r%   r   r   r   r&   ¹   r'   zTaskRouterGrant.keyc                 C   s8   i }| j r
| j |d< | jr| j|d< | jr| j|d< |S )NrS   rT   rU   rR   r*   r   r   r   r,   ½   s   


zTaskRouterGrant.to_payload)NNNr/   r   r   r   r   rQ   ²   s    

rQ   )Útwilio.jwt.access_tokenr   r   r   r   r   r4   r8   r;   rF   rM   rQ   r   r   r   r   Ú<module>   s    -