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)ShippingRate)ShippingRateCreateParams)ShippingRateListParams)ShippingRateRetrieveParams)ShippingRateUpdateParamsc                	   @   s0  e Zd Z		dded ded ddfdd	Z		dded ded ddfd
dZ	dddded ddfddZ	dd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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S )ShippingRateServiceNparamsr   optionsr   returnListObject[ShippingRate]c              	   C      t d| jddd||dS )8
        Returns a list of your shipping rates.
        r   get/v1/shipping_ratesapibase_addressr   r   r   _requestselfr   r    r   }/var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/env/lib/python3.10/site-packages/stripe/_shipping_rate_service.pylist      zShippingRateService.listc              	      "   t d| jddd||dI dH S )r   r   r   r   r   r   Nr   _request_asyncr   r   r   r   
list_async,      
zShippingRateService.list_asyncr
   r	   c              	   C   r   )5
        Creates a new shipping rate object.
        r	   postr   r   r   r   r   r   r   r   create?   r!   zShippingRateService.createc              	      r"   )r'   r	   r(   r   r   r   Nr#   r   r   r   r   create_asyncR   r&   z ShippingRateService.create_asyncshipping_rate_tokenr   c              	   C   &   t d| jddjt|dd||dS )E
        Returns the shipping rate object with the given ID.
        r	   r   (/v1/shipping_rates/{shipping_rate_token}r+   r   r   r   r   formatr   r   r+   r   r   r   r   r   retrievee      	zShippingRateService.retrievec              	      .   t d| jddjt|dd||dI dH S )r-   r	   r   r.   r/   r   r   Nr   r$   r1   r   r2   r   r   r   retrieve_async{      	
z"ShippingRateService.retrieve_asyncr   c              	   C   r,   );
        Updates an existing shipping rate object.
        r	   r(   r.   r/   r   r   r0   r2   r   r   r   update   r4   zShippingRateService.updatec              	      r5   )r9   r	   r(   r.   r/   r   r   Nr6   r2   r   r   r   update_async   r8   z ShippingRateService.update_async)NN)N)__name__
__module____qualname__r   r    r%   r)   r*   strr3   r7   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._shipping_rater	   *stripe.params._shipping_rate_create_paramsr
   (stripe.params._shipping_rate_list_paramsr   ,stripe.params._shipping_rate_retrieve_paramsr   *stripe.params._shipping_rate_update_paramsr   r   r   r   r   r   <module>   s   