o
    Bi                     @   s   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 d d	lmZmZ d d
lmZmZmZmZmZmZ d dlmZmZmZmZmZm Z  e rfd dl!m"Z" d dl#m$Z$ G dd ded ed ed Z%e%e%j&_'dS )    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)RequestOptions)StripeObject)APIResourceTestHelpers)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralNotRequiredType	TypedDictUnpackTYPE_CHECKING)File)PhysicalBundlec                   @   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G d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZG d"d# d#eZeed$  ed%< 	 ee	 ed&< 	 eed'< 	 eed(< 	 eed)< 	 ee ed*< 	 e eef ed+< 	 ee ed,< 	 ed ed-< 	 ed. ed/< 	 e
ed0< eed1< ed2 ed3< 	 e!d4e"d5 d6d fd7d8Z#e!d4e"d5 d6d fd9d:Z$e!d4e"d; d6e%d  fd<d=Z&e!d4e"d; d6e%d  fd>d?Z'e!d(ed4e"d@ d6d fdAdBZ(e!d(ed4e"d@ d6d fdCdDZ)e!d(ed4e"dE d6d fdFdGZ*e!d(ed4e"dE d6d fdHdIZ+G dJdK dKe,d  Z-e.dLdM Z/e	e
edNZ0dOS )PPersonalizationDesignz
    A Personalization Design is a logical grouping of a Physical Bundle, card logo, and carrier text that represents a product line.
    zissuing.personalization_designOBJECT_NAMEc                   @   sD   e Zd ZU ee ed< 	 ee ed< 	 ee ed< 	 ee ed< dS )z!PersonalizationDesign.CarrierTextfooter_bodyfooter_titleheader_bodyheader_titleN)__name__
__module____qualname__r   str__annotations__ r%   r%   f/var/www/html/Trade-python/venv/lib/python3.10/site-packages/stripe/issuing/_personalization_design.pyCarrierText(      
 r'   c                   @   s$   e Zd ZU eed< 	 ee ed< dS )z!PersonalizationDesign.Preferences
is_defaultis_platform_defaultN)r    r!   r"   boolr$   r   r%   r%   r%   r&   Preferences:   s
   
 r,   c                   @   8   e Zd ZU eeed   ed< 	 eeed   ed< dS )z&PersonalizationDesign.RejectionReasonsgeographic_locationinappropriatenetwork_namenon_binary_imagenon_fiat_currencyotherother_entitypromotional_material	card_logor/   r0   r1   r3   r4   r5   r6   carrier_textN)r    r!   r"   r   r   r   r$   r%   r%   r%   r&   RejectionReasonsD   "   
 r:   c                   @      e Zd ZU eee  ed< dS )$PersonalizationDesign.ActivateParamsexpandNr    r!   r"   r   r   r#   r$   r%   r%   r%   r&   ActivateParamsg      
 r@   c                   @   s   e Zd ZU ee ed< 	 ed ed< 	 eee  ed< 	 ee ed< 	 eeeef  ed< 	 ee ed< 	 eed< 	 ed	 ed
< 	 ee ed< dS )"PersonalizationDesign.CreateParamsr7   -PersonalizationDesign.CreateParamsCarrierTextr9   r>   
lookup_keymetadatanamephysical_bundle-PersonalizationDesign.CreateParamsPreferencespreferencestransfer_lookup_keyN)	r    r!   r"   r   r#   r$   r   r   r+   r%   r%   r%   r&   CreateParamsm   s.   
 rK   c                   @   D   e Zd ZU ed ed< 	 ed ed< 	 ed ed< 	 ed ed< dS )rC   Literal['']|strr   r   r   r   Nr    r!   r"   r   r$   r%   r%   r%   r&   CreateParamsCarrierText   r(   rO   c                   @      e Zd ZU eed< dS )rH   r)   Nr    r!   r"   r+   r$   r%   r%   r%   r&   CreateParamsPreferences      
 rR   c                   @   r<   )&PersonalizationDesign.DeactivateParamsr>   Nr?   r%   r%   r%   r&   DeactivateParams   rA   rU   c                   @   sz   e Zd ZU ee ed< 	 eee  ed< 	 ee ed< 	 eee  ed< 	 ed ed< 	 ee ed< 	 eed  ed	< d
S ) PersonalizationDesign.ListParamsending_beforer>   limitlookup_keys+PersonalizationDesign.ListParamsPreferencesrI   starting_afteractiveinactiverejectedreviewstatusN)	r    r!   r"   r   r#   r$   r   intr   r%   r%   r%   r&   
ListParams   s"   
 rc   c                   @   s(   e Zd ZU ee ed< 	 ee ed< dS )rZ   r)   r*   N)r    r!   r"   r   r+   r$   r%   r%   r%   r&   ListParamsPreferences   s
   
 rd   c                   @   s   e Zd ZU ed ed< 	 ed ed< 	 eee  ed< 	 ed ed< 	 eeeef  ed< 	 ed ed< 	 ee ed	< 	 ed
 ed< 	 ee ed< dS )"PersonalizationDesign.ModifyParamsrM   r7   z9Literal['']|PersonalizationDesign.ModifyParamsCarrierTextr9   r>   rD   rE   rF   rG   -PersonalizationDesign.ModifyParamsPreferencesrI   rJ   N)	r    r!   r"   r   r$   r   r#   r   r+   r%   r%   r%   r&   ModifyParams   s.   
 rg   c                   @   rL   )z-PersonalizationDesign.ModifyParamsCarrierTextrM   r   r   r   r   NrN   r%   r%   r%   r&   ModifyParamsCarrierText	  r(   rh   c                   @   rP   )rf   r)   NrQ   r%   r%   r%   r&   ModifyParamsPreferences  rS   ri   c                   @   s(   e Zd ZU eee  ed< 	 ded< dS )"PersonalizationDesign.RejectParamsr>   2PersonalizationDesign.RejectParamsRejectionReasonsrejection_reasonsNr?   r%   r%   r%   r&   RejectParams!  s
   
 rm   c                   @   r-   )rk   r.   r7   r8   r9   N)r    r!   r"   r   r   r   r$   r%   r%   r%   r&   RejectParamsRejectionReasons+  r;   rn   c                   @   r<   )$PersonalizationDesign.RetrieveParamsr>   Nr?   r%   r%   r%   r&   RetrieveParamsN  rA   rp   r   r7   r9   createdidlivemoderD   rE   rF   objectr   rG   rI   rl   r\   ra   paramsrB   returnc                 K   s   t d| jd|  |dS ):
        Creates a personalization design object.
        r   postru   )r   _static_request	class_urlclsru   r%   r%   r&   create  s   zPersonalizationDesign.createc                    s"   t d| jd|  |dI dH S )rw   r   rx   ry   N)r   _static_request_asyncr{   r|   r%   r%   r&   create_async  s   
z"PersonalizationDesign.create_asyncrV   c                 K   s4   | j d|  |d}t|tstdt|j |S )
        Returns a list of personalization design objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
        getry   %Expected list object from API, got %s)rz   r{   
isinstancer   	TypeErrortyper    r}   ru   resultr%   r%   r&   list  s   
zPersonalizationDesign.listc                    s<   | j d|  |dI dH }t|tstdt|j |S )r   r   ry   Nr   )r   r{   r   r   r   r   r    r   r%   r%   r&   
list_async  s   
z PersonalizationDesign.list_asyncre   c                 K   s*   d|   t|f }td| jd||dS )8
        Updates a card personalization object.
        %s/%sr   rx   ry   )r{   r   r   rz   r}   rr   ru   urlr%   r%   r&   modify  s   zPersonalizationDesign.modifyc                    s2   d|   t|f }td| jd||dI dH S )r   r   r   rx   ry   N)r{   r   r   r   r   r%   r%   r&   modify_async  s   
z"PersonalizationDesign.modify_asyncro   c                 K   s   | |fi |}|   |S )<
        Retrieves a personalization design object.
        )refreshr}   rr   ru   instancer%   r%   r&   retrieve  s   zPersonalizationDesign.retrievec                    s$   | |fi |}|  I dH  |S )r   N)refresh_asyncr   r%   r%   r&   retrieve_async  s   z$PersonalizationDesign.retrieve_asyncc                   @   s  e Zd ZU ed ed< ededed ddfddZe	e
deded ddfd	d
Ze	ded ddfdd
Zedded ddfdd
Zededed ddfddZe	e
deded ddfddZe	ded ddfddZedded ddfddZededed ddfddZe	e
deded ddfddZe	ded ddfddZedded ddfddZededed ddfddZe	e
deded ddfdd Ze	ded ddfd!d Zed"ded ddfd#d Zededed$ ddfd%d&Ze	e
deded$ ddfd'd(Ze	ded$ ddfd)d(Zed*ded$ ddfd+d(Zededed$ ddfd,d-Ze	e
deded$ ddfd.d/Ze	ded$ ddfd0d/Zed1ded$ ddfd2d/Zd3S )4z!PersonalizationDesign.TestHelpersr   _resource_clspersonalization_designru   r=   rv   c                 K   "   t d| jddjt|d|dS )o
            Updates the status of the specified testmode personalization design object to active.
            r   rx   R/v1/test_helpers/issuing/personalization_designs/{personalization_design}/activater   ry   r   rz   formatr   r}   r   ru   r%   r%   r&   _cls_activate     	z/PersonalizationDesign.TestHelpers._cls_activatec                 K      dS r   Nr%   r   ru   r%   r%   r&   activate     	z*PersonalizationDesign.TestHelpers.activatec                 K   r   r   r%   selfru   r%   r%   r&   r   '     r   c              	   K   ,   t d| jjddjt| jdd|dS )r   r   rx   r   rr   r   ry   r   resource_requestr   r   r   r   r%   r%   r&   r   0     
c                    *   t d| jddjt|d|dI dH S )r   r   rx   r   r   ry   Nr   r   r   r   r   r%   r%   r&   _cls_activate_asyncD     	
z5PersonalizationDesign.TestHelpers._cls_activate_asyncc                       dS r   r%   r   r%   r%   r&   activate_asyncZ     	z0PersonalizationDesign.TestHelpers.activate_asyncc                    r   r   r%   r   r%   r%   r&   r   e     r   c              	      4   t d| jjddjt| jdd|dI dH S )r   r   rx   r   rr   r   ry   Nr   r   _request_asyncr   r   r   r   r%   r%   r&   r   n     

rT   c                 K   r   )q
            Updates the status of the specified testmode personalization design object to inactive.
            r   rx   T/v1/test_helpers/issuing/personalization_designs/{personalization_design}/deactivater   ry   r   r   r%   r%   r&   _cls_deactivate  r   z1PersonalizationDesign.TestHelpers._cls_deactivatec                 K   r   r   Nr%   r   r%   r%   r&   
deactivate  r   z,PersonalizationDesign.TestHelpers.deactivatec                 K   r   r   r%   r   r%   r%   r&   r     r   r   c              	   K   r   )r   r   rx   r   rr   r   ry   r   r   r%   r%   r&   r     r   c                    r   )r   r   rx   r   r   ry   Nr   r   r%   r%   r&   _cls_deactivate_async  r   z7PersonalizationDesign.TestHelpers._cls_deactivate_asyncc                    r   r   r%   r   r%   r%   r&   deactivate_async  r   z2PersonalizationDesign.TestHelpers.deactivate_asyncc                    r   r   r%   r   r%   r%   r&   r     r   r   c              	      r   )r   r   rx   r   rr   r   ry   Nr   r   r%   r%   r&   r     r   rj   c                 K   r   )q
            Updates the status of the specified testmode personalization design object to rejected.
            r   rx   P/v1/test_helpers/issuing/personalization_designs/{personalization_design}/rejectr   ry   r   r   r%   r%   r&   _cls_reject  r   z-PersonalizationDesign.TestHelpers._cls_rejectc                 K   r   r   Nr%   r   r%   r%   r&   reject  r   z(PersonalizationDesign.TestHelpers.rejectc                 K   r   r   r%   r   r%   r%   r&   r     r   r   c              	   K   r   )r   r   rx   r   rr   r   ry   r   r   r%   r%   r&   r   (  r   c                    r   )r   r   rx   r   r   ry   Nr   r   r%   r%   r&   _cls_reject_async<  r   z3PersonalizationDesign.TestHelpers._cls_reject_asyncc                    r   r   r%   r   r%   r%   r&   reject_asyncR  r   z.PersonalizationDesign.TestHelpers.reject_asyncc                    r   r   r%   r   r%   r%   r&   r   ]  r   r   c              	      r   )r   r   rx   r   rr   r   ry   Nr   r   r%   r%   r&   r   f  r   N)r    r!   r"   r   r$   classmethodr#   r   r   r   staticmethodr   r
   r   r   r   r   r   r   r   r   r   r   r%   r%   r%   r&   TestHelpers  s`  
 						r   c                 C   s
   |  | S )N)r   )r   r%   r%   r&   test_helpersz  s   
z"PersonalizationDesign.test_helpers)r9   rI   rl   N)1r    r!   r"   __doc__r   r   r   r$   r   r'   r,   r:   r   r@   rK   r   rO   rR   rU   rc   rd   rg   rh   ri   rm   rn   rp   r   r   rb   r#   r+   r   r   r   r~   r   r   r   r   r   r   r   r   r   r   propertyr   _inner_class_typesr%   r%   r%   r&   r      s   
 
#* 
*
#

  y

r   N)(stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   stripe._test_helpersr   stripe._updateable_api_resourcer	   stripe._utilr
   r   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   r   r   stripe._filer   stripe.issuing._physical_bundler   r   r   r   r%   r%   r%   r&   <module>   s4     	
      p