
    <@g                     ~    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 d dlmZmZmZ  G d d	e      Zy
)    )
ListObject)RequestOptions)StripeService)sanitize_id)Feature)DictListcast)LiteralNotRequired	TypedDictc            	       L   e Zd 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	d
dede	e
   fdZi i fd	d
dede	e
   fdZi fd	ddede
fdZi f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y)FeatureServicec                   X    e Zd ZU eee      ed<   	 eed<   	 eeeef      ed<   	 eed<   y)FeatureService.CreateParamsexpand
lookup_keymetadatanameN)__name__
__module____qualname__r   r	   str__annotations__r        c/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/entitlements/_feature_service.pyCreateParamsr      sH    DI&&	 	 d38n--	 		r   r   c                   ~    e Zd ZU ee   ed<   	 ee   ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)FeatureService.ListParamsarchivedending_beforer   limitr   starting_afterN)	r   r   r   r   boolr   r   r	   intr   r   r   
ListParamsr       sp    d##	 #3''	 DI&&	 3	  $$	 $C((	r   r'   c                   $    e Zd ZU eee      ed<   y)FeatureService.RetrieveParamsr   N)r   r   r   r   r	   r   r   r   r   r   RetrieveParamsr)   9   s    DI&&	r   r*   c                   Z    e Zd ZU ee   ed<   	 eee      ed<   	 ed   ed<   	 ee   ed<   y)FeatureService.UpdateParamsactiver   zLiteral['']|Dict[str, str]r   r   N)r   r   r   r   r%   r   r	   r   r   r   r   UpdateParamsr,   ?   sM    D!!	 DI&&	 :;;	 #	r   r.   paramsr    optionsreturnc           
      X    t        t        t           | j                  ddd||            S )-
        Retrieve a list of features
        get/v1/entitlements/featuresapibase_addressr/   r0   )r
   r   r   _requestselfr/   r0   s      r   listzFeatureService.listQ   s9     wMM+"  	
 		
r   c           
      t   K   t        t        t           | j                  ddd||       d{         S 7 w)r3   r4   r5   r6   r7   N)r
   r   r   _request_asyncr:   s      r   
list_asynczFeatureService.list_asyncd   sI      w%%+" &  	
 		
s   +86
	8r   c           
      J    t        t        | j                  ddd||            S )#
        Creates a feature
        postr5   r6   r7   )r
   r   r9   r:   s      r   createzFeatureService.createw   s4     MM+"  	
 		
r   c           
      f   K   t        t        | j                  ddd||       d{         S 7 w)rA   rB   r5   r6   r7   N)r
   r   r>   r:   s      r   create_asynczFeatureService.create_async   sD      %%+" &  	
 		
s   $1/
	1idr)   c                 |    t        t        | j                  ddj                  t	        |            d||            S )%
        Retrieves a feature
        r4   /v1/entitlements/features/{id}rF   r6   r7   r
   r   r9   formatr   r;   rF   r/   r0   s       r   retrievezFeatureService.retrieve   sF     MM077;r?7K"  	
 		
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)rH   r4   rI   rJ   r6   r7   Nr
   r   r>   rL   r   rM   s       r   retrieve_asynczFeatureService.retrieve_async   sV      %%077;r?7K" &  	
 		
   =A
A
 	A
r,   c                 |    t        t        | j                  ddj                  t	        |            d||            S )K
        Update a feature's metadata or permanently deactivate it.
        rB   rI   rJ   r6   r7   rK   rM   s       r   updatezFeatureService.update   sF     MM077;r?7K"  	
 		
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)rT   rB   rI   rJ   r6   r7   NrP   rM   s       r   update_asynczFeatureService.update_async   sV      %%077;r?7K" &  	
 		
rR   N)r   r   r   r   r   r'   r*   r.   r   r   r   r<   r?   rC   rE   r   rN   rQ   rU   rW   r   r   r   r   r      s   y $Y 4 y ( /1"$
+
  
 
G		
* /1"$
+
  
 
G		
, #%
-
  
 
	
, #%
-
  
 
	
, 35"$	

 0
  	

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

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

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

 

r   r   N)stripe._list_objectr   stripe._request_optionsr   stripe._stripe_servicer   stripe._utilr   stripe.entitlements._featurer   typingr   r	   r
   typing_extensionsr   r   r   r   r   r   r   <module>r_      s0    + 2 0 $ 0 # # = =_
] _
r   