o
    e                     @   sP   d dl T ddl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PlivoResourceInterfacec                   @   s   e Zd Zd ZdZdS )Campaigncampaign_idN)__name__
__module____qualname___name_identifier_string r   r   K/var/www/html/venv/lib/python3.10/site-packages/plivo/resources/campaign.pyr      s    r   c                   @   st  e Zd ZeZeeejgddd Z	ee
eejgddd Zee
eejgeeejgeeejgeeejgeeejgeeejgeeejgeeejgeeejgeeejgeeejgeeejgdd<dd	Zeeeej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d		d=ddZed>i de
eejgdeeejgde
eejgde
eejgdeeejgdeeegdeeegdeeegdeeegdeeegdeeegdeeegdeeegdeeejgdeeejgd eeejgd!eeejgd"eeejgd#eeejgd$eeejgd%eeejgd&eeejgd'eeejgd(eeejgd)eeejgd*eeejgd+eeejgddddddddddddddd,d-d-d-d-d-d-d-d-dg fd.d/Zee
eejgeeejgeeejgd0dd,g fd1d2Zeeejgeeej geeeej ed3d dgd4		d?d5d6Zeeejgeejgd7d8d9 Zeeejgeejgd7		,d@d:d;ZdS )Ar   )r   c                 C      | j jddd|fd dS )NGET10dlcr   response_typeclientrequestselfr   r   r   r   get      zCampaign.getc                 C   r   )NDELETEr   r   r   r   r   r   r   r   delete   r   zCampaign.delete)r   reseller_iddescriptionsample1sample2help_messagemessage_flowoptin_keywordsoptin_messageoptout_keywordsoptout_messagehelp_keywords c                 C   s.   t  }|d | jddd|ft| j|S )Nr   POSTr   r   )localspopr   r   to_param_dictupdate)r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   payloadr   r   r   r.      s
   
zCampaign.updatec                 C      d| kS Nr   r   offsetr   r   r   <lambda>8       zCampaign.<lambda>z0 <= offset)brand_idregistration_statususecasecampaign_sourcelimitr3   Nc                 C   s    | j jddt| jt d d dS )Nr   r   r   )r   objects_type)r   r   r-   listr+   )r   r6   r7   r8   r9   r:   r3   r   r   r   r=   .   s   zCampaign.listr6   campaign_aliasverticalr8   r   embedded_linkembedded_phone	age_gateddirect_lendingsubscriber_optinsubscriber_optoutsubscriber_helpaffiliate_marketingr    r!   sample3sample4sample5r#   r"   r$   r%   r&   r'   r(   urlmethodr*   Fc                 C   s   | j ddt| jt S )Nr*   r;   r   r   r-   creater+   )r   r6   r?   r8   r   r    r!   rH   rI   rJ   rK   r#   r"   r$   r%   r&   r'   r(   rL   r@   rA   rB   rC   rE   rD   rF   rG   r>   sub_usecasesr   r   r   rN   B   s   
9zCampaign.create)r   rK   rL   c                 C   s"   | j ddd|dft| jt S )Nr*   r   r   Number)r   r   r-   number_linkr+   )r   r   rK   rL   numbersr   r   r   rQ      s   
zCampaign.number_linkc                 C   r0   r1   r   r2   r   r   r   r4      r5   )r   r:   r3   c                 C   s@   i }|r||d< |r||d< | j ddd|df|t| jt S )Nr:   r3   r   r   r   rP   rM   )r   r   r:   r3   paramsr   r   r   get_numbers   s   zCampaign.get_numbers)r   numberc                 C   $   | j ddd|d|ft| jt S )Nr   r   r   rP   rM   )r   r   rU   r   r   r   
get_number   s   zCampaign.get_numberc                 C   rV   )Nr   r   r   rP   rM   )r   r   rU   rK   rL   r   r   r   number_unlink   s   	zCampaign.number_unlink)r)   r)   r)   r)   r)   r)   r)   r)   r)   r)   r)   )NNNNNNr   )NN)r)   r*   )r	   r
   r   r   _resource_typevalidate_argsof_typesix	text_typer   requiredr   optionalr.   integer_typesall_ofcheckr=   of_type_exactboolrN   rQ   rT   rW   rX   r   r   r   r   r      s4   

	
 !





N)plivo.utils.validatorsbaser   r   r   
exceptionsutilsr   r   r   r   r   <module>   s   