
    _j)                         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dS )    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)UpdateableAPIResource)sanitize_id)ClassVarDictOptionalcast)LiteralUnpackTYPE_CHECKING)File)FileLinkCreateParams)FileLinkListParams)FileLinkModifyParams)FileLinkRetrieveParamsc                   n   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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_NAMEcreatedexpired
expires_atr   fileidlivemodemetadataobjecturlparamsr   returnc                 r    t          d|                     d|                                 |                    S )1
        Creates a new file link object.
        r   postr"   )r   _static_request	class_urlclsr"   s     U/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/_file_link.pycreatezFileLink.createE   sB    
     
 
 	
    c                    K   t          d|                     d|                                 |           d{V           S )r%   r   r&   r'   N)r   _static_request_asyncr)   r*   s     r,   create_asynczFileLink.create_asyncS   sd       ++ ,        
 
 	
r.   r   c                     |                      d|                                 |          }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   sp     $$MMOO % 
 

 &*-- 	7<<(*  
 r.   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )r3   r4   r'   Nr5   )r0   r)   r6   r   r7   r8   r9   r:   s      r,   
list_asynczFileLink.list_asyncw   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   r&   r'   )r)   r   r   r(   r+   r   r"   r!   s       r,   modifyzFileLink.modify   sX     +b///:    
 
 	
r.   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )r@   rA   r   r&   r'   N)r)   r   r   r0   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r+   r   r"   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)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'+./===LLL MMM  &
!!!! 	GGG NNN 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      sm   B A A A A A 4 4 4 4 4 4 * * * * * * = = = = = = A A A A A A $ $ $ $ $ $ 1 1 1 1 1 1 1 1 1 1 1 1 < < < < < < < < < < P!!!!!!KKKKKKGGGGGGKKKKKKOOOOOOm m m m m*%
#*%m m m m mr.   