o
    e                     @   sL   d dl mZ d dlT ddlmZmZmZ G dd deZG dd deZd	S )
    )to_param_dict)*   )ListResponseObjectPlivoResourcePlivoResourceInterfacec                   @   sP   e Zd Zd ZdZeeejgeejge	eejgddddZ
dd ZdS )	Endpointendpoint_id)passwordaliasapp_idNc                 C   s2   t | jt }| j| | jjj| jfi |S N)r   updatelocals__dict__client	endpointsid)selfr
   r   r   params r   L/var/www/html/venv/lib/python3.10/site-packages/plivo/resources/endpoints.pyr      s   zEndpoint.updatec                 C   s   | j j| jS r   )r   r   deleter   )r   r   r   r   r      s   zEndpoint.deleteNNN)__name__
__module____qualname___name_identifier_stringvalidate_argsof_typesix	text_typeoptionalr   r   r   r   r   r   r      s    

r   c                	   @   s  e Zd ZeZeeejgeejgeejge	eejge	e
 ge	eejgddddZeeejge	e
 ge	eejgddddZee	eeej edd	 d
ge	eeej edd	 dge	e
 ge	eejgddddZeeejge	eejge	eejge	eejge	e
 ge	eejgddddZeeejge	e
 ge	eejgddddZdS )	Endpoints)usernamer
   r   r   callback_urlcallback_methodNc                 C   s   | j jddt| jt ddS )NPOSTr   Tis_voice_request)r   requestr   creater   )r   r%   r
   r   r   r&   r'   r   r   r   r-      s   
	zEndpoints.create)r	   r&   r'   c                 C   "   | j jdd|ft| jt ddS )NGETr   Tr*   )r   r,   r   getr   r   r	   r&   r'   r   r   r   r0   (   s   "zEndpoints.getc                 C   s   d|   k o	dkS   S )Nr      r   )limitr   r   r   <lambda>4   s    zEndpoints.<lambda>z0 < limit <= 20c                 C   s   d| kS )Nr   r   )offsetr   r   r   r4   :   s    z0 <= offset)r3   r5   r&   r'   r2   r   c                 C   sF   |r| j jddt| jt tddS | j jddt| jt ttddS )Nr/   r)   T)objects_typer+   )r6   response_typer+   )r   r,   r   listr   r   r   )r   r3   r5   r&   r'   r   r   r   r8   /   s   zEndpoints.list)r	   r
   r   r   r&   r'   c                 C   s2   | |||||d}| j jdd|ft| j|ddS )N)r   r
   r   r   r&   r'   r(   r   Tr*   )r   r,   r   r   )r   r	   r
   r   r   r&   r'   tempr   r   r   r   O   s   zEndpoints.updatec                 C   r.   )NDELETEr   Tr*   )r   r,   r   r   r   r1   r   r   r   r   e   s   zEndpoints.deleter   )NN)r2   r   NN)NNNNN)r   r   r   r   _resource_typer   r    r!   r"   r#   is_urlr-   r0   all_ofinteger_typescheckr8   r   r   r   r   r   r   r$      sb    








r$   N)	plivo.utilsr   plivo.utils.validatorsbaser   r   r   r   r$   r   r   r   r   <module>   s
   