a
    !f>                     @   s   d dl 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mZmZmZmZ d dlmZmZmZmZmZ d dlmZ erd d	lmZ G d
d ded ed ed ZdS )    )CreateableAPIResourceListableAPIResourceUpdateableAPIResource)ExpandableField)
ListObject)RequestOptions)StripeObject)ClassVarDictListOptionalcast)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)
quote_plus)TaxCodec                	   @   s2  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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d!< ee	 ed"< ee ed#< ee
 ed$< eed%< eed&< eeef ed'< ed ed(< eed)  ed*< eed+  ed,< ed$ ed-< ed?ee ee ee ee e d/ d d0d1d2Z!ed@ee ee ee e d3 e"d  d4d5d6Z#eee d7 d d8d9d:Z$eee d; d d8d<d=Z%e	e
d>Z&d.S )AShippingRatez
    Shipping rates describe the price of shipping presented to your customers and
    applied to a purchase. For more information, see [Charge for shipping](https://stripe.com/docs/payments/during-payment/charge-shipping).
    Zshipping_rateOBJECT_NAMEc                   @   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ShippingRate.DeliveryEstimatec                   @   s"   e Zd ZU ed ed< eed< dS )z%ShippingRate.DeliveryEstimate.MaximumZbusiness_daydayhourmonthweekunitvalueN__name__
__module____qualname__r   __annotations__int r$   r$   c/var/www/html/python-backend/venv/lib/python3.9/site-packages/stripe/api_resources/shipping_rate.pyMaximum'   s   
r&   c                   @   s"   e Zd ZU ed ed< eed< dS )z%ShippingRate.DeliveryEstimate.Minimumr   r   r   Nr   r$   r$   r$   r%   Minimum1   s   
r'   maximumminimum)r(   r)   N)	r   r    r!   r   r&   r'   r   r"   _inner_class_typesr$   r$   r$   r%   DeliveryEstimate&   s
   


r+   c                   @   sP   e Zd ZU G dd deZeed< eed< ee	eef  ed< deiZ
dgZdS )zShippingRate.FixedAmountc                   @   s"   e Zd ZU eed< ed ed< dS )z(ShippingRate.FixedAmount.CurrencyOptionsamountZ	exclusiveZ	inclusiveunspecifiedtax_behaviorN)r   r    r!   r#   r"   r   r$   r$   r$   r%   CurrencyOptionsF   s   
r0   r,   currencycurrency_optionsN)r   r    r!   r   r0   r#   r"   strr   r
   r*   Z_inner_class_dictsr$   r$   r$   r%   FixedAmountE   s   

r4   c                   @   sj   e Zd ZU ed ed< eed< 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 )ShippingRate.CreateParams)ShippingRate.CreateParamsDeliveryEstimatedelivery_estimatedisplay_name	List[str]expand$ShippingRate.CreateParamsFixedAmountfixed_amountzDict[str, str]metadata0Literal['exclusive', 'inclusive', 'unspecified']r/   r3   tax_codezLiteral['fixed_amount']typeN)r   r    r!   r   r"   r3   r$   r$   r$   r%   CreateParams_   s   
rA   c                   @   s*   e Zd ZU eed< eed< ed ed< dS )r;   r,   r1   z>Dict[str, ShippingRate.CreateParamsFixedAmountCurrencyOptions]r2   N)r   r    r!   r#   r"   r3   r   r$   r$   r$   r%   CreateParamsFixedAmount   s   
rB   c                   @   s"   e Zd ZU eed< ed ed< dS )z3ShippingRate.CreateParamsFixedAmountCurrencyOptionsr,   r>   r/   N)r   r    r!   r#   r"   r   r$   r$   r$   r%   &CreateParamsFixedAmountCurrencyOptions   s
   
rC   c                   @   s&   e Zd ZU ed ed< ed ed< dS )r6   0ShippingRate.CreateParamsDeliveryEstimateMaximumr(   0ShippingRate.CreateParamsDeliveryEstimateMinimumr)   Nr   r    r!   r   r"   r$   r$   r$   r%   CreateParamsDeliveryEstimate   s   
rG   c                   @   s"   e Zd ZU ed ed< eed< dS )rE   r   r   r   Nr   r$   r$   r$   r%   #CreateParamsDeliveryEstimateMinimum   s   
rH   c                   @   s"   e Zd ZU ed ed< eed< dS )rD   r   r   r   Nr   r$   r$   r$   r%   #CreateParamsDeliveryEstimateMaximum   s   
rI   c                   @   sb   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< ed ed< dS )ShippingRate.ListParamsboolactivez"ShippingRate.ListParamsCreated|intcreatedr3   r1   Zending_beforer9   r:   r#   limitZstarting_afterNrF   r$   r$   r$   r%   
ListParams   s   
rO   c                   @   s>   e Zd ZU ed ed< ed ed< ed ed< ed ed< dS )zShippingRate.ListParamsCreatedr#   gtZgteltZlteNrF   r$   r$   r$   r%   ListParamsCreated   s
   
rR   c                   @   sJ   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
< dS )ShippingRate.ModifyParamsrK   rL   r9   r:   $ShippingRate.ModifyParamsFixedAmountr<   zLiteral['']|Dict[str, str]r=   r>   r/   NrF   r$   r$   r$   r%   ModifyParams   s   
rU   c                   @   s   e Zd ZU ed ed< dS )rT   z>Dict[str, ShippingRate.ModifyParamsFixedAmountCurrencyOptions]r2   NrF   r$   r$   r$   r%   ModifyParamsFixedAmount  s   
rV   c                   @   s&   e Zd ZU ed ed< ed ed< dS )z3ShippingRate.ModifyParamsFixedAmountCurrencyOptionsr#   r,   r>   r/   NrF   r$   r$   r$   r%   &ModifyParamsFixedAmountCurrencyOptions  s
   
rW   c                   @   s   e Zd ZU ed ed< dS )ShippingRate.RetrieveParamsr9   r:   NrF   r$   r$   r$   r%   RetrieveParams  s   
rY   rL   rM   r7   r8   r<   idZlivemoder=   objectr-   r/   r   r?   r@   Nr5   )api_keyidempotency_keystripe_versionstripe_accountparamsreturnc                 K   s    t d| d|  |||||S )z5
        Creates a new shipping rate object.
        r   post)r   _static_request	class_url)clsr\   r]   r^   r_   r`   r$   r$   r%   createS  s    zShippingRate.createrJ   )r\   r^   r_   r`   ra   c                 K   s:   | j d|  ||||d}t|ts6tdt|j |S )z8
        Returns a list of your shipping rates.
        get)r\   r^   r_   r`   z%Expected list object from API, got %s)rc   rd   
isinstancer   	TypeErrorr@   r   )re   r\   r^   r_   r`   resultr$   r$   r%   listn  s    
zShippingRate.listrS   )rZ   r`   ra   c                 K   s*   d|   t|f }td| jd||dS )z;
        Updates an existing shipping rate object.
        z%s/%sr   rb   )r`   )rd   r   r   rc   )re   rZ   r`   urlr$   r$   r%   modify  s
    zShippingRate.modifyrX   c                 K   s   | |fi |}|   |S )zE
        Returns the shipping rate object with the given ID.
        )refresh)re   rZ   r`   instancer$   r$   r%   retrieve  s    zShippingRate.retrieve)r7   r<   )NNNN)NNN)'r   r    r!   __doc__r   r	   r   r"   r   r+   r4   r   rA   r   rB   rC   rG   rH   rI   rO   rR   rU   rV   rW   rY   rK   r#   r   r3   r
   r   classmethodr   rf   r   rk   rm   rp   r*   r$   r$   r$   r%   r      s   
&

       r   N)Zstripe.api_resources.abstractr   r   r   Z%stripe.api_resources.expandable_fieldr   Z stripe.api_resources.list_objectr   Zstripe.request_optionsr   Zstripe.stripe_objectr   typingr	   r
   r   r   r   Ztyping_extensionsr   r   r   r   r   urllib.parser   Zstripe.api_resources.tax_coder   r   r$   r$   r$   r%   <module>   s   
