a
    g                     @   sl   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
 d dlmZmZmZ G dd ded Zd	S )
    )
ListObject)ListableAPIResource)RequestOptions)StripeObject)ClassVarList)LiteralNotRequiredUnpackc                   @   s  e Zd ZU dZdZeed  ed< G dd deZ	G dd de
ZG dd	 d	e
Ze	ed
< eed< eed< eed< ed ed< ed ed< ed ed< eed ed  dddZeed ed  dddZeeed d dddZeeed d dddZd
e	iZdS ) PhysicalBundlez
    A Physical Bundle represents the bundle of physical items - card stock, carrier letter, and envelope - that is shipped to a cardholder when you create a physical card.
    zissuing.physical_bundleOBJECT_NAMEc                   @   s2   e Zd ZU ed ed< ed ed< ed ed< dS )zPhysicalBundle.Features)optionalrequiredunsupportedZ	card_logoZcarrier_textZsecond_lineN)__name__
__module____qualname__r   __annotations__ r   r   m/var/www/staging/api/virtual_environments/venv/lib/python3.9/site-packages/stripe/issuing/_physical_bundle.pyFeatures   s   
r   c                   @   sb   e Zd ZU ee ed< eee  ed< ee ed< ee ed< eed  ed< eed  ed< d	S )
PhysicalBundle.ListParamsZending_beforeexpandlimitZstarting_afteractiveZinactiveZreviewstatusZcustomstandardtypeN)	r   r   r   r	   strr   r   intr   r   r   r   r   
ListParams"   s   
r"   c                   @   s   e Zd ZU eee  ed< dS )PhysicalBundle.RetrieveParamsr   N)r   r   r   r	   r   r    r   r   r   r   r   RetrieveParams<   s   
r$   featuresidZlivemodenameobjectr   r   r   r   r   )paramsreturnc                 K   s4   | j d|  |d}t|ts0tdt|j |S )
        Returns a list of physical bundle objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
        getr)   %Expected list object from API, got %s)Z_static_request	class_url
isinstancer   	TypeErrorr   r   clsr)   resultr   r   r   list\   s    
zPhysicalBundle.listc                    s:   | j d|  |dI dH }t|ts6tdt|j |S )r+   r,   r-   Nr.   )Z_static_request_asyncr/   r0   r   r1   r   r   r2   r   r   r   
list_asyncp   s    
zPhysicalBundle.list_asyncr#   )r&   r)   r*   c                 K   s   | |fi |}|   |S )5
        Retrieves a physical bundle object.
        )refreshr3   r&   r)   instancer   r   r   retrieve   s    zPhysicalBundle.retrievec                    s"   | |fi |}|  I dH  |S )r7   N)Zrefresh_asyncr9   r   r   r   retrieve_async   s    zPhysicalBundle.retrieve_asyncN)r   r   r   __doc__r   r   r   r   r   r   r   r"   r$   r    boolclassmethodr
   r   r5   r6   r;   r<   Z_inner_class_typesr   r   r   r   r      s<   


r   N)Zstripe._list_objectr   Zstripe._listable_api_resourcer   Zstripe._request_optionsr   Zstripe._stripe_objectr   typingr   r   Ztyping_extensionsr   r	   r
   r   r   r   r   r   <module>   s   