
    <@gDk                         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mZmZ d d	lmZmZmZ  G d
 de      Zy)    )
ListObject)Product)ProductFeatureService)RequestOptions)SearchResultObject)StripeService)sanitize_id)DictListUnioncast)LiteralNotRequired	TypedDictc            	           e Zd Z fdZ G d de      Z G d de      Z G d de      Z G d d	e      Z G d
 de      Z	 G d de      Z
 G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d  d!e      Z G d" d#e      Zi i fd$ed%d&d'ed(efd)Zi i fd$ed%d&d'ed(efd*Zi i fd$ed%d+d'ed(efd,Zi i fd$ed%d+d'ed(efd-Zi i fd$ed%d.d'ed(efd/Zi i fd$ed%d.d'ed(efd0Zi i fd%d1d'ed(ee   fd2Z i i fd%d1d'ed(ee   fd3Z!i fd%d4d'ed(efd5Z"i fd%d4d'ed(efd6Z#i fd%d7d'ed(e$e   fd8Z%i fd%d7d'ed(e$e   fd9Z& xZ'S ):ProductServicec                 X    t         |   |       t        | j                        | _        y )N)super__init__r   
_requestorfeatures)self	requestor	__class__s     V/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_product_service.pyr   zProductService.__init__   s     #-doo>    c                   H   e Zd ZU ee   ed<   	 ed   ed<   	 ee   ed<   	 eee      ed<   	 ee   ed<   	 eee      ed<   	 eed      ed	<   	 eeeef      ed
<   	 eed<   	 ed   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee	d      ed<   	 ee   ed<   	 ee   ed<   y)ProductService.CreateParamsactive+ProductService.CreateParamsDefaultPriceDatadefault_price_datadescriptionexpandidimages+ProductService.CreateParamsMarketingFeaturemarketing_featuresmetadataname,ProductService.CreateParamsPackageDimensionspackage_dimensions	shippablestatement_descriptortax_codegoodservicetype
unit_labelurlN)
__name__
__module____qualname__r   bool__annotations__strr   r
   r    r   r   CreateParamsr      sE   D!!	 (9
 	
	 !%%	 DI&&	 	 DI&&	 (>?
 	
	 d38n--	 		 (:
 	
	 t$$	 *#..	 c""	 '"3455	  $$	 	r   r<   c                       e Zd ZU eed<   	 eeedf      ed<   	 ed   ed<   	 ed   ed<   	 eed      ed	<   	 ee   ed
<   	 ee   ed<   y)r    currency:ProductService.CreateParamsDefaultPriceDataCurrencyOptionscurrency_options;ProductService.CreateParamsDefaultPriceDataCustomUnitAmountcustom_unit_amount4ProductService.CreateParamsDefaultPriceDataRecurring	recurring	exclusive	inclusiveunspecifiedtax_behaviorunit_amountunit_amount_decimalN)	r5   r6   r7   r:   r9   r   r
   r   intr;   r   r   CreateParamsDefaultPriceDataz+ProductService.CreateParamsDefaultPriceData^   s    	 &LN
 	
	 (I
 	
	 B
 	
	 ";<
 	
	 !%%	 )--	r   rM   c                   r    e Zd ZU ed   ed<   	 eed      ed<   	 eed      ed<   	 ee   ed<   	 ee   ed<   y	)
r?   JProductService.CreateParamsDefaultPriceDataCurrencyOptionsCustomUnitAmountrB   rE   rI   >ProductService.CreateParamsDefaultPriceDataCurrencyOptionsTiertiersrJ   rK   N)	r5   r6   r7   r   r9   r   r   rL   r:   r;   r   r   +CreateParamsDefaultPriceDataCurrencyOptionsz:ProductService.CreateParamsDefaultPriceDataCurrencyOptions   sw    'X
 	
	 ";<
 	
	 P
 	

	 !%%	 )--	r   rR   c                   N    e Zd ZU eed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)rO   enabledmaximumminimumpresetNr5   r6   r7   r8   r9   r   rL   r;   r   r   ;CreateParamsDefaultPriceDataCurrencyOptionsCustomUnitAmountzJProductService.CreateParamsDefaultPriceDataCurrencyOptionsCustomUnitAmount   sD     	 S!!	 S!!	 C  	r   rY   c                   p    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 eed   ef   ed<   y)rP   flat_amountflat_amount_decimalrJ   rK   infup_toN)	r5   r6   r7   r   rL   r9   r:   r   r   r;   r   r   /CreateParamsDefaultPriceDataCurrencyOptionsTierz>ProductService.CreateParamsDefaultPriceDataCurrencyOptionsTier   sc     %%	 )--	 !%%	 )--	 WU^S())	r   r_   c                   N    e Zd ZU eed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)rA   rT   rU   rV   rW   NrX   r;   r   r   ,CreateParamsDefaultPriceDataCustomUnitAmountz;ProductService.CreateParamsDefaultPriceDataCustomUnitAmount   sB    	 S!!	 S!!	 C  	r   ra   c                   0    e Zd ZU ed   ed<   	 ee   ed<   y)rC   )daymonthweekyearintervalinterval_countN)r5   r6   r7   r   r9   r   rL   r;   r   r   %CreateParamsDefaultPriceDataRecurringz4ProductService.CreateParamsDefaultPriceDataRecurring   s%    899	 $C((	r   ri   c                       e Zd ZU eed<   y)r&   r)   Nr5   r6   r7   r:   r9   r;   r   r   CreateParamsMarketingFeaturez+ProductService.CreateParamsMarketingFeature       		r   rl   c                   <    e Zd ZU eed<   	 eed<   	 eed<   	 eed<   y)r*   heightlengthweightwidthNr5   r6   r7   floatr9   r;   r   r   CreateParamsPackageDimensionsz,ProductService.CreateParamsPackageDimensions   0    	 	 	 	r   ru   c                       e Zd Zy)ProductService.DeleteParamsN)r5   r6   r7   r;   r   r   DeleteParamsrx     s    r   ry   c                       e Zd ZU ee   ed<   	 ed   ed<   	 ee   ed<   	 eee      ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   	 ee   ed	<   	 ee	d
      ed<   	 ee   ed<   y)ProductService.ListParamsr   z$ProductService.ListParamsCreated|intcreatedending_beforer#   idslimitr,   starting_afterr/   r2   r4   N)
r5   r6   r7   r   r8   r9   r:   r   rL   r   r;   r   r   
ListParamsr{     s    D!!	 CDD	 #3''	 DI&&	 c##	 3	 t$$	 $C((	 '"3455	 	r   r   c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y) ProductService.ListParamsCreatedgtgteltlteN)r5   r6   r7   r   rL   r9   r;   r   r   ListParamsCreatedr   0  sH    	 	 	 	r   r   c                   $    e Zd ZU eee      ed<   y)ProductService.RetrieveParamsr#   N)r5   r6   r7   r   r   r:   r9   r;   r   r   RetrieveParamsr   B  s    DI&&	r   r   c                   T    e Zd ZU eee      ed<   	 ee   ed<   	 ee   ed<   	 eed<   y)ProductService.SearchParamsr#   r   pagequeryN)r5   r6   r7   r   r   r:   r9   rL   r;   r   r   SearchParamsr   H  sF    DI&&	 3	 #	 
	r   r   c                      e Zd ZU ee   ed<   	 ee   ed<   	 ed   ed<   	 eee      ed<   	 ed   ed<   	 ed   ed	<   	 ed
   ed<   	 ee   ed<   	 ed   ed<   	 ee   ed<   	 ee   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)ProductService.UpdateParamsr   default_pricezLiteral['']|strr"   r#   zLiteral['']|List[str]r%   z=Literal['']|List[ProductService.UpdateParamsMarketingFeature]r'   zLiteral['']|Dict[str, str]r(   r)   z8Literal['']|ProductService.UpdateParamsPackageDimensionsr+   r,   r-   r.   r3   r4   N)r5   r6   r7   r   r8   r9   r:   r   r;   r   r   UpdateParamsr   Z  s   D!!	 #3''	 !!233	 DI&&	 344	 (K
 	
	 :;;	 #	 (F
 	
	 t$$	 *#..	 /00	   122	 *++	r   r   c                       e Zd ZU eed<   y)+ProductService.UpdateParamsMarketingFeaturer)   Nrk   r;   r   r   UpdateParamsMarketingFeaturer     rm   r   r   c                   <    e Zd ZU eed<   	 eed<   	 eed<   	 eed<   y),ProductService.UpdateParamsPackageDimensionsro   rp   rq   rr   Nrs   r;   r   r   UpdateParamsPackageDimensionsr     rv   r   r   r$   paramsrx   optionsreturnc                 |    t        t        | j                  ddj                  t	        |            d||            S )
        Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it.
        delete/v1/products/{id}r$   apibase_addressr   r   r   r   _requestformatr	   r   r$   r   r   s       r   r   zProductService.delete  sF     MM#**k"o*>"  	
 		
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)r   r   r   r   r   r   Nr   r   _request_asyncr   r	   r   s       r   delete_asynczProductService.delete_async  sV      %%#**k"o*>" &  	
 		
   =A
A
 	A
r   c                 |    t        t        | j                  ddj                  t	        |            d||            S )
        Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.
        getr   r   r   r   r   r   s       r   retrievezProductService.retrieve  sF     MM#**k"o*>"  	
 		
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)r   r   r   r   r   r   Nr   r   s       r   retrieve_asynczProductService.retrieve_async  sV      %%#**k"o*>" &  	
 		
r   r   c                 |    t        t        | j                  ddj                  t	        |            d||            S )
        Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
        postr   r   r   r   r   r   s       r   updatezProductService.update  sF     MM#**k"o*>"  	
 		
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)r   r   r   r   r   r   Nr   r   s       r   update_asynczProductService.update_async  sV      %%#**k"o*>" &  	
 		
r   r{   c           
      X    t        t        t           | j                  ddd||            S )
        Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.
        r   /v1/productsr   r   )r   r   r   r   r   r   r   s      r   listzProductService.list+  s9     wMM"  	
 		
r   c           
      t   K   t        t        t           | j                  ddd||       d{         S 7 w)r   r   r   r   r   N)r   r   r   r   r   s      r   
list_asynczProductService.list_async>  sI      w%%" &  	
 		
   +86
	8r   c           
      J    t        t        | j                  ddd||            S )/
        Creates a new product object.
        r   r   r   r   )r   r   r   r   s      r   createzProductService.createQ  s4     MM"  	
 		
r   c           
      f   K   t        t        | j                  ddd||       d{         S 7 w)r   r   r   r   r   N)r   r   r   r   s      r   create_asynczProductService.create_asyncd  sD      %%" &  	
 		
s   $1/
	1r   c           
      X    t        t        t           | j                  ddd||            S )  
        Search for products you've previously created using Stripe's [Search Query Language](https://stripe.com/docs/search#search-query-language).
        Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating
        conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
        to an hour behind during outages. Search functionality is not available to merchants in India.
        r   /v1/products/searchr   r   )r   r   r   r   r   s      r   searchzProductService.searchw  s9     w'MM%"  	
 		
r   c           
      t   K   t        t        t           | j                  ddd||       d{         S 7 w)r   r   r   r   r   N)r   r   r   r   r   s      r   search_asynczProductService.search_async  sI      w'%%%" &  	
 		
r   )(r5   r6   r7   r   r   r<   rM   rR   rY   r_   ra   ri   rl   ru   ry   r   r   r   r   r   r   r   r:   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __classcell__)r   s   @r   r   r      s   ?Iy IV'y 'Ri <() ,y $	 y 	 $y (Y (TI $ y $?y ?By 	 * 13"$	

 .
  	

 

. 13"$	

 .
  	

 

. 35"$	

 0
  	

 

. 35"$	

 0
  	

 

. 13"$	

 .
  	

 

. 13"$	

 .
  	

 

, /1"$
+
  
 
G		
* /1"$
+
  
 
G		
, #%
-
  
 
	
, #%
-
  
 
	
, #%
-
  
 
G	$	
2 #%
-
  
 
G	$	
r   r   N)stripe._list_objectr   stripe._productr   stripe._product_feature_servicer   stripe._request_optionsr   stripe._search_result_objectr   stripe._stripe_servicer   stripe._utilr	   typingr
   r   r   r   typing_extensionsr   r   r   r   r;   r   r   <module>r      s6    + # A 2 ; 0 $ * * = =S

] S

r   