
    d{i0                         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
 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e      Z G d de      Z G d de      Zy)a  
    This code was generated by
   ___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
    |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
    |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \

    Twilio - Numbers
    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values)ApiResponse)InstanceContext)InstanceResource)ListResource)Versionc                        e Zd ZdZ	 ddedeeef   dee   f fdZ	e
dd       ZddZdd	Zdefd
ZdefdZdefdZ xZS )BulkEligibilityInstanceuU  
    :ivar request_id: The SID of the bulk eligibility check that you want to know about.
    :ivar url: This is the url of the request that you're trying to reach out to locate the resource.
    :ivar results: The result set that contains the eligibility check response for each requested number, each result has at least the following attributes:  phone_number: The requested phone number ,hosting_account_sid: The account sid where the phone number will be hosted, country: Phone number’s country, eligibility_status: Indicates the eligibility status of the PN (Eligible/Ineligible), eligibility_sub_status: Indicates the sub status of the eligibility , ineligibility_reason: Reason for number's ineligibility (if applicable), next_step: Suggested next step in the hosting process based on the eligibility status.
    :ivar friendly_name: This is the string that you assigned as a friendly name for describing the eligibility check request.
    :ivar status: This is the status of the bulk eligibility check request. (Example: COMPLETE, IN_PROGRESS)
    :ivar date_created:
    :ivar date_completed:
    versionpayload
request_idc                    t         |   |       |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        t        j                  |j                  d            | _
        t        j                  |j                  d            | _        d|xs | j                  i| _        d | _        y )Nr   urlresultsfriendly_namestatusdate_createddate_completed)super__init__getr   r   r   r   r   r	   iso8601_datetimer   r   	_solution_context)selfr   r   r   	__class__s       e/home/sas/my/fyp/ringai/.venv/lib/python3.12/site-packages/twilio/rest/numbers/v1/bulk_eligibility.pyr   z BulkEligibilityInstance.__init__$   s     	!)0\)B")++e"4:A++i:P,3KK,H%,[[%:0;0L0LKK'1
 3>2N2NKK()3

 *7
 ;?    returnc                     | j                   )t        | j                  | j                  d         | _         | j                   S )z
        Generate an instance context for the instance, the context is capable of
        performing various actions. All instance actions are proxied to the context

        :returns: BulkEligibilityContext for this BulkEligibilityInstance
        r   r   )r!   BulkEligibilityContext_versionr    r"   s    r$   _proxyzBulkEligibilityInstance._proxy=   s9     == 2>>,7DM }}r%   c                 6    | j                   j                         S )k
        Fetch the BulkEligibilityInstance


        :returns: The fetched BulkEligibilityInstance
        )r,   fetchr+   s    r$   r/   zBulkEligibilityInstance.fetchL   s     {{  ""r%   c                 R   K   | j                   j                          d{   S 7 w)
        Asynchronous coroutine to fetch the BulkEligibilityInstance


        :returns: The fetched BulkEligibilityInstance
        N)r,   fetch_asyncr+   s    r$   r2   z#BulkEligibilityInstance.fetch_asyncU   s!      [[,,....   '%'c                 6    | j                   j                         S )z
        Fetch the BulkEligibilityInstance with HTTP info


        :returns: ApiResponse with instance, status code, and headers
        )r,   fetch_with_http_infor+   s    r$   r5   z,BulkEligibilityInstance.fetch_with_http_info^   s     {{//11r%   c                 R   K   | j                   j                          d{   S 7 w)z
        Asynchronous coroutine to fetch the BulkEligibilityInstance with HTTP info


        :returns: ApiResponse with instance, status code, and headers
        N)r,   fetch_with_http_info_asyncr+   s    r$   r7   z2BulkEligibilityInstance.fetch_with_http_info_asyncg   s!      [[;;====r3   c                     dj                  d | j                  j                         D              }dj                  |      S )f
        Provide a friendly representation

        :returns: Machine friendly representation
         c              3   F   K   | ]  \  }}d j                  ||        ywz{}={}Nformat.0kvs      r$   	<genexpr>z3BulkEligibilityInstance.__repr__.<locals>.<genexpr>v        SDAq7>>!Q/S   !z.<Twilio.Numbers.V1.BulkEligibilityInstance {}>joinr    itemsr>   r"   contexts     r$   __repr__z BulkEligibilityInstance.__repr__p   s6     ((SDNN<P<P<RSS?FFwOOr%   )N)r&   r)   )r&   r   )__name__
__module____qualname____doc__r   r   strr   r   r   propertyr,   r/   r2   r   r5   r7   rK   __classcell__r#   s   @r$   r   r      s~     %)	?? c3h? SM	?2  #/2k 2>+ >P# Pr%   r   c                   |     e Zd Zdedef fdZdefdZdefdZ	de
fdZdefdZdefd	Zde
fd
ZdefdZ xZS )r)   r   r   c                 x    t         |   |       d|i| _         dj                  di | j                  | _        y)z
        Initialize the BulkEligibilityContext

        :param version: Version that contains the resource
        :param request_id: The SID of the bulk eligibility check that you want to know about.
        r   z+/HostedNumber/Eligibility/Bulk/{request_id}N )r   r   r    r>   _uri)r"   r   r   r#   s      r$   r   zBulkEligibilityContext.__init__|   sF     	! *
 IAHH 
nn
	r%   r&   c                     t        j                  i       }d|d<   | j                  j                  d| j                  |      S )zz
        Internal helper for fetch operation

        Returns:
            tuple: (payload, status_code, headers)
        application/jsonAcceptGETmethoduriheaders)r
   ofr*   fetch_with_response_inforW   r"   r_   s     r$   _fetchzBulkEligibilityContext._fetch   sB     ))B-.}}55dii 6 
 	
r%   c                 t    | j                         \  }}}t        | j                  || j                  d         S )r.   r   r(   )rc   r   r*   r    r"   r   _s      r$   r/   zBulkEligibilityContext.fetch   s8     A&MM~~l3
 	
r%   c                     | j                         \  }}}t        | j                  || j                  d         }t	        |||      S )z
        Fetch the BulkEligibilityInstance and return response metadata


        :returns: ApiResponse with instance, status code, and headers
        r   r(   datastatus_coder_   )rc   r   r*   r    r   r"   r   rj   r_   instances        r$   r5   z+BulkEligibilityContext.fetch_with_http_info   sG     )-%g*MM~~l3

 k7SSr%   c                    K   t        j                  i       }d|d<   | j                  j                  d| j                  |       d{   S 7 w)z
        Internal async helper for fetch operation

        Returns:
            tuple: (payload, status_code, headers)
        rY   rZ   r[   r\   N)r
   r`   r*   fetch_with_response_info_asyncrW   rb   s     r$   _fetch_asyncz#BulkEligibilityContext._fetch_async   sQ      ))B-.]]AAdii B 
 
 	
 
s   AAA	Ac                    K   | j                          d{   \  }}}t        | j                  || j                  d         S 7 -w)r1   Nr   r(   )ro   r   r*   r    re   s      r$   r2   z"BulkEligibilityContext.fetch_async   sG      #//11A&MM~~l3
 	
 2s   AA.Ac                    K   | j                          d{   \  }}}t        | j                  || j                  d         }t	        |||      S 7 ;w)z
        Asynchronous coroutine to fetch the BulkEligibilityInstance and return response metadata


        :returns: ApiResponse with instance, status code, and headers
        Nr   r(   rh   )ro   r   r*   r    r   rk   s        r$   r7   z1BulkEligibilityContext.fetch_with_http_info_async   sW      /3.?.?.A(A%g*MM~~l3

 k7SS )Bs   AA<Ac                     dj                  d | j                  j                         D              }dj                  |      S )r9   r:   c              3   F   K   | ]  \  }}d j                  ||        ywr<   r=   r?   s      r$   rC   z2BulkEligibilityContext.__repr__.<locals>.<genexpr>   rD   rE   z-<Twilio.Numbers.V1.BulkEligibilityContext {}>rF   rI   s     r$   rK   zBulkEligibilityContext.__repr__   s6     ((SDNN<P<P<RSS>EEgNNr%   )rL   rM   rN   r   rP   r   tuplerc   r   r/   r   r5   ro   r2   r7   rK   rR   rS   s   @r$   r)   r)   z   sr    
 
S 
"
 
 
. 
Tk T
E 
 
#: 
T+ TO# Or%   r)   c                   |    e Zd Zdef fdZej                  fdeeef   de	fdZ
ej                  fdeeef   defdZej                  fdeeef   defdZej                  fdeeef   de	fdZej                  fdeeef   defd	Zej                  fdeeef   defd
ZdedefdZdedefdZdefdZ xZS )BulkEligibilityListr   c                 2    t         |   |       d| _        y)zq
        Initialize the BulkEligibilityList

        :param version: Version that contains the resource

        z/HostedNumber/Eligibility/BulkN)r   r   rW   )r"   r   r#   s     r$   r   zBulkEligibilityList.__init__   s     	!4	r%   bodyr&   c                     |j                         }t        j                  ddi      }d|d<   d|d<   | j                  j	                  d| j
                  ||      S )z{
        Internal helper for create operation

        Returns:
            tuple: (payload, status_code, headers)
        Content-Type!application/x-www-form-urlencodedrY   rZ   POSTr]   r^   ri   r_   )to_dictr
   r`   r*   create_with_response_inforW   r"   rx   ri   r_   s       r$   _createzBulkEligibilityList._create   s`     ||~))^-PQR"4.}}66tyytW 7 
 	
r%   c                 Z    | j                  |      \  }}}t        | j                  |      S )z
        Create the BulkEligibilityInstance

        :param body:

        :returns: The created BulkEligibilityInstance
        rx   )r   r   r*   r"   rx   r   rf   s       r$   createzBulkEligibilityList.create  s+     $/A&t}}g>>r%   c                 v    | j                  |      \  }}}t        | j                  |      }t        |||      S )z
        Create the BulkEligibilityInstance and return response metadata

        :param body:

        :returns: ApiResponse with instance, status code, and headers
        r   rh   )r   r   r*   r   r"   rx   r   rj   r_   rl   s         r$   create_with_http_infoz)BulkEligibilityList.create_with_http_info  s:     )-$(?%g*4=='Bk7SSr%   c                    K   |j                         }t        j                  ddi      }d|d<   d|d<   | j                  j	                  d| j
                  ||       d{   S 7 w)z
        Internal async helper for create operation

        Returns:
            tuple: (payload, status_code, headers)
        rz   r{   rY   rZ   r|   r}   N)r~   r
   r`   r*   create_with_response_info_asyncrW   r   s       r$   _create_asyncz!BulkEligibilityList._create_async,  so      ||~))^-PQR"4.]]BBtyytW C 
 
 	
 
s   AA' A%!A'c                 v   K   | j                  |       d{   \  }}}t        | j                  |      S 7 w)z
        Asynchronously create the BulkEligibilityInstance

        :param body:

        :returns: The created BulkEligibilityInstance
        r   N)r   r   r*   r   s       r$   create_asyncz BulkEligibilityList.create_async?  s:      #00d0;;A&t}}g>> <s   979c                    K   | j                  |       d{   \  }}}t        | j                  |      }t        |||      S 7 ,w)z
        Asynchronously create the BulkEligibilityInstance and return response metadata

        :param body:

        :returns: ApiResponse with instance, status code, and headers
        r   Nrh   )r   r   r*   r   r   s         r$   create_with_http_info_asyncz/BulkEligibilityList.create_with_http_info_asyncL  sJ      /3.@.@d.@.K(K%g*4=='Bk7SS )Ls   AA-Ar   c                 0    t        | j                  |      S z
        Constructs a BulkEligibilityContext

        :param request_id: The SID of the bulk eligibility check that you want to know about.
        r(   r)   r*   r"   r   s     r$   r   zBulkEligibilityList.getZ       &dmm
KKr%   c                 0    t        | j                  |      S r   r   r   s     r$   __call__zBulkEligibilityList.__call__b  r   r%   c                      y)r9   z'<Twilio.Numbers.V1.BulkEligibilityList>rV   r+   s    r$   rK   zBulkEligibilityList.__repr__j  s     9r%   )rL   rM   rN   r   r   r
   unsetr   objectrt   r   r   r   r   r   r   r   r   rP   r)   r   r   rK   rR   rS   s   @r$   rv   rv      s8   	5 	5 5;LL 
E&&.1 
U 
( -3LL?&&.)?	 ? -3LLT&&.)T	T AG 
ffn(= 
QV 
( -3LL?&&.)?	 ? -3LLT&&.)T	TLc L&< LL3 L+A L9# 9r%   rv   N)rO   r   typingr   r   r   r   r   twilio.baser	   r
   twilio.base.api_responser   twilio.base.instance_contextr   twilio.base.instance_resourcer   twilio.base.list_resourcer   twilio.base.versionr   r   r)   rv   rV   r%   r$   <module>r      sX     3 3 + 0 8 : 2 '^P. ^PBtO_ tOn9, 9r%   