
    Ai\^                     ^   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/j`                  _1        y)    )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                      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!y,)-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                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)!PersonalizationDesign.CarrierTextfooter_bodyfooter_titleheader_bodyheader_titleN)__name__
__module____qualname__r   str__annotations__     Y/var/www/html/immo/lib/python3.12/site-packages/stripe/issuing/_personalization_design.pyCarrierTextr#   5   sD    c]"	 sm#	 c]"	 sm#	r.   r0   c                   *    e Zd ZU eed<   	 ee   ed<   y)!PersonalizationDesign.Preferences
is_defaultis_platform_defaultN)r(   r)   r*   boolr,   r   r-   r.   r/   Preferencesr2   G   s    	 &d^+	r.   r6   c                   H    e Zd ZU eeed         ed<   	 eeed         ed<   y)&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   sR    ,	
 	
	 ,

 	
	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                 Z    t        d| j                  d| j                         |            S ):
        Creates a personalization design object.
        r    postrS   )r   _static_request	class_urlclsrS   s     r/   createzPersonalizationDesign.create   s6     #   
 	
r.   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)rV   r    rW   rX   N)r   _static_request_asyncrZ   r[   s     r/   create_asyncz"PersonalizationDesign.create_async   sD      #++ ,  
 	
s   ,97
	9r   c                     | j                  d| j                         |      }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   s]     $$MMO % 

 &*-7<((* 
 r.   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)rb   rc   rX   Nrd   )r_   rZ   re   r   rf   rg   r(   rh   s      r/   
list_asyncz PersonalizationDesign.list_async   sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r   c                 z    | j                         dt        |      }t        d| j                  d||            S )8
        Updates a card personalization object.
        /r    rW   rX   )rZ   r   r   rY   r\   rE   rS   urls       r/   modifyzPersonalizationDesign.modify   sD     +b/:#   
 	
r.   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)rn   ro   r    rW   rX   N)rZ   r   r   r_   rp   s       r/   modify_asyncz"PersonalizationDesign.modify_async   sR      +b/:#++ ,  
 	
s   <A	A
	A	r   c                 8     | |fi |}|j                          |S )<
        Retrieves a personalization design object.
        )refreshr\   rE   rS   instances       r/   retrievezPersonalizationDesign.retrieve  s$     r$V$r.   c                 T   K    | |fi |}|j                          d{    |S 7 w)rv   N)refresh_asyncrx   s       r/   retrieve_asyncz$PersonalizationDesign.retrieve_async  s3      r$V$$$&&& 	's   (&(c                      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y')(!PersonalizationDesign.TestHelpersr    _resource_clspersonalization_designrS   r   rT   c                 p    t        d| j                  ddj                  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&  sN     '##hoo/:20 p 
 " $  r.   c                      yr   Nr-   r   rS   s     r/   activatez*PersonalizationDesign.TestHelpers.activate<       r.   c                      yr   r-   selfrS   s     r/   r   z*PersonalizationDesign.TestHelpers.activateG       r.   r   c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r   r    rW   r   rE   r   rX   r   resource_requestr   r   rc   r   s     r/   r   z*PersonalizationDesign.TestHelpers.activateP  sa     '&&hoo/: MM--d30 p 
 " '  r.   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)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 p 
 " 0      7AA
	Ac                    K   ywr   r-   r   s     r/   activate_asyncz0PersonalizationDesign.TestHelpers.activate_asyncz           c                    K   ywr   r-   r   s     r/   r   z0PersonalizationDesign.TestHelpers.activate_async        r   r   c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r   r    rW   r   rE   r   rX   Nr   r   _request_asyncr   r   rc   r   s     r/   r   z0PersonalizationDesign.TestHelpers.activate_async  so      'mm22hoo/: MM--d30 p 
 " 3      AA'A%
	A'r   c                 p    t        d| j                  ddj                  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  sN     '##jqq/:20 r 
 " $  r.   c                      yr   Nr-   r   s     r/   
deactivatez,PersonalizationDesign.TestHelpers.deactivate  r   r.   c                      yr   r-   r   s     r/   r   z,PersonalizationDesign.TestHelpers.deactivate  r   r.   r   c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r   r    rW   r   rE   r   rX   r   r   s     r/   r   z,PersonalizationDesign.TestHelpers.deactivate  sa     '&&jqq/: MM--d30 r 
 " '  r.   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r   r    rW   r   r   rX   Nr   r   s      r/   _cls_deactivate_asyncz7PersonalizationDesign.TestHelpers._cls_deactivate_async  s\      '//jqq/:20 r 
 " 0   r   c                    K   ywr   r-   r   s     r/   deactivate_asyncz2PersonalizationDesign.TestHelpers.deactivate_async  r   r   c                    K   ywr   r-   r   s     r/   r   z2PersonalizationDesign.TestHelpers.deactivate_async  r   r   r   c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r   r    rW   r   rE   r   rX   Nr   r   s     r/   r   z2PersonalizationDesign.TestHelpers.deactivate_async
  so      'mm22jqq/: MM--d30 r 
 " 3   r   r   c                 p    t        d| j                  ddj                  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  sN     '##fmm/:20 n 
 " $  r.   c                      yr   Nr-   r   s     r/   rejectz(PersonalizationDesign.TestHelpers.reject4  r   r.   c                      yr   r-   r   s     r/   r   z(PersonalizationDesign.TestHelpers.reject?  r   r.   r   c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r   r    rW   r   rE   r   rX   r   r   s     r/   r   z(PersonalizationDesign.TestHelpers.rejectH  sa     '&&fmm/: MM--d30 n 
 " '  r.   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r   r    rW   r   r   rX   Nr   r   s      r/   _cls_reject_asyncz3PersonalizationDesign.TestHelpers._cls_reject_async\  s\      '//fmm/:20 n 
 " 0   r   c                    K   ywr   r-   r   s     r/   reject_asyncz.PersonalizationDesign.TestHelpers.reject_asyncr  r   r   c                    K   ywr   r-   r   s     r/   r   z.PersonalizationDesign.TestHelpers.reject_async}  r   r   r   c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r   r    rW   r   rE   r   rX   Nr   r   s     r/   r   z.PersonalizationDesign.TestHelpers.reject_async  so      'mm22fmm/: MM--d3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   #  s   344		$'	 BC	 %		 
	* 
		$'	BC	 %	 
 
	 
	"#HI	$	 
	 
o	.	"#HI	$	 
/	& 
	$'	 BC	 %		 
	* 
		$'	BC	 %	 
 
	 
	"#HI	$	 
	 
3	4	"#HI	$	 
5	& 
	$'	 DE	 %		 
	* 
		$'	DE	 %	 
 
	 
	"#JK	$	 
	 
/	0	"#JK	$	 
1	& 
	$'	 DE	 %		 
	* 
		$'	DE	 %	 
 
	 
	"#JK	$	 
	 
5	6	"#JK	$	 
7	& 
	$'	 @A	 %		 
	* 
		$'	@A	 %	 
 
	 
	"#FG	$	 
	 
m	,	"#FG	$	 
-	& 
	$'	 @A	 %		 
	* 
		$'	@A	 %	 
 
	 
	"#FG	$	 
	 
1	2	"#FG	$	 
3	r.   r   c                 $    | j                  |       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 ;'' L 	G N  38n 3- 455 %%566 ''>?? 
AB
	 
 
 
AB
	 
 
 ?@	+	, & ?@	+	, & 

 &'J K
	 
 
  

 &'J K
	 
 
   &'L M	    &'L M	  u,-DE un & & $"-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      s    B 4 * = . 7 A : A A B B!>
z	12/012z	z 3H  ! ! /r.   