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)CreditReversalCreateParams)CreditReversalListParams)CreditReversalRetrieveParams)CreditReversalc                	   @   s   e Z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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S )CreditReversalServiceNparamsr
   optionsr   returnListObject[CreditReversal]c              	   C      t d| jddd||dS )4
        Returns a list of CreditReversals.
        r   get/v1/treasury/credit_reversals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/treasury/_credit_reversal_service.pylist      zCreditReversalService.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 CreditReversalService.list_asyncr	   r   c              	   C   r   )P
        Reverses a ReceivedCredit and creates a CreditReversal object.
        r   postr   r   r   r   r   r   r   r   create>   r    zCreditReversalService.createc              	      r!   )r&   r   r'   r   r   r   Nr"   r   r   r   r   create_asyncQ   r%   z"CreditReversalService.create_asynccredit_reversalr   c              	   C   s&   t d| jddjt|dd||dS )
        Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list
        r   r   //v1/treasury/credit_reversals/{credit_reversal}r*   r   r   )r   r   formatr   r   r*   r   r   r   r   r   retrieved   s   	zCreditReversalService.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_asyncz   s   	
z$CreditReversalService.retrieve_async)N)NN)__name__
__module____qualname__r   r   r$   r(   r)   strr0   r1   r   r   r   r   r      sn    




r   N)stripe._stripe_servicer   stripe._utilr   typingr   r   typing_extensionsr   stripe._list_objectr   stripe._request_optionsr   5stripe.params.treasury._credit_reversal_create_paramsr	   3stripe.params.treasury._credit_reversal_list_paramsr
   7stripe.params.treasury._credit_reversal_retrieve_paramsr    stripe.treasury._credit_reversalr   r   r   r   r   r   <module>   s   