
    kh                         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 er$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      Zy)    )
ListObject)RequestOptions)StripeService)sanitize_id)Meter)MeterEventSummaryService)Optionalcast)TYPE_CHECKING)MeterCreateParams)MeterDeactivateParams)MeterListParams)MeterReactivateParams)MeterRetrieveParams)MeterUpdateParamsc            	           e Zd Z fdZ	 	 dded   dee   dee   fdZ	 	 dded   dee   dee   fdZ		 ddddee   defd	Z
	 ddddee   defd
Z	 	 ddeded   dee   defdZ	 	 ddeded   dee   defdZ	 	 ddeded   dee   defdZ	 	 ddeded   dee   defdZ	 	 ddeded   dee   defdZ	 	 ddeded   dee   defdZ	 	 ddeded   dee   defdZ	 	 ddeded   dee   defdZ xZS )MeterServicec                 X    t         |   |       t        | j                        | _        y N)super__init__r   
_requestorevent_summaries)self	requestor	__class__s     ]/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/stripe/billing/_meter_service.pyr   zMeterService.__init__   s!    #7H    paramsr   optionsreturnc           
      X    t        t        t           | j                  ddd||            S )4
        Retrieve a list of billing meters.
        get/v1/billing/metersapibase_addressr   r    )r
   r   r   _requestr   r   r    s      r   listzMeterService.list"   s9     u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   _request_asyncr*   s      r   
list_asynczMeterService.list_async5   sI      u%%$" &  	
 		
s   +86
	8r   c           
      J    t        t        | j                  ddd||            S )*
        Creates a billing meter.
        postr%   r&   r'   )r
   r   r)   r*   s      r   createzMeterService.createH   s4     MM$"  	
 		
r   c           
      f   K   t        t        | j                  ddd||       d{         S 7 w)r0   r1   r%   r&   r'   N)r
   r   r-   r*   s      r   create_asynczMeterService.create_async[   sD      %%$" &  	
 		
s   $1/
	1idr   c                 |    t        t        | j                  ddj                  t	        |            d||            S )8
        Retrieves a billing meter given an ID.
        r$   /v1/billing/meters/{id}r5   r&   r'   r
   r   r)   formatr   r   r5   r   r    s       r   retrievezMeterService.retrieven   sF     MM)00KO0D"  	
 		
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)r7   r$   r8   r9   r&   r'   Nr
   r   r-   r;   r   r<   s       r   retrieve_asynczMeterService.retrieve_async   sV      %%)00KO0D" &  	
 		
   =A
A
 	A
r   c                 |    t        t        | j                  ddj                  t	        |            d||            S )*
        Updates a billing meter.
        r1   r8   r9   r&   r'   r:   r<   s       r   updatezMeterService.update   sF     MM)00KO0D"  	
 		
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)rC   r1   r8   r9   r&   r'   Nr?   r<   s       r   update_asynczMeterService.update_async   sV      %%)00KO0D" &  	
 		
rA   r   c                 |    t        t        | j                  ddj                  t	        |            d||            S )
        When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price.
        r1   "/v1/billing/meters/{id}/deactivater9   r&   r'   r:   r<   s       r   
deactivatezMeterService.deactivate   M     MM4;;"2 <  #  
 	
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)rH   r1   rI   r9   r&   r'   Nr?   r<   s       r   deactivate_asynczMeterService.deactivate_async   ]      %%4;;"2 <  # &  
 	
rA   r   c                 |    t        t        | j                  ddj                  t	        |            d||            S )}
        When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price.
        r1   "/v1/billing/meters/{id}/reactivater9   r&   r'   r:   r<   s       r   
reactivatezMeterService.reactivate   rK   r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)rP   r1   rQ   r9   r&   r'   Nr?   r<   s       r   reactivate_asynczMeterService.reactivate_async   rN   rA   )NNr   )__name__
__module____qualname__r   r	   r   r   r   r+   r.   r2   r4   strr=   r@   rD   rF   rJ   rM   rR   rT   __classcell__)r   s   @r   r   r      s   I /3,0
*+
 .)
 
E		
* /3,0
*+
 .)
 
E		
, -1
#
 .)
 
	
, -1
#
 .)
 
	
, 37,0	

 ./
 .)	

 

. 37,0	

 ./
 .)	

 

. 15,0	

 ,-
 .)	

 

. 15,0	

 ,-
 .)	

 

. 59,0	

 01
 .)	

 

2 59,0	

 01
 .)	

 

2 59,0	

 01
 .)	

 

2 59,0	

 01
 .)	

 

r   r   N)stripe._list_objectr   stripe._request_optionsr   stripe._stripe_servicer   stripe._utilr   stripe.billing._meterr   +stripe.billing._meter_event_summary_servicer   typingr	   r
   typing_extensionsr   *stripe.params.billing._meter_create_paramsr   .stripe.params.billing._meter_deactivate_paramsr   (stripe.params.billing._meter_list_paramsr   .stripe.params.billing._meter_reactivate_paramsr   ,stripe.params.billing._meter_retrieve_paramsr   *stripe.params.billing._meter_update_paramsr   r    r   r   <module>ri      sR    + 2 0 $ ' " +L I Mw
= w
r   