
    <@g"%                         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y)    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)RequestOptions)UpdateableAPIResource)sanitize_id)ClassVarDictListOptionalcast)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Filec                   D   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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_NAMEc                   T    e Zd ZU eee      ed<   	 ee   ed<   	 eed<   	 ed   ed<   y)FileLink.CreateParamsexpand
expires_atfileLiteral['']|Dict[str, str]metadataN)__name__
__module____qualname__r   r   str__annotations__int     P/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_file_link.pyCreateParamsr   $   sG    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<   y	)
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                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)FileLink.ListParamsCreatedgtgteltlteN)r    r!   r"   r   r%   r$   r&   r'   r(   ListParamsCreatedr4   T   sH    	 	 	 	r'   r9   c                   H    e Zd ZU eee      ed<   	 ed   ed<   	 ed   ed<   y)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	 :;;	r'   r=   c                   $    e Zd ZU eee      ed<   y)FileLink.RetrieveParamsr   Nr<   r&   r'   r(   RetrieveParamsr?   t   s    DI&&	r'   r@   r,   r.   r   r   r   idlivemoder   objecturlparamsr   returnc                 Z    t        d| j                  d| j                         |            S )1
        Creates a new file link object.
        r   postrE   )r   _static_request	class_urlclsrE   s     r(   createzFileLink.create   s6    
    
 	
r'   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)rH   r   rI   rJ   N)r   _static_request_asyncrL   rM   s     r(   create_asynczFileLink.create_async   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.
        getrJ   %Expected list object from API, got %s)rK   rL   
isinstancer   	TypeErrortyper    rN   rE   results      r(   listzFileLink.list   s]     $$MMO % 

 &*-7<((* 
 r'   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)rT   rU   rJ   NrV   )rQ   rL   rW   r   rX   rY   r    rZ   s      r(   
list_asynczFileLink.list_async   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   rI   rJ   )rL   r	   r   rK   rN   rA   rE   rD   s       r(   modifyzFileLink.modify   sD     +b/:   
 	
r'   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)r`   ra   r   rI   rJ   N)rL   r	   r   rQ   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rN   rA   rE   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) 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 $~   L M  &
!! 	G N 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{      sY    B 4 * = 2 A $ 7 7  !D*%
#*%Dr'   