
    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	 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 d dlmZ  G d ded   ed   e	d         Zy)    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)UpdateableAPIResource)sanitize_id)ClassVarDictOptionalcast)LiteralUnpackTYPE_CHECKING)File)FileLinkCreateParams)FileLinkListParams)FileLinkModifyParams)FileLinkRetrieveParamsc                      e Zd ZU dZdZeed      ed<   eed<   	 e	ed<   	 e
e   ed<   	 ed   ed<   	 eed	<   	 e	ed
<   	 eeef   ed<   	 ed   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ed	eded   dd fd       Zed	eded   dd fd       Zy)FileLinkz
    To share the contents of a `File` object with non-Stripe users, you can
    create a `FileLink`. `FileLink`s contain a URL that you can use to
    retrieve the contents of the file without authentication.
    	file_linkOBJECT_NAMEcreatedexpired
expires_atr   fileidlivemodemetadataobjecturlparamsr   returnc                 Z    t        d| j                  d| j                         |            S )1
        Creates a new file link object.
        r   postr"   )r   _static_request	class_urlclsr"   s     D/var/www/html/immo/lib/python3.12/site-packages/stripe/_file_link.pycreatezFileLink.createE   s6    
    
 	
    c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)r%   r   r&   r'   N)r   _static_request_asyncr)   r*   s     r,   create_asynczFileLink.create_asyncS   sD      ++ ,  
 	
s   ,97
	9r   c                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )/
        Returns a list of file links.
        getr'   %Expected list object from API, got %s)r(   r)   
isinstancer   	TypeErrortype__name__r+   r"   results      r,   listzFileLink.listc   s]     $$MMO % 

 &*-7<((* 
 r.   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)r3   r4   r'   Nr5   )r0   r)   r6   r   r7   r8   r9   r:   s      r,   
list_asynczFileLink.list_asyncw   sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r   c                 z    | j                         dt        |      }t        d| j                  d||            S )_
        Updates an existing file link object. Expired links can no longer be updated.
        /r   r&   r'   )r)   r   r   r(   r+   r   r"   r!   s       r,   modifyzFileLink.modify   sD     +b/:   
 	
r.   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)r@   rA   r   r&   r'   N)r)   r   r   r0   rB   s       r,   modify_asynczFileLink.modify_async   sR      +b/:++ ,  
 	
s   <A	A
	A	r   c                 8     | |fi |}|j                          |S )<
        Retrieves the file link with the given ID.
        )refreshr+   r   r"   instances       r,   retrievezFileLink.retrieve   s$     r$V$r.   c                 T   K    | |fi |}|j                          d{    |S 7 w)rG   N)refresh_asyncrI   s       r,   retrieve_asynczFileLink.retrieve_async   s3      r$V$$$&&& 	's   (&(N)r9   
__module____qualname____doc__r   r	   r   __annotations__intboolr   r   strr
   classmethodr   r-   r1   r   r<   r>   rC   rE   rK   rN    r.   r,   r   r      s   
 3>K'+./=L M  &
!! 	G N 38n K   
# 
f%;< 
 
 
 
45
	
 
 23	J	 & 23	J	 & 

 &'= >
	
 
  

 &'= >
	
 
   &'? @	   &'? @	 r.   r   N) stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._updateable_api_resourcer   stripe._utilr   typingr	   r
   r   r   typing_extensionsr   r   r   stripe._filer   &stripe.params._file_link_create_paramsr   $stripe.params._file_link_list_paramsr   &stripe.params._file_link_modify_paramsr   (stripe.params._file_link_retrieve_paramsr   r   rW   r.   r,   <module>re      s\    B 4 * = A $ 1 1 < <!KGKOm*%
#*%mr.   