
    Ai                         d dl mZ d dlmZ d dlmZ d dl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eZy)    )CreateableAPIResource)
ListObject)ListableAPIResource)ClassVarOptionalcast)LiteralUnpackTYPE_CHECKING)FileLink)FileCreateParams)FileListParams)FileRetrieveParamsc                      e Zd ZU dZdZeed      ed<   eed<   	 e	e   ed<   	 e	e
   ed<   	 e
ed<   	 e	ed      ed	<   	 ed   ed
<   	 ed   ed<   	 eed<   	 e	e
   ed<   	 e	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Zed        Zy)Filea  
    This object represents files hosted on Stripe's servers. You can upload
    files with the [create file](https://stripe.com/docs/api#create_file) request
    (for example, when uploading dispute evidence). Stripe also
    creates files independently (for example, the results of a [Sigma scheduled
    query](https://docs.stripe.com/api#scheduled_queries)).

    Related guide: [File upload guide](https://stripe.com/docs/file-upload)
    fileOBJECT_NAMEcreated
expires_atfilenameidr   linksobject)account_requirementadditional_verificationbusiness_iconbusiness_logocustomer_signaturedispute_evidence#document_provider_identity_documentfinance_report_runfinancial_account_statementidentity_documentidentity_document_downloadableissuing_regulatory_reportingpci_documentplatform_terms_of_serviceselfiesigma_scheduled_querytax_document_user_uploadterminal_android_apkterminal_reader_splashscreenpurposesizetitletypeurlparamsr   returnc           	      f    d|d<   t        d| j                  d| j                         |d            S )%  
        To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file you want to upload in the request, and the parameters for creating a file.

        All of Stripe's officially supported Client libraries support sending multipart/form-data.
        multipart/form-datacontent_typer   postfilesr2   base_address)r   _static_request	class_urlclsr2   s     ?/var/www/html/immo/lib/python3.12/site-packages/stripe/_file.pycreatezFile.create]   sC     "7~$	   
 	
    c           	         K   d|d<   t        d| j                  d| j                         |d       d{         S 7 w)r5   r6   r7   r   r8   r9   r:   N)r   _static_request_asyncr=   r>   s     r@   create_asynczFile.create_asyncp   sQ      "7~++$	 ,  
 	
s   2?=
	?r   c                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )
        Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top.
        getr2   %Expected list object from API, got %s)r<   r=   
isinstancer   	TypeErrorr0   __name__r?   r2   results      r@   listz	File.list   s]    
 $$MMO % 

 &*-7<((* 
 rB   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)rG   rH   rI   NrJ   )rD   r=   rK   r   rL   r0   rM   rN   s      r@   
list_asynczFile.list_async   sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r   c                 8     | |fi |}|j                          |S )
        Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to [access file contents](https://docs.stripe.com/docs/file-upload#download-file-contents).
        )refreshr?   r   r2   instances       r@   retrievezFile.retrieve   s$     r$V$rB   c                 T   K    | |fi |}|j                          d{    |S 7 w)rT   N)refresh_asyncrV   s       r@   retrieve_asynczFile.retrieve_async   s3      r$V$$$&&& 	's   (&(file_uploadc                      y)Nz	/v1/files )r?   s    r@   r=   zFile.class_url   s    rB   N)rM   
__module____qualname____doc__r   r   r	   __annotations__intr   strr   classmethodr
   rA   rE   rP   rR   rX   r[   OBJECT_NAME_ALTr=   r^   rB   r@   r   r      s    .4K'&/*3L  sm 	G Jz*++ FO 	( * I C= 3- 
# 
f%78 
V 
 
$ 
01
	
 
( F#34 F9K  " ./	F	 &  &'; <	   &'; <	  $O rB   r   N)stripe._createable_api_resourcer   stripe._list_objectr   stripe._listable_api_resourcer   typingr   r   r   typing_extensionsr	   r
   r   stripe._file_linkr   !stripe.params._file_create_paramsr   stripe.params._file_list_paramsr   #stripe.params._file_retrieve_paramsr   r   
FileUploadr^   rB   r@   <module>rq      sP    B * = + + < <*B>Fy (*=f*E yz 
rB   