o
    f>h-                     @   s   d Z ddlmZmZmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ 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 )a  
    This code was generated by
   ___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
    |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
    |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \

    Twilio - Trusthub
    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.
    )AnyDictOptionalUnion)values)InstanceContext)InstanceResource)ListResource)Versionc                       s   e Zd ZdZ	ddedeeef dee f fddZ	e
dd
dZejfdedeeef dd fddZejfdedeeef dd fddZdefddZ  ZS )ComplianceInquiriesInstancear  
    :ivar inquiry_id: The unique ID used to start an embedded compliance registration session.
    :ivar inquiry_session_token: The session token used to start an embedded compliance registration session.
    :ivar customer_id: The CustomerID matching the Customer Profile that should be resumed or resubmitted for editing.
    :ivar url: The URL of this resource.
    Nversionpayloadcustomer_idc                    sV   t  | |d| _|d| _|d| _|d| _d|p#| ji| _d | _d S )N
inquiry_idinquiry_session_tokenr   url)	super__init__getr   r   r   r   	_solution_context)selfr   r   r   	__class__ _/var/www/html/venv/lib/python3.10/site-packages/twilio/rest/trusthub/v1/compliance_inquiries.pyr      s   

z$ComplianceInquiriesInstance.__init__returnComplianceInquiriesContextc                 C   s&   | j du rt| j| jd d| _ | j S )a  
        Generate an instance context for the instance, the context is capable of
        performing various actions. All instance actions are proxied to the context

        :returns: ComplianceInquiriesContext for this ComplianceInquiriesInstance
        Nr   r   )r   r   _versionr   r   r   r   r   _proxy1   s   
z"ComplianceInquiriesInstance._proxyprimary_profile_sidtheme_set_idc                 C   s   | j j||dS )r  
        Update the ComplianceInquiriesInstance

        :param primary_profile_sid: The unique SID identifier of the Primary Customer Profile that should be used as a parent. Only necessary when creating a secondary Customer Profile.
        :param theme_set_id: Theme id for styling the inquiry form.

        :returns: The updated ComplianceInquiriesInstance
        r"   r#   )r!   updater   r"   r#   r   r   r   r&   @   s   z"ComplianceInquiriesInstance.updatec                    s   | j j||dI dH S )  
        Asynchronous coroutine to update the ComplianceInquiriesInstance

        :param primary_profile_sid: The unique SID identifier of the Primary Customer Profile that should be used as a parent. Only necessary when creating a secondary Customer Profile.
        :param theme_set_id: Theme id for styling the inquiry form.

        :returns: The updated ComplianceInquiriesInstance
        r%   N)r!   update_asyncr'   r   r   r   r)   P   s
   z(ComplianceInquiriesInstance.update_asyncc                 C   $   d dd | j D }d|S )f
        Provide a friendly representation

        :returns: Machine friendly representation
         c                 s        | ]\}}d  ||V  qdS z{}={}Nformat.0kvr   r   r   	<genexpr>f       z7ComplianceInquiriesInstance.__repr__.<locals>.<genexpr>z3<Twilio.Trusthub.V1.ComplianceInquiriesInstance {}>joinr   itemsr0   r   contextr   r   r   __repr__`      
z$ComplianceInquiriesInstance.__repr__)N)r   r   )__name__
__module____qualname____doc__r
   r   strr   r   r   propertyr!   r   unsetr   objectr&   r)   r<   __classcell__r   r   r   r   r      s:    




r   c                       s|   e Zd Zdedef fddZejfdedeee	f de
fdd	Zejfdedeee	f de
fd
dZdefddZ  ZS )r   r   r   c                    s.   t  | d|i| _djdi | j| _dS )aU  
        Initialize the ComplianceInquiriesContext

        :param version: Version that contains the resource
        :param customer_id: The unique CustomerId matching the Customer Profile/Compliance Inquiry that should be resumed or resubmitted. This value will have been returned by the initial Compliance Inquiry creation call.
        r   z7/ComplianceInquiries/Customers/{customer_id}/InitializeNr   )r   r   r   r0   _uri)r   r   r   r   r   r   r   l   s   z#ComplianceInquiriesContext.__init__r"   r#   r   c                 C   sV   t ||d}t i }d|d< d|d< | jjd| j||d}t| j|| jd d	S )
r$   PrimaryProfileSid
ThemeSetId!application/x-www-form-urlencodedContent-Typeapplication/jsonAcceptPOSTmethoduridataheadersr   r   )r   ofr   r&   rG   r   r   r   r"   r#   rS   rT   r   r   r   r   r&   }   s   

z!ComplianceInquiriesContext.updatec                    s^   t ||d}t i }d|d< d|d< | jjd| j||dI dH }t| j|| jd	 d
S )r(   rH   rK   rL   rM   rN   rO   rP   Nr   r   )r   rU   r   r)   rG   r   r   rV   r   r   r   r)      s   

z'ComplianceInquiriesContext.update_asyncc                 C   r*   )r+   r,   c                 s   r-   r.   r/   r1   r   r   r   r5      r6   z6ComplianceInquiriesContext.__repr__.<locals>.<genexpr>z2<Twilio.Trusthub.V1.ComplianceInquiriesContext {}>r7   r:   r   r   r   r<      r=   z#ComplianceInquiriesContext.__repr__)r>   r?   r@   r
   rB   r   r   rD   r   rE   r   r&   r)   r<   rF   r   r   r   r   r   j   s&    

!

 r   c                	       s   e Zd Zdef fddZejejfdedeee	f deee	f de
fdd	Zejejfdedeee	f deee	f de
fd
dZdedefddZdedefddZdefddZ  ZS )ComplianceInquiriesListr   c                    s   t  | d| _dS )zu
        Initialize the ComplianceInquiriesList

        :param version: Version that contains the resource

        z)/ComplianceInquiries/Customers/InitializeN)r   r   rG   )r   r   r   r   r   r      s   
z ComplianceInquiriesList.__init__r"   notification_emailr#   r   c                 C   sR   t |||d}t ddi}d|d< d|d< | jjd| j||d}t| j|S )a5  
        Create the ComplianceInquiriesInstance

        :param primary_profile_sid: The unique SID identifier of the Primary Customer Profile that should be used as a parent. Only necessary when creating a secondary Customer Profile.
        :param notification_email: The email address that approval status updates will be sent to. If not specified, the email address associated with your primary customer profile will be used.
        :param theme_set_id: Theme id for styling the inquiry form.

        :returns: The created ComplianceInquiriesInstance
        rI   NotificationEmailrJ   rL   rK   rM   rN   rO   rP   )r   rU   r   createrG   r   r   r"   rX   r#   rS   rT   r   r   r   r   r[      s   
zComplianceInquiriesList.createc                    sZ   t |||d}t ddi}d|d< d|d< | jjd| j||dI dH }t| j|S )	aD  
        Asynchronously create the ComplianceInquiriesInstance

        :param primary_profile_sid: The unique SID identifier of the Primary Customer Profile that should be used as a parent. Only necessary when creating a secondary Customer Profile.
        :param notification_email: The email address that approval status updates will be sent to. If not specified, the email address associated with your primary customer profile will be used.
        :param theme_set_id: Theme id for styling the inquiry form.

        :returns: The created ComplianceInquiriesInstance
        rY   rL   rK   rM   rN   rO   rP   N)r   rU   r   create_asyncrG   r   r\   r   r   r   r]      s   
z$ComplianceInquiriesList.create_asyncr   c                 C      t | j|dS a  
        Constructs a ComplianceInquiriesContext

        :param customer_id: The unique CustomerId matching the Customer Profile/Compliance Inquiry that should be resumed or resubmitted. This value will have been returned by the initial Compliance Inquiry creation call.
        r   r   r   r   r   r   r   r   r        zComplianceInquiriesList.getc                 C   r^   r_   r`   ra   r   r   r   __call__"  rb   z ComplianceInquiriesList.__call__c                 C   s   dS )r+   z,<Twilio.Trusthub.V1.ComplianceInquiriesList>r   r    r   r   r   r<   *  s   z ComplianceInquiriesList.__repr__)r>   r?   r@   r
   r   r   rD   rB   r   rE   r   r[   r]   r   r   rc   r<   rF   r   r   r   r   rW      s6    


&


#rW   N)rA   typingr   r   r   r   twilio.baser   twilio.base.instance_contextr   twilio.base.instance_resourcer   twilio.base.list_resourcer	   twilio.base.versionr
   r   r   rW   r   r   r   r   <module>   s    S]