o
    e                     @   sT   d dl T ddlmZmZmZmZ ddlT ddlT G dd deZG dd deZ	dS )	    )*   )ListResponseObjectPlivoResourcePlivoResourceInterfaceListSessionResponseObjectc                   @   s$   e Zd Zd ZdZdd Zdd ZdS )Sessionsession_uuidc                 C      t d)Nz Cannot delete a Session resourceInvalidRequestErrorself r   I/var/www/html/venv/lib/python3.10/site-packages/plivo/resources/verify.pydelete      zSession.deletec                 C   r
   )Nz Cannot update a Session resourcer   r   r   r   r   update   r   zSession.updateN)__name__
__module____qualname___name_identifier_stringr   r   r   r   r   r   r   	   s
    r   c                   @   s  e Zd ZeZeeeej	ge
e geeeej	edgee geeej	gd					dddZeeej	gddd	 Zeee geed
gee gee gee gee gee geeej	geeej	geeej	geeej	geeeej edd dgeeeej edd dgd													dddZeeeej	geej	gddddZdS )Sessions)smsvoice)app_uuid	recipientchannelurlmethodNPOSTc                 C   s*   |d u rt d| jddt| jt S )Nzdestination number is requiredr!   Verifyr   )ValidationErrorclientrequestto_param_dictcreatelocals)r   r   r   r   r   r    r   r   r   r(      s
   
zSessions.create)r	   c                 C   s   | j jddd|ftdS )NGETr#   r   )response_type)r%   r&   r   )r   r	   r   r   r   get(   s   zSessions.get)zin-progressexpiredverifiedc                 C   s   d|   k o	dkS   S )Nr      r   )limitr   r   r   <lambda>=   s    zSessions.<lambda>z0 < limit <= 20c                 C   s   d| kS )Nr   r   )offsetr   r   r   r1   C   s    z0 <= offset)
subaccountstatussession_time__gtsession_time__gtesession_time__ltsession_time__ltesession_timecountryaliasr   r   r0   r2   c                 C   s    | j jddt| jt ttdS )Nr*   r"   )r+   objects_type)r%   r&   r'   listr)   r   r   )r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r   r   r0   r2   r   r   r   r=   -   s   &zSessions.list)otpr	   c                 C   s0   |d u rt d| jddd|ft| jt S )Nzotp is requiredr!   r#   r   )r$   r%   r&   r'   validater)   )r   r	   r>   r   r   r   r?   Y   s
   zSessions.validate)NNNNr!   )NNNNNNNNNNNNN)N)r   r   r   r   _resource_typevalidate_argsoptionalof_typesix	text_typerequiredis_phonenumberall_ofis_inis_urlr(   r,   is_subaccountis_valid_dateinteger_typescheckr=   r?   r   r   r   r   r      s~    









r   N)
plivo.utils.validatorsbaser   r   r   r   
exceptionsutilsr   r   r   r   r   r   <module>   s   