
    Ai                         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 d dlmZmZmZ erd dlmZ d dlmZ d d	lmZ d d
lmZ  G d ded   ed         Zy)    )CreateableAPIResource)
ListObject)ListableAPIResource)StripeObject)ClassVarListOptionalcast)LiteralUnpackTYPE_CHECKING)File)ReportRunCreateParams)ReportRunListParams)ReportRunRetrieveParamsc                      e Zd ZU dZdZeed      ed<    G d de      Z	e
ed<   	 ee   ed<   	 eed<   	 eed	<   	 ed   ed
<   	 e	ed<   eed<   	 ed   ed<   	 eed<   	 ee
   ed<   	 eded   dd fd       Zeded   dd fd       Zeded   ded    fd       Zeded   ded    fd       Zededed   dd fd       Zededed   dd fd       Zde	iZy)	ReportRunaf  
    The Report Run object represents an instance of a report type generated with
    specific run parameters. Once the object is created, Stripe begins processing the report.
    When the report has finished running, it will give you a reference to a file
    where you can retrieve your results. For an overview, see
    [API Access to Reports](https://stripe.com/docs/reporting/statements/api).

    Note that certain report types can only be run based on your live-mode data (not test-mode
    data), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).
    zreporting.report_runOBJECT_NAMEc                       e Zd ZU eee      ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y	)
ReportRun.Parameterscolumnsconnected_accountcurrencyinterval_endinterval_startpayoutreporting_categorytimezoneN)__name__
__module____qualname__r	   r   str__annotations__int     O/var/www/html/immo/lib/python3.12/site-packages/stripe/reporting/_report_run.py
Parametersr   *   s    $s)$$	 $C=(	 3-	 sm#	 !%	 	 %SM)	 3-	r&   r(   createderroridlivemodeobject
parametersreport_typer   resultstatussucceeded_atparamsr   returnc                 Z    t        d| j                  d| j                         |            S )
        Creates a new object and begin running the report. (Certain report types require a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).)
        r   postr3   )r
   _static_request	class_urlclsr3   s     r'   createzReportRun.createw   s6    
    
 	
r&   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)r6   r   r7   r8   N)r
   _static_request_asyncr:   r;   s     r'   create_asynczReportRun.create_async   sD      ++ ,  
 	
s   ,97
	9r   c                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )V
        Returns a list of Report Runs, with the most recent appearing first.
        getr8   %Expected list object from API, got %s)r9   r:   
isinstancer   	TypeErrortyper   r<   r3   r0   s      r'   listzReportRun.list   s]     $$MMO % 

 &*-7<((* 
 r&   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)rB   rC   r8   NrD   )r?   r:   rE   r   rF   rG   r   rH   s      r'   
list_asynczReportRun.list_async   sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r   c                 8     | |fi |}|j                          |S )B
        Retrieves the details of an existing Report Run.
        )refreshr<   r+   r3   instances       r'   retrievezReportRun.retrieve   s$     r$V$r&   c                 T   K    | |fi |}|j                          d{    |S 7 w)rM   N)refresh_asyncrO   s       r'   retrieve_asynczReportRun.retrieve_async   s3      r$V$$$&&& 	's   (&(N)r   r    r!   __doc__r   r   r   r#   r   r(   r$   r	   r"   boolclassmethodr   r=   r@   r   rI   rK   rQ   rT   _inner_class_typesr%   r&   r'   r   r      s   	 	 '"89:  \  D L C= 	G N *++  V K
 3-
 
f%<= 
+ 
 
 
56
	
 
 34	K	  & 34	K	  &  &'@ A	   &'@ A	  '
3r&   r   N)stripe._createable_api_resourcer   stripe._list_objectr   stripe._listable_api_resourcer   stripe._stripe_objectr   typingr   r   r	   r
   typing_extensionsr   r   r   stripe._filer   1stripe.params.reporting._report_run_create_paramsr   /stripe.params.reporting._report_run_list_paramsr   3stripe.params.reporting._report_run_retrieve_paramsr   r   r%   r&   r'   <module>rc      sQ    B * = . 1 1 < <!
|4+&$|4r&   