
    +h&                         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 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 erd d
lmZ d dlmZ  G d ded         Zy)    )util)ListableAPIResource)ExpandableField)
ListObject)RequestOptions)StripeObject)class_method_variant)ClassVarListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Charge)PaymentIntentc                   $   e Zd ZU dZdZeed      ed<    G d de      Z	 G d de      Z
er, G d d	e      Z G d
 de      Z G d de      Z G d de      Zee   ed<   	 eed      ed<   	 eed      ed<   	 eed<   	 eed<   	 ee   ed<   	 ee	   ed<   	 eed<   	 ed   ed<   	 eed<   	 ed   ed<   	 eed      ed<   	 eed <   	 ee
   ed!<   	 e	 	 	 d4ded#ee   d$ee   d%ee   d&ed'   d(d fd)       Zee	 	 	 d4ded#ee   d$ee   d%ee   d&ed'   d(d fd*              Ze	 d5d+ee   d&ed'   d(d fd,       Z ed-      	 d5d+ee   d&ed'   d(d fd.       Ze	 	 	 d4d#ee   d$ee   d%ee   d&ed/   d(ed    f
d0       Zeded&ed1   d(d fd2       Z e	e
d3Z!y")6Reviewz
    Reviews can be used to supplement automated fraud detection with human expertise.

    Learn more about [Radar](https://stripe.com/radar) and reviewing payments
    [here](https://stripe.com/docs/radar/reviews).
    reviewOBJECT_NAMEc                   f    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)Review.IpAddressLocationcitycountrylatitude	longituderegionN)__name__
__module____qualname__r   str__annotations__float     N/var/www/html/venv/lib/python3.12/site-packages/stripe/api_resources/review.pyIpAddressLocationr   "   sU    sm	 #	 5/!	 E?"	 	r(   r*   c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)Review.SessionbrowserdeviceplatformversionN)r!   r"   r#   r   r$   r%   r'   r(   r)   Sessionr,   8   sD    #	 	 3-	 #	r(   r1   c                       e Zd ZU ed   ed<   y)Review.ApproveParams	List[str]expandNr!   r"   r#   r   r%   r'   r(   r)   ApproveParamsr3   L       ,,r(   r7   c                   d    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	<   y
)Review.ListParamszReview.ListParamsCreated|intcreatedr$   ending_beforer4   r5   intlimitstarting_afterNr6   r'   r(   r)   
ListParamsr:   R   sT     !?@@&u--  ,, u%% (..r(   r@   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)Review.ListParamsCreatedr=   gtgteltlteNr6   r'   r(   r)   ListParamsCreatedrB   e   sH    E"" U## E"" U##r(   rG   c                       e Zd ZU ed   ed<   y)Review.RetrieveParamsr4   r5   Nr6   r'   r(   r)   RetrieveParamsrI   w   r8   r(   rJ   billing_zipr   charge)approveddisputedredactedrefundedrefunded_as_fraudclosed_reasonr;   id
ip_addressip_address_locationlivemodeobjectopen)manualruleopened_reasonr   payment_intentreasonsessionNapi_keystripe_versionstripe_accountparamsr3   returnc                     t        d| j                  ddj                  t        j                  |            ||||            S )`
        Approves a Review object, closing it and removing it from the list of reviews.
        r   post/v1/reviews/{review}/approver   r_   r`   ra   rb   )r   _static_requestformatr   sanitize_id)clsr   r_   r`   ra   rb   s         r)   _cls_approvezReview._cls_approve   sY     .55++F3 6   --   	
 	
r(   c                      yre   Nr'   )r   r_   r`   ra   rb   s        r)   approvezReview.approve   s     	r(   idempotency_keyc                      yrp   r'   selfrr   rb   s      r)   rq   zReview.approve   s     	r(   rn   c                     t        d| j                  ddj                  t        j                  | j                  d                  ||            S )re   r   rf   rg   rS   rh   )rr   rb   )r   _requestrk   r   rl   getrt   s      r)   rq   zReview.approve   sY     MM.55++DHHTN; 6  !0  

 
	
r(   r:   c                     | j                  d| j                         ||||      }t        |t              s!t	        dt        |      j                  z        |S )z
        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.
        rx   ri   z%Expected list object from API, got %s)rj   	class_url
isinstancer   	TypeErrortyper!   )rm   r_   r`   ra   rb   results         r)   listzReview.list  sf     $$MMO)) % 
 &*-7<((* 
 r(   rI   c                 8     | |fi |}|j                          |S )z,
        Retrieves a Review object.
        )refresh)rm   rS   rb   instances       r)   retrievezReview.retrieve  s$     r$V$r(   )rU   r^   )NNN)N)"r!   r"   r#   __doc__r   r
   r   r%   r   r*   r1   r   r   r7   r@   r   rG   rJ   r   r$   r   r=   boolclassmethodr   rn   r   staticmethodrq   r	   r   r   r   _inner_class_typesr'   r(   r)   r   r      sf    08K'(+,7L ,, $ 	N 		 	&		 	$	^ 	 # _X.// O	
 
 L 	G  ""344 N H J +,, __=>> K g  "&(,(,

 #
 !	

 !
 /0
 

 
2  "&(,(,	

#
 !
 !	

 /0
 

  
  *.!# /0 
	  .) *.
!#
 /0
 
	
 *
(  "&(,(,	# ! !	
 ,- 
H	 6  &'> ?	   1r(   r   N)striper   stripe.api_resources.abstractr   %stripe.api_resources.expandable_fieldr    stripe.api_resources.list_objectr   stripe.request_optionsr   stripe.stripe_objectr   stripe.utilr	   typingr
   r   r   r   r   typing_extensionsr   r   r   r   r   stripe.api_resources.charger   #stripe.api_resources.payment_intentr   r   r'   r(   r)   <module>r      sK     = A 7 1 - , ; ;  2AT * Tr(   