o
    f>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                       sh   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   2      z,WorkerCapabilityToken.allow_fetch_activitiesc                 C   r%   )N	/Tasks/**r&   Tr'   r   r   r   r   r   5   r)   z.WorkerCapabilityToken.allow_fetch_reservationsc                 C   r%   )N/Reservations/**r&   Tr(   r   r   r   r   r   r   8   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   ;   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__C      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                       s@   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   H   s   
z!TaskQueueCapabilityToken.__init__c                 C   r   )Nz{}/TaskQueues/{}r   r   r   r   r   r   T   r    z%TaskQueueCapabilityToken.resource_urlc                 C   r!   )NWQr   r   r   r   r   r#   X   r$   z'TaskQueueCapabilityToken.channel_prefixc                 C   r1   )Nz<TaskQueueCapabilityToken {}>r2   r   r   r   r   r4   \   r5   z TaskQueueCapabilityToken.__str__r6   	r7   r8   r9   r   r:   r   r#   r4   r;   r   r   r   r   r<   G   s    

r<   c                       s>   e Zd Zd
 fdd	Zedd Zedd Zdd	 Z  ZS )WorkspaceCapabilityTokenr   c                    s&   t t| jd|||||d| d S r=   )r   rA   r   )r   r   r   r   r
   r   r   r   r   r   a   s   
z!WorkspaceCapabilityToken.__init__c                 C   s   | j S )N)r   r   r   r   r   r   k   s   z%WorkspaceCapabilityToken.resource_urlc                 C   r!   )NWSr   r   r   r   r   r#   o   r$   z'WorkspaceCapabilityToken.channel_prefixc                 C   r1   )Nz<WorkspaceCapabilityToken {}>r2   r   r   r   r   r4   s   r5   z WorkspaceCapabilityToken.__str__r6   r@   r   r   r   r   rA   `   s    


rA   N)twilio.jwt.taskrouterr   r   r<   rA   r   r   r   r   <module>   s    C