a
    !f1                     @   s   d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
mZ d dlmZmZmZmZ d dlmZ G dd ded ed Zd	S )
    )SingletonAPIResourceUpdateableAPIResource)RequestOptions)StripeObject)ClassVarListOptionalcast)LiteralNotRequired	TypedDictUnpack)
quote_plusc                   @   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
G dd	 d	eZG d
d deZG dd deZG dd deZG dd deZG dd deZe	ed< ee
 ed< eed< ed ed< ed ed< eed< eeed d dddZeed d d d!d"Zed#d$ Ze	e
ed%Zd&S )'Settingsz
    You can use Tax `Settings` to manage configurations used by Stripe Tax calculations.

    Related guide: [Using the Settings API](https://stripe.com/docs/tax/settings-api)
    ztax.settingsOBJECT_NAMEc                   @   s*   e Zd ZU eed  ed< ee ed< dS )zSettings.Defaults)Z	exclusiveZ	inclusiveZinferred_by_currencytax_behaviortax_codeN)__name__
__module____qualname__r   r
   __annotations__str r   r   b/var/www/html/python-backend/venv/lib/python3.9/site-packages/stripe/api_resources/tax/settings.pyDefaults   s
   
r   c                   @   s.   e Zd ZU G dd deZeed< deiZdS )zSettings.HeadOfficec                   @   sV   e Zd ZU ee ed< ee ed< ee ed< ee ed< ee ed< ee ed< dS )zSettings.HeadOffice.Addresscitycountryline1line2postal_codestateN)r   r   r   r   r   r   r   r   r   r   Address'   s   
r!   addressN)r   r   r   r   r!   r   _inner_class_typesr   r   r   r   
HeadOffice&   s   
r$   c                   @   sP   e Zd ZU G dd deZG dd deZee ed< ee ed< eedZdS )	zSettings.StatusDetailsc                   @   s   e Zd ZdS )zSettings.StatusDetails.ActiveN)r   r   r   r   r   r   r   ActiveE   s   r%   c                   @   s   e Zd ZU eee  ed< dS )zSettings.StatusDetails.PendingZmissing_fieldsN)r   r   r   r   r   r   r   r   r   r   r   PendingH   s   
r&   activependingr'   r(   N)	r   r   r   r   r%   r&   r   r   r#   r   r   r   r   StatusDetailsD   s
   
r*   c                   @   s2   e Zd ZU ed ed< ed ed< ed ed< dS )Settings.ModifyParamsSettings.ModifyParamsDefaultsdefaults	List[str]expandSettings.ModifyParamsHeadOfficehead_officeNr   r   r   r   r   r   r   r   r   ModifyParamsR   s   
r3   c                   @   s   e Zd ZU ded< dS )r0   &Settings.ModifyParamsHeadOfficeAddressr"   N)r   r   r   r   r   r   r   r   ModifyParamsHeadOffice`   s   
r5   c                   @   sV   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed< ed ed< dS )	r4   r   r   r   r   r   r   r    Nr2   r   r   r   r   ModifyParamsHeadOfficeAddressf   s   
r6   c                   @   s&   e Zd ZU ed ed< ed ed< dS )r,   z9Literal['exclusive', 'inclusive', 'inferred_by_currency']r   r   r   Nr2   r   r   r   r   ModifyParamsDefaults   s
   
r7   c                   @   s   e Zd ZU ed ed< dS )Settings.RetrieveParamsr.   r/   Nr2   r   r   r   r   RetrieveParams   s   
r9   r-   r1   Zlivemodeobjectr)   statusstatus_detailsr+   )idparamsreturnc                 K   s*   d|   t|f }td| jd||dS )z
        Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set.
        z%s/%sr   post)r>   )	class_urlr   r	   Z_static_request)clsr=   r>   urlr   r   r   modify   s
    zSettings.modifyr8   )r>   r?   c                 K   s   | di |}|   |S )z8
        Retrieves Tax Settings for a merchant.
        N)N)refresh)rB   r>   instancer   r   r   retrieve   s    zSettings.retrievec                 C   s   dS )Nz/v1/tax/settingsr   )rB   r   r   r   rA      s    zSettings.class_url)r-   r1   r<   N)r   r   r   __doc__r   r   r
   r   r   r   r$   r*   r   r3   r   r5   r6   r7   r9   r   boolclassmethodr   r   rD   rG   rA   r#   r   r   r   r   r      s<   


r   N)Zstripe.api_resources.abstractr   r   Zstripe.request_optionsr   Zstripe.stripe_objectr   typingr   r   r   r	   Ztyping_extensionsr
   r   r   r   urllib.parser   r   r   r   r   r   <module>   s   
