
    _j\^                     n   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 er6d 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.  G d ded         ed         ed                   Z/e/e/j0        _1        dS )    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)StripeObject)APIResourceTestHelpers)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralTypeUnpackTYPE_CHECKING)File)PhysicalBundle)#PersonalizationDesignActivateParams)!PersonalizationDesignCreateParams)%PersonalizationDesignDeactivateParams)PersonalizationDesignListParams)!PersonalizationDesignModifyParams)!PersonalizationDesignRejectParams)#PersonalizationDesignRetrieveParamsc                   h   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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d<   eed<   ed         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 G d( d)ed                    Zed*             Z e	e
ed+Z!d,S )-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                   n    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )!PersonalizationDesign.CarrierTextfooter_bodyfooter_titleheader_bodyheader_titleN)__name__
__module____qualname__r   str__annotations__     j/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/issuing/_personalization_design.pyCarrierTextr#   5   sk         c]"""	 sm###	 c]"""	 sm###	 	r.   r0   c                   2    e Zd ZU eed<   	 ee         ed<   dS )!PersonalizationDesign.Preferences
is_defaultis_platform_defaultN)r(   r)   r*   boolr,   r   r-   r.   r/   Preferencesr2   G   s9         	 &d^+++	 	r.   r6   c                   n    e Zd ZU eeed                           ed<   	 eeed                           ed<   dS )&PersonalizationDesign.RejectionReasons)geographic_locationinappropriatenetwork_namenon_binary_imagenon_fiat_currencyotherother_entitypromotional_material	card_logo)r9   r:   r;   r=   r>   r?   r@   carrier_textN)r(   r)   r*   r   r   r   r,   r-   r.   r/   RejectionReasonsr8   Q   su         ,	
 	
 	
 	
	 ,

 	
 	
 	
	 	r.   rC   r   rA   rB   createdidlivemode
lookup_keymetadatanameobjectr   physical_bundlepreferencesrejection_reasons)activeinactiverejectedreviewstatusparamsr   returnc                 r    t          d|                     d|                                 |                    S ):
        Creates a personalization design object.
        r    postrS   )r   _static_request	class_urlclsrS   s     r/   createzPersonalizationDesign.create   sB     #    
 
 	
r.   c                    K   t          d|                     d|                                 |           d{V           S )rV   r    rW   rX   N)r   _static_request_asyncrZ   r[   s     r/   create_asyncz"PersonalizationDesign.create_async   sd       #++ ,        
 
 	
r.   r   c                     |                      d|                                 |          }t          |t                    s$t	          dt          |          j        z            |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.
        getrX   %Expected list object from API, got %s)rY   rZ   
isinstancer   	TypeErrortyper(   r\   rS   results      r/   listzPersonalizationDesign.list   sp     $$MMOO % 
 

 &*-- 	7<<(*  
 r.   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )rb   rc   rX   Nrd   )r_   rZ   re   r   rf   rg   r(   rh   s      r/   
list_asyncz PersonalizationDesign.list_async   s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 r.   r   c                     |                                  dt          |          }t          d|                     d||                    S )8
        Updates a card personalization object.
        /r    rW   rX   )rZ   r   r   rY   r\   rE   rS   urls       r/   modifyzPersonalizationDesign.modify   sX     +b///:#    
 
 	
r.   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )rn   ro   r    rW   rX   N)rZ   r   r   r_   rp   s       r/   modify_asyncz"PersonalizationDesign.modify_async   sz       +b///:#++ ,        
 
 	
r.   r   c                 @     | |fi |}|                                  |S )<
        Retrieves a personalization design object.
        )refreshr\   rE   rS   instances       r/   retrievezPersonalizationDesign.retrieve  s2     3r$$V$$r.   c                 P   K    | |fi |}|                                  d{V  |S )rv   N)refresh_asyncrx   s       r/   retrieve_asyncz$PersonalizationDesign.retrieve_async  sH       3r$$V$$$$&&&&&&&&&r.   c                   B   e Zd ZU ed         ed<   ededed         ddfd            Ze	e
deded         ddfd                        Ze	ded         ddfd	            Z ed
          ded         ddfd            Zededed         ddfd            Ze	e
deded         ddfd                        Ze	ded         ddfd            Z ed          ded         ddfd            Zededed         ddfd            Ze	e
deded         ddfd                        Ze	ded         ddfd            Z ed          ded         ddfd            Zededed         ddfd            Ze	e
deded         ddfd                        Ze	ded         ddfd            Z ed          ded         ddfd            Zededed         ddfd            Ze	e
deded         ddfd                        Ze	ded         ddfd            Z ed           ded         ddfd!            Zededed         ddfd"            Ze	e
deded         ddfd#                        Ze	ded         ddfd$            Z ed%          ded         ddfd&            Zd'S )(!PersonalizationDesign.TestHelpersr    _resource_clspersonalization_designrS   r   rT   c                     t          d|                     dd                    t          |                    |                    S )o
            Updates the status of the specified testmode personalization design object to active.
            r    rW   R/v1/test_helpers/issuing/personalization_designs/{personalization_design}/activater   rX   r   rY   formatr   r\   r   rS   s      r/   _cls_activatez/PersonalizationDesign.TestHelpers._cls_activate&  sb     '##hoo/:20 0 p  
 " $    r.   c                     dS r   Nr-   r   rS   s     r/   activatez*PersonalizationDesign.TestHelpers.activate<  	     Cr.   c                     dS r   r-   selfrS   s     r/   r   z*PersonalizationDesign.TestHelpers.activateG  	     Cr.   r   c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r   r    rW   r   rE   r   rX   r   resource_requestr   r   rc   r   s     r/   r   z*PersonalizationDesign.TestHelpers.activateP  st     '&&hoo/: M--d330 0 p  
 " '    r.   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r   r    rW   r   r   rX   Nr   r_   r   r   r   s      r/   _cls_activate_asyncz5PersonalizationDesign.TestHelpers._cls_activate_asyncd  s       '//hoo/:20 0 p  
 " 0          r.   c                 
   K   dS r   r-   r   s     r/   activate_asyncz0PersonalizationDesign.TestHelpers.activate_asyncz         Cr.   c                 
   K   dS r   r-   r   s     r/   r   z0PersonalizationDesign.TestHelpers.activate_async         Cr.   r   c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r   r    rW   r   rE   r   rX   Nr   r   _request_asyncr   r   rc   r   s     r/   r   z0PersonalizationDesign.TestHelpers.activate_async  s       'm22hoo/: M--d330 0 p  
 " 3          r.   r   c                     t          d|                     dd                    t          |                    |                    S )q
            Updates the status of the specified testmode personalization design object to inactive.
            r    rW   T/v1/test_helpers/issuing/personalization_designs/{personalization_design}/deactivater   rX   r   r   s      r/   _cls_deactivatez1PersonalizationDesign.TestHelpers._cls_deactivate  sb     '##jqq/:20 0 r  
 " $    r.   c                     dS r   Nr-   r   s     r/   
deactivatez,PersonalizationDesign.TestHelpers.deactivate  r   r.   c                     dS r   r-   r   s     r/   r   z,PersonalizationDesign.TestHelpers.deactivate  r   r.   r   c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r   r    rW   r   rE   r   rX   r   r   s     r/   r   z,PersonalizationDesign.TestHelpers.deactivate  st     '&&jqq/: M--d330 0 r  
 " '    r.   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r   r    rW   r   r   rX   Nr   r   s      r/   _cls_deactivate_asyncz7PersonalizationDesign.TestHelpers._cls_deactivate_async  s       '//jqq/:20 0 r  
 " 0          r.   c                 
   K   dS r   r-   r   s     r/   deactivate_asyncz2PersonalizationDesign.TestHelpers.deactivate_async  r   r.   c                 
   K   dS r   r-   r   s     r/   r   z2PersonalizationDesign.TestHelpers.deactivate_async  r   r.   r   c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r   r    rW   r   rE   r   rX   Nr   r   s     r/   r   z2PersonalizationDesign.TestHelpers.deactivate_async
  s       'm22jqq/: M--d330 0 r  
 " 3          r.   r   c                     t          d|                     dd                    t          |                    |                    S )q
            Updates the status of the specified testmode personalization design object to rejected.
            r    rW   P/v1/test_helpers/issuing/personalization_designs/{personalization_design}/rejectr   rX   r   r   s      r/   _cls_rejectz-PersonalizationDesign.TestHelpers._cls_reject  sb     '##fmm/:20 0 n  
 " $    r.   c                     dS r   Nr-   r   s     r/   rejectz(PersonalizationDesign.TestHelpers.reject4  r   r.   c                     dS r   r-   r   s     r/   r   z(PersonalizationDesign.TestHelpers.reject?  r   r.   r   c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r   r    rW   r   rE   r   rX   r   r   s     r/   r   z(PersonalizationDesign.TestHelpers.rejectH  st     '&&fmm/: M--d330 0 n  
 " '    r.   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r   r    rW   r   r   rX   Nr   r   s      r/   _cls_reject_asyncz3PersonalizationDesign.TestHelpers._cls_reject_async\  s       '//fmm/:20 0 n  
 " 0          r.   c                 
   K   dS r   r-   r   s     r/   reject_asyncz.PersonalizationDesign.TestHelpers.reject_asyncr  r   r.   c                 
   K   dS r   r-   r   s     r/   r   z.PersonalizationDesign.TestHelpers.reject_async}  r   r.   r   c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r   r    rW   r   rE   r   rX   Nr   r   s     r/   r   z.PersonalizationDesign.TestHelpers.reject_async  s       'm22fmm/: M--d330 0 n  
 " 3          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/   TestHelpersr   #  sB        34444		$'	 BC	 %		 	 	 
	* 
		$'	BC	 %	 	 	 
 
	 
	"#HI	$	 	 	 
	 
	o	.	.	"#HI	$	 	 	 
/	.	& 
	$'	 BC	 %		 	 	 
	* 
		$'	BC	 %	 	 	 
 
	 
	"#HI	$	 	 	 
	 
	3	4	4	"#HI	$	 	 	 
5	4	& 
	$'	 DE	 %		 	 	 
	* 
		$'	DE	 %	 	 	 
 
	 
	"#JK	$	 	 	 
	 
	/	0	0	"#JK	$	 	 	 
1	0	& 
	$'	 DE	 %		 	 	 
	* 
		$'	DE	 %	 	 	 
 
	 
	"#JK	$	 	 	 
	 
	5	6	6	"#JK	$	 	 	 
7	6	& 
	$'	 @A	 %		 	 	 
	* 
		$'	@A	 %	 	 	 
 
	 
	"#FG	$	 	 	 
	 
	m	,	,	"#FG	$	 	 	 
-	,	& 
	$'	 @A	 %		 	 	 
	* 
		$'	@A	 %	 	 	 
 
	 
	"#FG	$	 	 	 
	 
	1	2	2	"#FG	$	 	 	 
3	2	 	 	r.   r   c                 ,    |                      |           S )N)r   )r   s    r/   test_helpersz"PersonalizationDesign.test_helpers  s    %%%r.   )rB   rL   rM   N)"r(   r)   r*   __doc__r!   r   r   r,   r   r0   r6   rC   r   r   intr+   r5   r   r   r   r]   r`   r   rj   rl   rr   rt   rz   r}   r   r   propertyr   _inner_class_typesr-   r.   r/   r    r    (   s        
 
 	) '"BCD       l   $    l   ! ! ! ! !< ! ! !F /0000 ;'''' LLL 	GGG NNN  38n 3- 45555 %%56666 ''''>???? 
AB
	 
 
 
 [
 
AB
	 
 
 
 [
 ?@	+	,   [& ?@	+	,   [& 

 &'J K
	 
 
 
 [
  

 &'J K
	 
 
 
 [
   &'L M	    [  &'L M	    [u u u u u,-DE u u un & & X& $"- r.   r    N)2stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._stripe_objectr   stripe._test_helpersr   stripe._updateable_api_resourcer	   stripe._utilr
   r   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   stripe._filer   stripe.issuing._physical_bundler   =stripe.params.issuing._personalization_design_activate_paramsr   ;stripe.params.issuing._personalization_design_create_paramsr   ?stripe.params.issuing._personalization_design_deactivate_paramsr   9stripe.params.issuing._personalization_design_list_paramsr   ;stripe.params.issuing._personalization_design_modify_paramsr   ;stripe.params.issuing._personalization_design_reject_paramsr   =stripe.params.issuing._personalization_design_retrieve_paramsr   r    r   r   r-   r.   r/   <module>r      sQ   B A A A A A 4 4 4 4 4 4 * * * * * * = = = = = = . . . . . . 7 7 7 7 7 7 A A A A A A : : : : : : : : A A A A A A A A A A A A A A A A B B B B B B B B B B B B !!!!!!>>>>>>                                   
z	 z	 z	 z	 z	12/012z	 z	 z	z 3H  ! / / /r.   