
    pim4                         d Z ddlmZ ddlmZmZmZmZmZ ddlm	Z	m
Z
mZ ddlmZ ddlmZ ddlmZ  G d d	e      Z G d
 de      Zy)a  
    This code was generated by
   ___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
    |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
    |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \

    Twilio - Conversations
    This is the public Twilio REST API.

    NOTE: This class is auto generated by OpenAPI Generator.
    https://openapi-generator.tech
    Do not edit the class manually.
    )datetime)AnyDictListOptionalUnion)deserialize	serializevalues)InstanceResource)ListResource)Versionc                   l     e Zd Z G d de      Z G d de      Z	 dedeee	f   f fdZ
defd	Z xZS )
$ConversationWithParticipantsInstancec                       e Zd ZdZdZdZdZy)*ConversationWithParticipantsInstance.StateinitializinginactiveactiveclosedN)__name__
__module____qualname__INITIALIZINGINACTIVEACTIVECLOSED     }/opt/services/ai/voice_agent/venv/lib/python3.12/site-packages/twilio/rest/conversations/v1/conversation_with_participants.pyStater      s    %r   r!   c                       e Zd ZdZdZy)7ConversationWithParticipantsInstance.WebhookEnabledTypetruefalseN)r   r   r   TRUEFALSEr   r   r    WebhookEnabledTyper#       s    r   r(   versionpayloadc                    t         |   |       |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _	        |j                  d      | _
        t        j                  |j                  d	            | _        t        j                  |j                  d
            | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        y )Naccount_sidchat_service_sidmessaging_service_sidsidfriendly_nameunique_name
attributesstatedate_createddate_updatedtimerslinksbindingsurl)super__init__getr,   r-   r.   r/   r0   r1   r2   r3   r	   iso8601_datetimer4   r5   r6   r7   r8   r9   )selfr)   r*   	__class__s      r    r;   z-ConversationWithParticipantsInstance.__init__5   s   !*1++m*D/6{{;M/N4;KK@W4X"")++e"4,3KK,H*1++m*D)0\)BKK  	
 1<0L0LKK'1
 1<0L0LKK'1
 4;;;x3H29++g2F
5<[[5L")++e"4r   returnc                      y)f
        Provide a friendly representation

        :returns: Machine friendly representation
        z><Twilio.Conversations.V1.ConversationWithParticipantsInstance>r   r>   s    r    __repr__z-ConversationWithParticipantsInstance.__repr__M   s     Pr   )r   r   r   objectr!   r(   r   r   strr   r;   rD   __classcell__r?   s   @r    r   r      sI     V "5 5$sCx. 50P# Pr   r   c                        e Zd Zdef fdZej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  fdedef   dee	ef   dee	ef   dee
ef   dee
ef   d	ee	ef   d
ee	ef   dedef   dee	ef   dee	ef   dee	ef   dee	ef   deee	   ef   defdZej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                  fdedef   dee	ef   dee	ef   dee
ef   dee
ef   d	ee	ef   d
ee	ef   dedef   dee	ef   dee	ef   dee	ef   dee	ef   deee	   ef   defdZde	fdZ xZS ) ConversationWithParticipantsListr)   c                 2    t         |   |       d| _        y)z~
        Initialize the ConversationWithParticipantsList

        :param version: Version that contains the resource

        z/ConversationWithParticipantsN)r:   r;   _uri)r>   r)   r?   s     r    r;   z)ConversationWithParticipantsList.__init__Y   s     	!3	r   x_twilio_webhook_enabledr#   r0   r1   r4   r5   r.   r2   r3   r   timers_inactivetimers_closedbindings_email_addressbindings_email_nameparticipantr@   c                 ~   t        j                  ||t        j                  |      t        j                  |      ||||	|
||t        j                  |d       d      }t        j                  |dd      }d|d<   d|d<   | j
                  j                  d| j                  ||	      }t        | j
                  |      S )
a  
        Create the ConversationWithParticipantsInstance

        :param x_twilio_webhook_enabled: The X-Twilio-Webhook-Enabled HTTP request header
        :param friendly_name: The human-readable name of this conversation, limited to 256 characters. Optional.
        :param unique_name: An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.
        :param date_created: The date that this resource was created.
        :param date_updated: The date that this resource was last updated.
        :param messaging_service_sid: The unique ID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) this conversation belongs to.
        :param attributes: An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified.  **Note** that if the attributes are not set \"{}\" will be returned.
        :param state:
        :param timers_inactive: ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute.
        :param timers_closed: ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes.
        :param bindings_email_address: The default email address that will be used when sending outbound emails in this conversation.
        :param bindings_email_name: The default name that will be used when sending outbound emails in this conversation.
        :param participant: The participant to be added to the conversation in JSON format. The JSON object attributes are as parameters in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). The maximum number of participants that can be added in a single request is 10.

        :returns: The created ConversationWithParticipantsInstance
        c                     | S Nr   es    r    <lambda>z9ConversationWithParticipantsList.create.<locals>.<lambda>       A r   FriendlyName
UniqueNameDateCreatedDateUpdatedMessagingServiceSid
Attributesr!   zTimers.InactivezTimers.ClosedzBindings.Email.AddresszBindings.Email.NameParticipant!application/x-www-form-urlencodedzX-Twilio-Webhook-EnabledContent-Typerd   application/jsonAcceptPOSTmethoduridataheaders)	r   ofr
   r=   map_versioncreaterL   r   r>   rM   r0   r1   r4   r5   r.   r2   r3   rN   rO   rP   rQ   rR   rk   rl   r*   s                    r    rp   z'ConversationWithParticipantsList.created   s    P yy -)(99,G(99,G'<(#2!.*@':(}}[+F
  )),D C
 #F.--&&tyytW ' 
 4DMM7KKr   c                   K   t        j                  ||t        j                  |      t        j                  |      ||||	|
||t        j                  |d       d      }t        j                  |dd      }d|d<   d|d<   | j
                  j                  d| j                  ||	       d
{   }t        | j
                  |      S 7 w)a  
        Asynchronously create the ConversationWithParticipantsInstance

        :param x_twilio_webhook_enabled: The X-Twilio-Webhook-Enabled HTTP request header
        :param friendly_name: The human-readable name of this conversation, limited to 256 characters. Optional.
        :param unique_name: An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.
        :param date_created: The date that this resource was created.
        :param date_updated: The date that this resource was last updated.
        :param messaging_service_sid: The unique ID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) this conversation belongs to.
        :param attributes: An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified.  **Note** that if the attributes are not set \"{}\" will be returned.
        :param state:
        :param timers_inactive: ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute.
        :param timers_closed: ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes.
        :param bindings_email_address: The default email address that will be used when sending outbound emails in this conversation.
        :param bindings_email_name: The default name that will be used when sending outbound emails in this conversation.
        :param participant: The participant to be added to the conversation in JSON format. The JSON object attributes are as parameters in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). The maximum number of participants that can be added in a single request is 10.

        :returns: The created ConversationWithParticipantsInstance
        c                     | S rU   r   rV   s    r    rX   z?ConversationWithParticipantsList.create_async.<locals>.<lambda>   rY   r   rZ   rb   rc   rd   re   rf   rg   rh   N)	r   rm   r
   r=   rn   ro   create_asyncrL   r   rq   s                    r    rt   z-ConversationWithParticipantsList.create_async   s     P yy -)(99,G(99,G'<(#2!.*@':(}}[+F
  )),D C
 #F.22tyytW 3 
 
 4DMM7KK	
s   B,C.C	/Cc                      y)rB   z:<Twilio.Conversations.V1.ConversationWithParticipantsList>r   rC   s    r    rD   z)ConversationWithParticipantsList.__repr__   s     Lr   )r   r   r   r   r;   r   unsetr   rE   rF   r   r   r   rp   rt   rD   rG   rH   s   @r    rJ   rJ   W   s?   	4 	4 LL,2LL*0,,06064:LL)/ LL.4ll,2LL5;\\28,,06%GL"'EvM#
GL
 S&[)GL 3;'GL Hf,-GL Hf,-GL  %S&[1GL #v+&GL 8&@
GL sF{+GL S&[)GL  !&c6k 2!GL" #3;/#GL$ 49f,-%GL& 
.'GLZ LL,2LL*0,,06064:LL)/ LL.4ll,2LL5;\\28,,06%GL"'EvM#
GL
 S&[)GL 3;'GL Hf,-GL Hf,-GL  %S&[1GL #v+&GL 8&@
GL sF{+GL S&[)GL  !&c6k 2!GL" #3;/#GL$ 49f,-%GL& 
.'GLRL# Lr   rJ   N)__doc__r   typingr   r   r   r   r   twilio.baser	   r
   r   twilio.base.instance_resourcer   twilio.base.list_resourcer   twilio.base.versionr   r   rJ   r   r   r    <module>r}      sD     3 3 6 6 : 2 '<P+; <P~eL| eLr   