
    _j                         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dS )    )CreateableAPIResource)
ListObject)ListableAPIResource)ClassVarOptionalcast)LiteralUnpackTYPE_CHECKING)FileLink)FileCreateParams)FileListParams)FileRetrieveParamsc                   l   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dS )Filea  
    This object represents files hosted on Stripe's servers. You can upload
    files with the [create file](https://api.stripe.com#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://docs.stripe.com/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terminal_wifi_certificateterminal_wifi_private_keypurposesizetitletypeurlparamsr   returnc           	      ~    d|d<   t          d|                     d|                                 |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r4   base_address)r   _static_request	class_urlclsr4   s     P/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/_file.pycreatezFile.create_   sO     "7~$	    
 
 	
    c           	         K   d|d<   t          d|                     d|                                 |d           d{V           S )r7   r8   r9   r   r:   r;   r<   N)r   _static_request_asyncr?   r@   s     rB   create_asynczFile.create_asyncr   sq       "7~++$	 ,        
 
 	
rD   r   c                     |                      d|                                 |          }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r4   %Expected list object from API, got %s)r>   r?   
isinstancer   	TypeErrorr2   __name__rA   r4   results      rB   listz	File.list   sp    
 $$MMOO % 
 

 &*-- 	7<<(*  
 rD   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )rI   rJ   rK   NrL   )rF   r?   rM   r   rN   r2   rO   rP   s      rB   
list_asynczFile.list_async   s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 rD   r   c                 @     | |fi |}|                                  |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rA   r   r4   instances       rB   retrievezFile.retrieve   s2     3r$$V$$rD   c                 P   K    | |fi |}|                                  d{V  |S )rV   N)refresh_asyncrX   s       rB   retrieve_asynczFile.retrieve_async   sH       3r$$V$$$$&&&&&&&&&rD   file_uploadc                     dS )Nz	/v1/files )rA   s    rB   r?   zFile.class_url   s    {rD   N)rO   
__module____qualname____doc__r   r   r	   __annotations__intr   strr   classmethodr
   rC   rG   rR   rT   rZ   r]   OBJECT_NAME_ALTr?   r`   rD   rB   r   r      s          .4K'&/*333LLL  sm 	GGG Jz*++++ FO 	%   . III C= 3- 
# 
f%78 
V 
 
 
 [
$ 
01
	
 
 
 [
( F#34 F9K    [" ./	F	   [&  &'; <	   [  &'; <	   [ $O  [  rD   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`   rD   rB   <module>rs      s   B A A A A A * * * * * * = = = = = = + + + + + + + + + + < < < < < < < < < < G******BBBBBB>>>>>>FFFFFF{ { { { { (*=f*E { { {~ 


rD   