a
    !f                     @   sd   d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 d dl
mZmZmZ G dd ded ZdS )	    )ListableAPIResource)
ListObject)RequestOptions)ClassVarListOptional)LiteralNotRequiredUnpackc                   @   s   e Zd ZU dZdZeed  ed< G dd deZ	G dd deZ
eed< eed	< eed
< ed ed< edee ee ee ed ed  dddZeeed d dddZdS )TaxCodezo
    [Tax codes](https://stripe.com/docs/tax/tax-categories) classify goods and services for tax purposes.
    Ztax_codeOBJECT_NAMEc                   @   s>   e Zd ZU ed ed< ed ed< ed ed< ed ed< dS )	TaxCode.ListParamsstrZending_before	List[str]expandintlimitZstarting_afterN__name__
__module____qualname__r	   __annotations__ r   r   ^/var/www/html/python-backend/venv/lib/python3.9/site-packages/stripe/api_resources/tax_code.py
ListParams   s
   
r   c                   @   s   e Zd ZU ed ed< dS )TaxCode.RetrieveParamsr   r   Nr   r   r   r   r   RetrieveParams#   s   
r   descriptionidnameobjectNr   )api_keystripe_versionstripe_accountparamsreturnc                 K   s:   | j d|  ||||d}t|ts6tdt|j |S )z
        A list of [all tax codes available](https://stripe.com/docs/tax/tax-categories) to add to Products in order to allow specific tax calculations.
        get)r!   r"   r#   r$   z%Expected list object from API, got %s)Z_static_requestZ	class_url
isinstancer   	TypeErrortyper   )clsr!   r"   r#   r$   resultr   r   r   list:   s    
zTaxCode.listr   )r   r$   r%   c                 K   s   | |fi |}|   |S )z
        Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information.
        )refresh)r*   r   r$   instancer   r   r   retrieveX   s    zTaxCode.retrieve)NNN)r   r   r   __doc__r   r   r   r   r   r   r   r   classmethodr   r
   r   r,   r/   r   r   r   r   r   
   s2   
   r   N)Zstripe.api_resources.abstractr   Z stripe.api_resources.list_objectr   Zstripe.request_optionsr   typingr   r   r   Ztyping_extensionsr   r	   r
   r   r   r   r   r   <module>   s
   