
    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mZmZmZ d dlmZmZmZ  G d d	e      Zy
)    )File)
ListObject)RequestOptions)StripeService)sanitize_id)AnyDictListcast)LiteralNotRequired	TypedDictc            	       &   e Zd Z G d de      Z G d de      Z G d de      Z G d de      Z G d	 d
e      Zi i fddde	de
e   fdZi i fddde	de
e   fdZi fddde	defdZi fddde	defdZi i fdeddde	defdZi i fdeddde	defdZy)FileServicec                   T    e Zd ZU eee      ed<   	 eed<   	 ed   ed<   	 ed   ed<   y)FileService.CreateParamsexpandfile$FileService.CreateParamsFileLinkDatafile_link_data)account_requirementadditional_verificationbusiness_iconbusiness_logocustomer_signaturedispute_evidenceidentity_documentissuing_regulatory_reportingpci_documenttax_document_user_uploadterminal_reader_splashscreenpurposeN)	__name__
__module____qualname__r   r
   str__annotations__r   r        T/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/stripe/_file_service.pyCreateParamsr      sN    DI&&	 		 $$JKK	 
,
 	
	r)   r+   c                   <    e Zd ZU eed<   	 ee   ed<   	 ed   ed<   y)r   create
expires_atzLiteral['']|Dict[str, str]metadataN)r#   r$   r%   boolr'   r   intr(   r)   r*   CreateParamsFileLinkDataz$FileService.CreateParamsFileLinkData+   s1    	  $$	 :;;	r)   r2   c                       e Zd ZU ed   ed<   	 ee   ed<   	 eee      ed<   	 ee   ed<   	 eed      ed<   	 ee   ed<   y	)
FileService.ListParamsz!FileService.ListParamsCreated|intcreatedending_beforer   limit)r   r   r   r   r   r   #document_provider_identity_documentfinance_report_runfinancial_account_statementr   identity_document_downloadabler   r   selfiesigma_scheduled_queryr    r!   r"   starting_afterN)	r#   r$   r%   r   r'   r&   r
   r1   r   r(   r)   r*   
ListParamsr4   9   s    @AA	 #3''	 DI&&	 3	 0
 	
*	 $C((	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)FileService.ListParamsCreatedgtgteltlteN)r#   r$   r%   r   r1   r'   r(   r)   r*   ListParamsCreatedrA   g   sH    	 	 	 	r)   rF   c                   $    e Zd ZU eee      ed<   y)FileService.RetrieveParamsr   N)r#   r$   r%   r   r
   r&   r'   r(   r)   r*   RetrieveParamsrH   y   s    DI&&	r)   rI   paramsr4   optionsreturnc           
      X    t        t        t           | j                  ddd||            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	/v1/filesapibase_addressrJ   rK   )r   r   r   _requestselfrJ   rK   s      r*   listzFileService.list   s9     tMM"  	
 		
r)   c           
      t   K   t        t        t           | j                  ddd||       d{         S 7 w)rN   rO   rP   rQ   rR   N)r   r   r   _request_asyncrU   s      r*   
list_asynczFileService.list_async   sI      t%%" &  	
 		
s   +86
	8r   c           
      T    d|d<   t        t        | j                  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_typepostrP   filesrR   )r   r   rT   rU   s      r*   r-   zFileService.create   s>     #8MM$  	
 		
r)   c           
      p   K   d|d<   t        t        | j                  ddd||       d{         S 7 w)r\   r]   r^   r_   rP   r`   rR   N)r   r   rY   rU   s      r*   create_asynczFileService.create_async   sN      #8%%$ &  	
 		
s   )64
	6r   rH   c                 |    t        t        | j                  ddj                  t	        |            d||            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://stripe.com/docs/file-upload#download-file-contents).
        rO   /v1/files/{file}r   rQ   rR   )r   r   rT   formatr   rV   r   rJ   rK   s       r*   retrievezFileService.retrieve   sG     MM")){4/@)A"  	
 		
r)   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)rd   rO   re   rf   rQ   rR   N)r   r   rY   rg   r   rh   s       r*   retrieve_asynczFileService.retrieve_async   sW      %%")){4/@)A" &  	
 		
s   =A
A
 	A
N)r#   r$   r%   r   r+   r2   r?   rF   rI   r   r   r   rW   rZ   r-   rb   r&   ri   rk   r(   r)   r*   r   r      sI   y <9 ,Y ,\I $  ,."$
(
  
 
D		
* ,."$
(
  
 
D		
( MO
0
;I
	
* MO
0
;I
	
. 02"$	

 -
  	

 

. 02"$	

 -
  	

 

r)   r   N)stripe._filer   stripe._list_objectr   stripe._request_optionsr   stripe._stripe_servicer   stripe._utilr   typingr   r	   r
   r   typing_extensionsr   r   r   r   r(   r)   r*   <module>rs      s0     * 2 0 $ ( ( = =g
- g
r)   