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r: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)Product)ProductListParams)ProductRetrieveParamsc                	   @   s   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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 )ProductServiceNparamsr
   optionsr   returnListObject[Product]c              	   C   s   t d| jddd||dS )>
        Lists all available Climate product objects.
        r   get/v1/climate/products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/climate/_product_service.pylist   s   zProductService.listc              	      s"   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&   s   
zProductService.list_asyncproductr   r	   c              	   C   s&   t d| jddjt|dd||dS )O
        Retrieves the details of a Climate product with the given ID.
        r	   r   /v1/climate/products/{product}r   r   r   )r   r   formatr   r   r   r   r   r   r   r   retrieve9   s   	zProductService.retrievec              	      s.   t d| jddjt|dd||dI dH S )r    r	   r   r!   r"   r   r   N)r   r   r#   r   r$   r   r   r   retrieve_asyncO   s   	
zProductService.retrieve_async)NN)	__name__
__module____qualname__r   r   r   strr%   r&   r   r   r   r   r      sR    


r   N)stripe._stripe_servicer   stripe._utilr   typingr   r   typing_extensionsr   stripe._list_objectr   stripe._request_optionsr   stripe.climate._productr	   *stripe.params.climate._product_list_paramsr
   .stripe.params.climate._product_retrieve_paramsr   r   r   r   r   r   <module>   s   