
    +h!                         d dl mZmZ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 d dlmZ erd dlmZ  G d	 d
ed
   ed
   ed
         Zy)    )CreateableAPIResourceListableAPIResourceUpdateableAPIResource)ExpandableField)
ListObject)RequestOptions)ClassVarDictListOptionalcast)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)
quote_plus)Filec                      e Zd ZU dZdZeed      ed<   er7 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'dee   dee   dee   dee   ded   dd fd        Ze	 	 	 d(dee   dee   de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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                   N    e Zd ZU ed   ed<   	 ed   ed<   	 eed<   	 ed   ed<   y)	FileLink.CreateParams	List[str]expandint
expires_atfileLiteral['']|Dict[str, str]metadataN)__name__
__module____qualname__r   __annotations__str     Q/var/www/html/venv/lib/python3.12/site-packages/stripe/api_resources/file_link.pyCreateParamsr   '   sC    ,, $E** I "">??r(   r*   c                       e Zd ZU ed   ed<   ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed	<   	 ed
   ed<   	 ed   ed<   y)FileLink.ListParamszFileLink.ListParamsCreated|intcreatedr&   ending_beforer   r   boolexpiredr   r   limitstarting_afterNr"   r#   r$   r   r%   r'   r(   r)   
ListParamsr,   9   sx     !ABB&u--  ,, !(( e$$ u%% (..r(   r4   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)FileLink.ListParamsCreatedr   gtgteltlteNr3   r'   r(   r)   ListParamsCreatedr6   T   sH    E"" U## E"" U##r(   r;   c                   B    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   y)FileLink.ModifyParamsr   r   zLiteral['']|Literal['now']|intr   r    r!   Nr3   r'   r(   r)   ModifyParamsr=   f   s8    ,, $$DEE "">??r(   r>   c                       e Zd ZU ed   ed<   y)FileLink.RetrieveParamsr   r   Nr3   r'   r(   r)   RetrieveParamsr@   t   s    ,,r(   rA   r-   r0   r   r   r   idlivemoder!   objecturlNapi_keyidempotency_keystripe_versionstripe_accountparamsr   returnc                 `    t        d| j                  d| j                         |||||            S )z1
        Creates a new file link object.
        r   post)r   _static_request	class_url)clsrF   rG   rH   rI   rJ   s         r)   createzFileLink.create   s=     
 	
r(   r,   c                     | j                  d| j                         ||||      }t        |t              s!t	        dt        |      j                  z        |S )z/
        Returns a list of file links.
        get)rF   rH   rI   rJ   z%Expected list object from API, got %s)rN   rO   
isinstancer   	TypeErrortyper"   )rP   rF   rH   rI   rJ   results         r)   listzFileLink.list   sf     $$MMO)) % 
 &*-7<((* 
 r(   r=   c                 z    | j                         dt        |      }t        d| j                  d||            S )z_
        Updates an existing file link object. Expired links can no longer be updated.
        /r   rM   )rJ   )rO   r   r   rN   )rP   rB   rJ   rE   s       r)   modifyzFileLink.modify   s=     *R.9F;
 	
r(   r@   c                 8     | |fi |}|j                          |S )z<
        Retrieves the file link with the given ID.
        )refresh)rP   rB   rJ   instances       r)   retrievezFileLink.retrieve   s$     r$V$r(   )NNNN)NNN)r"   r#   r$   __doc__r   r	   r   r%   r   r   r*   r4   r   r;   r>   rA   r   r/   r   r   r&   r
   classmethodr   rQ   r   rX   r[   r_   r'   r(   r)   r   r      s#   
 3>K'+./=	> 	$	 	6		 	$	> 		^ 	 L M  &
!! 	G N 38n K   
#  "&)-(,(,
#
 "#
 !	

 !
 01
 

 
0  "&(,(,	# ! !	
 ./ 
J	 6 



 &'> ?

	

 

  &'@ A	 r(   r   N)stripe.api_resources.abstractr   r   r   %stripe.api_resources.expandable_fieldr    stripe.api_resources.list_objectr   stripe.request_optionsr   typingr	   r
   r   r   r   typing_extensionsr   r   r   r   r   urllib.parser   stripe.api_resources.filer   r   r'   r(   r)   <module>rj      sZ    
 B 7 1 7 7  $.Q*%
#*%Qr(   