
    jof$                         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 d dlmZmZmZmZmZ d d	lmZmZmZmZmZ erd d
lmZ  G d ded         ed         ed                   ZdS )    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)RequestOptions)UpdateableAPIResource)sanitize_id)ClassVarDictListOptionalcast)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Filec                      e Zd ZU dZdZeed                  ed<    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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d&S )'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_NAMEc                   n    e Zd ZU eee                  ed<   	 ee         ed<   	 eed<   	 ed         ed<   dS )FileLink.CreateParamsexpand
expires_atfileLiteral['']|Dict[str, str]metadataN)__name__
__module____qualname__r   r   str__annotations__int     K/var/www/html/Alfredo/env/lib/python3.11/site-packages/stripe/_file_link.pyCreateParamsr   $   sl         DI&&&&	  $$$$	 				 :;;;;	 	r'   r)   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         ed<   	 ee         ed<   	 ee         ed<   d	S )
FileLink.ListParamszFileLink.ListParamsCreated|intcreatedending_beforer   expiredr   limitstarting_afterN)	r    r!   r"   r   r$   r#   r   boolr%   r&   r'   r(   
ListParamsr+   6   s         =>>>>	 #3''''	 DI&&&&	 T""""	 #	 3	 $C((((	 	r'   r2   c                   n    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )FileLink.ListParamsCreatedgtgteltlteN)r    r!   r"   r   r%   r$   r&   r'   r(   ListParamsCreatedr4   T   so         	 	 	 	 	r'   r9   c                   b    e Zd ZU eee                  ed<   	 ed         ed<   	 ed         ed<   dS )FileLink.ModifyParamsr   zLiteral['']|Literal['now']|intr   r   r   Nr    r!   r"   r   r   r#   r$   r&   r'   r(   ModifyParamsr;   f   s]         DI&&&&	   @AAAA	 :;;;;	 	r'   r=   c                   2    e Zd ZU eee                  ed<   dS )FileLink.RetrieveParamsr   Nr<   r&   r'   r(   RetrieveParamsr?   t   s+         DI&&&&	 	r'   r@   r,   r.   r   r   r   idlivemoder   objecturlparamsr   returnc                 r    t          d|                     d|                                 |                    S )1
        Creates a new file link object.
        r   postrE   )r   _static_request	class_urlclsrE   s     r(   createzFileLink.create   sB    
     
 
 	
r'   c                    K   t          d|                     d|                                 |           d{V           S )rH   r   rI   rJ   N)r   _static_request_asyncrL   rM   s     r(   create_asynczFileLink.create_async   sd       ++ ,        
 
 	
r'   r+   c                     |                      d|                                 |          }t          |t                    s$t	          dt          |          j        z            |S )/
        Returns a list of file links.
        getrJ   %Expected list object from API, got %s)rK   rL   
isinstancer   	TypeErrortyper    rN   rE   results      r(   listzFileLink.list   sp     $$MMOO % 
 

 &*-- 	7<<(*  
 r'   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )rT   rU   rJ   NrV   )rQ   rL   rW   r   rX   rY   r    rZ   s      r(   
list_asynczFileLink.list_async   s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 r'   r;   c                     |                                  dt          |          }t          d|                     d||                    S )_
        Updates an existing file link object. Expired links can no longer be updated.
        /r   rI   rJ   )rL   r	   r   rK   rN   rA   rE   rD   s       r(   modifyzFileLink.modify   sX     +b///:    
 
 	
r'   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )r`   ra   r   rI   rJ   N)rL   r	   r   rQ   rb   s       r(   modify_asynczFileLink.modify_async   sz       +b///:++ ,        
 
 	
r'   r?   c                 @     | |fi |}|                                  |S )<
        Retrieves the file link with the given ID.
        )refreshrN   rA   rE   instances       r(   retrievezFileLink.retrieve  s2     3r$$V$$r'   c                 P   K    | |fi |}|                                  d{V  |S )rg   N)refresh_asyncri   s       r(   retrieve_asynczFileLink.retrieve_async  sH       3r$$V$$$$&&&&&&&&&r'   N) r    r!   r"   __doc__r   r
   r   r$   r   r)   r2   r   r9   r=   r@   r%   r1   r   r   r#   r   classmethodr   rO   rR   r   r\   r^   rc   re   rk   rn   r&   r'   r(   r   r      s        
  3>K'+./===    ~   $    ^   <    I   $    ~           LLL MMM  &
!!!! 	GGG NNN 38n K     
# 
f%<= 
* 
 
 
 [
 
56
	
 
 
 [
 34	J	   [& 34	J	   [& 

 &'> ?
	
 
 
 [
  

 &'> ?
	
 
 
 [
   &'@ A	   [  &'@ A	   [  r'   r   N)stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._updateable_api_resourcer   stripe._utilr	   typingr
   r   r   r   r   typing_extensionsr   r   r   r   r   stripe._filer   r   r&   r'   r(   <module>r{      sf   B A A A A A 4 4 4 4 4 4 * * * * * * = = = = = = 2 2 2 2 2 2 A A A A A A $ $ $ $ $ $ 7 7 7 7 7 7 7 7 7 7 7 7 7 7               "!!!!!!D D D D D*%
#*%D D D D Dr'   