o
    i                     @   s   d dl mZ d dlmZ d dlmZmZ d dlmZ erFd dl	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 d dlmZ G dd deZdS )    )StripeService)sanitize_id)Optionalcast)TYPE_CHECKING)
ListObject)RequestOptions)TaxId)CustomerTaxIdCreateParams)CustomerTaxIdDeleteParams)CustomerTaxIdListParams)CustomerTaxIdRetrieveParamsc                   @   sP  e Zd Z		ddededed ded dd	f
d
dZ		ddededed ded dd	f
ddZ		ddededed ded dd	f
ddZ		ddededed ded dd	f
ddZ		ddeded ded ddfddZ			ddeded ded ddfddZ
	ddeddded dd	fddZ	ddeddded dd	fddZdS ) CustomerTaxIdServiceNcustomeridparamsr   optionsr   returnr	   c              	   C   ,   t d| jddjt|t|dd||dS )4
        Deletes an existing tax_id object.
        r	   delete%/v1/customers/{customer}/tax_ids/{id}r   r   apibase_addressr   r   r   _requestformatr   selfr   r   r   r    r!   /var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/env/lib/python3.10/site-packages/stripe/_customer_tax_id_service.pyr         
zCustomerTaxIdService.deletec              	      4   t d| jddjt|t|dd||dI dH S )r   r	   r   r   r   r   r   Nr   _request_asyncr   r   r   r!   r!   r"   delete_async3      

z!CustomerTaxIdService.delete_asyncr   c              	   C   r   )H
        Retrieves the tax_id object with the given identifier.
        r	   getr   r   r   r   r   r   r!   r!   r"   retrieveK   r#   zCustomerTaxIdService.retrievec              	      r$   )r)   r	   r*   r   r   r   r   Nr%   r   r!   r!   r"   retrieve_asyncc   r(   z#CustomerTaxIdService.retrieve_asyncr   ListObject[TaxId]c              	   C   &   t d| jddjt|dd||dS );
        Returns a list of tax IDs for a customer.
        r-   r*    /v1/customers/{customer}/tax_idsr   r   r   r   r    r   r   r   r!   r!   r"   list{      	zCustomerTaxIdService.listc              	      .   t d| jddjt|dd||dI dH S )r/   r-   r*   r0   r1   r   r   Nr%   r2   r!   r!   r"   
list_async      	
zCustomerTaxIdService.list_asyncr
   c              	   C   r.   )=
        Creates a new tax_id object for a customer.
        r	   postr0   r1   r   r   r   r2   r!   r!   r"   create   r4   zCustomerTaxIdService.createc              	      r5   )r8   r	   r9   r0   r1   r   r   Nr%   r2   r!   r!   r"   create_async   r7   z!CustomerTaxIdService.create_async)NN)N)__name__
__module____qualname__strr   r   r'   r+   r,   r3   r6   r:   r;   r!   r!   r!   r"   r      s    






r   N)stripe._stripe_servicer   stripe._utilr   typingr   r   typing_extensionsr   stripe._list_objectr   stripe._request_optionsr   stripe._tax_idr	   ,stripe.params._customer_tax_id_create_paramsr
   ,stripe.params._customer_tax_id_delete_paramsr   *stripe.params._customer_tax_id_list_paramsr   .stripe.params._customer_tax_id_retrieve_paramsr   r   r!   r!   r!   r"   <module>   s   