o
    e                     @   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   U/var/www/html/venv/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