
    Ch                     v    S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
JrJr  S SKJrJr   " S S	\5      rg
)    )
ListObject)ProductFeature)RequestOptions)StripeService)sanitize_id)Listcast)NotRequired	TypedDictc                      \ rS rSr " S S\5      r " S S\5      r " S S\5      r " S S	\5      r0 0 4S
\	S\	SSS\
S\4
S jjr0 0 4S
\	S\	SSS\
S\4
S jjr0 0 4S
\	S\	SSS\
S\4
S jjr0 0 4S
\	S\	SSS\
S\4
S jjr0 0 4S
\	SSS\
S\\   4S jjr0 0 4S
\	SSS\
S\\   4S jjr0 4S
\	SSS\
S\4S jjr0 4S
\	SSS\
S\4S jjrSrg)ProductFeatureService   c                   8    \ rS rSr% \\S'    \\\      \S'   Srg)"ProductFeatureService.CreateParams   entitlement_featureexpand N)	__name__
__module____qualname____firstlineno__str__annotations__r
   r   __static_attributes__r       b/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/stripe/_product_feature_service.pyCreateParamsr      s#      	 DI&&	r   r   c                       \ rS rSrSrg)"ProductFeatureService.DeleteParams   r   N)r   r   r   r   r   r   r   r   DeleteParamsr       s    r   r"   c                   b    \ rS rSr% \\   \S'    \\\      \S'    \\   \S'    \\   \S'   Sr	g) ProductFeatureService.ListParams   ending_beforer   limitstarting_afterr   N)
r   r   r   r   r
   r   r   r   intr   r   r   r   
ListParamsr$      sL    "3''	 DI&&	 3	 $C((	r   r*   c                   ,    \ rS rSr% \\\      \S'   Srg)$ProductFeatureService.RetrieveParams,   r   r   N)	r   r   r   r   r
   r   r   r   r   r   r   r   RetrieveParamsr,   ,   s    DI&&	r   r.   productidparamsr    optionsreturnc                     [        [        U R                  SSR                  [	        U5      [	        U5      S9SUUS95      $ )-
Deletes the feature attachment to a product
delete$/v1/products/{product}/features/{id}r/   r0   apibase_addressr1   r2   r	   r   _requestformatr   selfr/   r0   r1   r2   s        r   r6   ProductFeatureService.delete2   sU     MM6=='0"2 >  #  	
 	
r   c                    #    [        [        U R                  SSR                  [	        U5      [	        U5      S9SUUS9I Sh  vN 5      $  N7f)r5   r6   r7   r8   r9   r:   Nr	   r   _request_asyncr>   r   r?   s        r   delete_async"ProductFeatureService.delete_asyncJ   sd      %%6=='0"2 >  # & 	 	
 	
	   AAA
	Ar,   c                     [        [        U R                  SSR                  [	        U5      [	        U5      S9SUUS95      $ )Q
Retrieves a product_feature, which represents a feature attachment to a product
getr7   r8   r9   r:   r<   r?   s        r   retrieveProductFeatureService.retrieveb   sU     MM6=='0"2 >  #  	
 	
r   c                    #    [        [        U R                  SSR                  [	        U5      [	        U5      S9SUUS9I Sh  vN 5      $  N7f)rI   rJ   r7   r8   r9   r:   NrC   r?   s        r   retrieve_async$ProductFeatureService.retrieve_asyncz   sd      %%6=='0"2 >  # & 	 	
 	
	rG   r$   c                 ~    [        [        [           U R                  SSR	                  [        U5      S9SUUS95      $ )+
Retrieve a list of features for a product
rJ   /v1/products/{product}/featuresr/   r9   r:   )r	   r   r   r=   r>   r   r@   r/   r1   r2   s       r   listProductFeatureService.list   sS     ~&MM188'0 9  #  
 	
r   c                    #    [        [        [           U R                  SSR	                  [        U5      S9SUUS9I Sh  vN 5      $  N7f)rQ   rJ   rR   rS   r9   r:   N)r	   r   r   rD   r>   r   rT   s       r   
list_async ProductFeatureService.list_async   sb      ~&%%188'0 9  # &  
 	
s   >A A	
	Ar   c                 p    [        [        U R                  SSR                  [	        U5      S9SUUS95      $ )O
Creates a product_feature, which represents a feature attachment to a product
postrR   rS   r9   r:   r<   rT   s       r   createProductFeatureService.create   sN     MM188'0 9  #  
 	
r   c                    #    [        [        U R                  SSR                  [	        U5      S9SUUS9I Sh  vN 5      $  N7f)r[   r\   rR   rS   r9   r:   NrC   rT   s       r   create_async"ProductFeatureService.create_async   s]      %%188'0 9  # &  
 	
s   7AA
	Ar   N)r   r   r   r   r   r   r"   r*   r.   r   r   r   r6   rE   rK   rN   r   rU   rX   r]   r`   r   r   r   r   r   r      s   y y Y $  8:"$

 
 5	

  
 

8 8:"$

 
 5	

  
 

8 :<"$

 
 7	

  
 

8 :<"$

 
 7	

  
 

6 68"$	

 3
  	

 
N	#
2 68"$	

 3
  	

 
N	#
4 #%	

 5
  	

 

4 #%	

 5
  	

 

 
r   r   N)stripe._list_objectr   stripe._product_featurer   stripe._request_optionsr   stripe._stripe_servicer   stripe._utilr   typingr   r	   typing_extensionsr
   r   r   r   r   r   <module>ri      s*    + 2 2 0 $  4\
M \
r   