a
    !f                     @   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f |||||d| |ddr6|   |ddrJ|   |ddr^|   |ddrr|   |ddr|   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   Z
worker_sidr
   kwargs	__class__ c/var/www/html/python-backend/venv/lib/python3.9/site-packages/twilio/jwt/taskrouter/capabilities.pyr      s&    	zWorkerCapabilityToken.__init__c                 C   s   d | j| jS )Nz{}/Workers/{}formatworkspace_urlr	   r   r   r   r   resource_url*   s    z"WorkerCapabilityToken.resource_urlc                 C   s   dS )NZWKr   r   r   r   r   channel_prefix.   s    z$WorkerCapabilityToken.channel_prefixc                 C   s   |  | jd dd d S )Nz/ActivitiesGETT_make_policyr   r   r   r   r   r   2   s    z,WorkerCapabilityToken.allow_fetch_activitiesc                 C   s   |  | jd dd d S )N	/Tasks/**r   Tr    r   r   r   r   r   5   s    z.WorkerCapabilityToken.allow_fetch_reservationsc                 C   s   |  | jd dd d S )N/Reservations/**r   Tr!   r   r   r   r   r   r   8   s    z5WorkerCapabilityToken.allow_fetch_worker_reservationsc                 C   s$   dddii}| j | jdd|d d S )NZActivitySidrequiredTPOST)post_filterr$   )r   r'   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   s   d |  S )Nz<WorkerCapabilityToken {}>r   Zto_jwtr   r   r   r   __str__C   s    zWorkerCapabilityToken.__str__)r   )__name__
__module____qualname__r   propertyr   r   r   r   r   r   r   r)   __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f |||||d| d S Nr   )r   r/   r   )r   r   r   r   Ztask_queue_sidr
   r   r   r   r   r   H   s    z!TaskQueueCapabilityToken.__init__c                 C   s   d | j| jS )Nz{}/TaskQueues/{}r   r   r   r   r   r   T   s    z%TaskQueueCapabilityToken.resource_urlc                 C   s   dS )NZWQr   r   r   r   r   r   X   s    z'TaskQueueCapabilityToken.channel_prefixc                 C   s   d |  S )Nz<TaskQueueCapabilityToken {}>r(   r   r   r   r   r)   \   s    z TaskQueueCapabilityToken.__str__)r   	r*   r+   r,   r   r-   r   r   r)   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f |||||d| d S r0   )r   r2   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   s   dS )NZWSr   r   r   r   r   r   o   s    z'WorkspaceCapabilityToken.channel_prefixc                 C   s   d |  S )Nz<WorkspaceCapabilityToken {}>r(   r   r   r   r   r)   s   s    z WorkspaceCapabilityToken.__str__)r   r1   r   r   r   r   r2   `   s   


r2   N)Ztwilio.jwt.taskrouterr   r   r/   r2   r   r   r   r   <module>   s   C