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 d d
lmZ G dd deZdS )    )StripeService)sanitize_id)Optionalcast)TYPE_CHECKING)
ListObject)RequestOptions)Review)ReviewApproveParams)ReviewListParams)ReviewRetrieveParamsc                	   @   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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 )ReviewServiceNparamsr   optionsr   returnListObject[Review]c              	   C   s   t d| jddd||dS )
        Returns a list of Review objects that have open set to true. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
        r   get/v1/reviewsapibase_addressr   r   )r   _requestselfr   r    r   v/var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/env/lib/python3.10/site-packages/stripe/_review_service.pylist   s   zReviewService.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ReviewService.list_asyncreviewr   r	   c              	   C   &   t d| jddjt|dd||dS ),
        Retrieves a Review object.
        r	   r   /v1/reviews/{review}r    r   r   r   r   formatr   r   r    r   r   r   r   r   retrieve8   s   	zReviewService.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   r&   r   r'   r   r   r   retrieve_asyncL   s   	
zReviewService.retrieve_asyncr
   c              	   C   r!   )`
        Approves a Review object, closing it and removing it from the list of reviews.
        r	   post/v1/reviews/{review}/approver$   r   r   r%   r'   r   r   r   approve`   s   	zReviewService.approvec              	      r)   )r,   r	   r-   r.   r$   r   r   Nr*   r'   r   r   r   approve_asyncv   s   	
zReviewService.approve_async)NN)__name__
__module____qualname__r   r   r   strr(   r+   r/   r0   r   r   r   r   r      s~    




r   N)stripe._stripe_servicer   stripe._utilr   typingr   r   typing_extensionsr   stripe._list_objectr   stripe._request_optionsr   stripe._reviewr	   $stripe.params._review_approve_paramsr
   !stripe.params._review_list_paramsr   %stripe.params._review_retrieve_paramsr   r   r   r   r   r   <module>   s   