o
    �¨Êh¹  ã                   @   s@   d dl mZ G dd„ deƒZG dd„ deƒZG dd„ deƒZdS )	é    )ÚTaskRouterCapabilityTokenc                       sf   e Zd Zd‡ fdd„	Zedd„ ƒZedd„ ƒZdd	„ Zd
d„ Zdd„ Z	dd„ Z
dd„ Zdd„ Z‡  ZS )ÚWorkerCapabilityTokené  c                    sŽ   t t| ƒjd
|||||dœ|¤Ž | dd¡r|  ¡  | dd¡r%|  ¡  | dd¡r/|  ¡  | dd¡r9|  ¡  | dd¡rE|  ¡  d	S d	S )a¨  
        :param kwargs:
            All kwarg parameters supported by TaskRouterCapabilityToken
            :param bool allow_fetch_activities: shortcut to calling allow_fetch_activities,
                                                defaults to True
            :param bool allow_fetch_reservations: shortcut to calling allow_fetch_reservations,
                                                  defaults to True
            :param bool allow_fetch_worker_reservations: shortcut to calling allow_fetch_worker_reservations,
                                                         defaults to True
            :param bool allow_update_activities: shortcut to calling allow_update_activities,
                                                 defaults to False
            :param bool allow_update_reservations: shortcut to calling allow_update_reservations,
                                                   defaults to False
        ©Úaccount_sidÚ
auth_tokenÚworkspace_sidÚ
channel_idÚttlÚallow_fetch_activitiesTÚallow_fetch_reservationsÚallow_fetch_worker_reservationsÚallow_update_activitiesFÚallow_update_reservationsN© )	Úsuperr   Ú__init__Úgetr   r   r   r   r   )Úselfr   r   r   Ú
worker_sidr
   Úkwargs©Ú	__class__r   úT/var/www/html/env/lib/python3.10/site-packages/twilio/jwt/taskrouter/capabilities.pyr      s(   ûú	ÿzWorkerCapabilityToken.__init__c                 C   ó   d  | j| j¡S )Nz{}/Workers/{}©ÚformatÚworkspace_urlr	   ©r   r   r   r   Úresource_url(   ó   z"WorkerCapabilityToken.resource_urlc                 C   ó   dS )NÚWKr   r   r   r   r   Úchannel_prefix,   ó   z$WorkerCapabilityToken.channel_prefixc                 C   ó   |   | jd dd¡ d S )Nz/ActivitiesÚGETT©Ú_make_policyr   r   r   r   r   r   0   ó   z,WorkerCapabilityToken.allow_fetch_activitiesc                 C   r%   )Nú	/Tasks/**r&   Tr'   r   r   r   r   r   3   r)   z.WorkerCapabilityToken.allow_fetch_reservationsc                 C   r%   )Nú/Reservations/**r&   T©r(   r   r   r   r   r   r   6   r)   z5WorkerCapabilityToken.allow_fetch_worker_reservationsc                 C   s$   dddii}| j | jdd|d� d S )NÚActivitySidÚrequiredTÚPOST)Úpost_filterr,   )r   r0   r   r   r   r   9   s   z-WorkerCapabilityToken.allow_update_activitiesc                 C   s,   |   | jd dd¡ |   | jd dd¡ d S )Nr*   r/   Tr+   )r(   r   r   r   r   r   r   r   =   s   z/WorkerCapabilityToken.allow_update_reservationsc                 C   ó   d  |  ¡ ¡S )Nz<WorkerCapabilityToken {}>©r   Úto_jwtr   r   r   r   Ú__str__A   ó   zWorkerCapabilityToken.__str__©r   )Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr   r#   r   r   r   r   r   r4   Ú__classcell__r   r   r   r   r      s    #

r   c                       ó>   e Zd Zd
‡ fdd„	Zedd„ ƒZedd„ ƒZdd	„ Z‡  ZS )ÚTaskQueueCapabilityTokenr   c                    s&   t t| ƒjd|||||dœ|¤Ž d S ©Nr   r   )r   r=   r   )r   r   r   r   Útask_queue_sidr
   r   r   r   r   r   F   ó   û
úz!TaskQueueCapabilityToken.__init__c                 C   r   )Nz{}/TaskQueues/{}r   r   r   r   r   r   P   r    z%TaskQueueCapabilityToken.resource_urlc                 C   r!   )NÚWQr   r   r   r   r   r#   T   r$   z'TaskQueueCapabilityToken.channel_prefixc                 C   r1   )Nz<TaskQueueCapabilityToken {}>r2   r   r   r   r   r4   X   r5   z TaskQueueCapabilityToken.__str__r6   ©	r7   r8   r9   r   r:   r   r#   r4   r;   r   r   r   r   r=   E   ó    


r=   c                       r<   )ÚWorkspaceCapabilityTokenr   c                    s&   t t| ƒjd|||||dœ|¤Ž d S r>   )r   rD   r   )r   r   r   r   r
   r   r   r   r   r   ]   r@   z!WorkspaceCapabilityToken.__init__c                 C   s   | j S )N)r   r   r   r   r   r   g   s   z%WorkspaceCapabilityToken.resource_urlc                 C   r!   )NÚWSr   r   r   r   r   r#   k   r$   z'WorkspaceCapabilityToken.channel_prefixc                 C   r1   )Nz<WorkspaceCapabilityToken {}>r2   r   r   r   r   r4   o   r5   z WorkspaceCapabilityToken.__str__r6   rB   r   r   r   r   rD   \   rC   rD   N)Útwilio.jwt.taskrouterr   r   r=   rD   r   r   r   r   Ú<module>   s    A