
    <@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 d dlmZmZ d dlmZmZmZ  G d	 d
e      Zy)    )
ListObject)RequestOptions)StripeService)sanitize_id)Meter)MeterEventSummaryService)Listcast)LiteralNotRequired	TypedDictc            	       D    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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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 xZS )*MeterServicec                 X    t         |   |       t        | j                        | _        y )N)super__init__r   
_requestorevent_summaries)self	requestor	__class__s     \/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/billing/_meter_service.pyr   zMeterService.__init__   s!    #7H    c                       e Zd ZU ed   ed<   	 ded<   	 eed<   	 eed<   	 eed      ed<   	 eee      ed	<   	 ed
   ed<   y)MeterService.CreateParams(MeterService.CreateParamsCustomerMappingcustomer_mapping+MeterService.CreateParamsDefaultAggregationdefault_aggregationdisplay_name
event_name)dayhourevent_time_windowexpand&MeterService.CreateParamsValueSettingsvalue_settingsN)__name__
__module____qualname__r   __annotations__strr   r	    r   r   CreateParamsr      s~    %6
 	
	 KJ	 	 	 'w}'=>>	 DI&&	 $$LMM	r   r.   c                   *    e Zd ZU eed<   	 ed   ed<   y)r   event_payload_keyby_idtypeN)r(   r)   r*   r,   r+   r   r-   r   r   CreateParamsCustomerMappingz(MeterService.CreateParamsCustomerMapping4   s    	 g	r   r3   c                       e Zd ZU ed   ed<   y)r   )countsumformulaN)r(   r)   r*   r   r+   r-   r   r   CreateParamsDefaultAggregationz+MeterService.CreateParamsDefaultAggregation>   s    ((	r   r8   c                       e Zd ZU eed<   y)r&   r0   N)r(   r)   r*   r,   r+   r-   r   r   CreateParamsValueSettingsz&MeterService.CreateParamsValueSettingsD   s    	r   r:   c                   $    e Zd ZU eee      ed<   y)MeterService.DeactivateParamsr%   Nr(   r)   r*   r   r	   r,   r+   r-   r   r   DeactivateParamsr<   J       DI&&	r   r>   c                   r    e Zd ZU ee   ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   	 eed      ed<   y)MeterService.ListParamsending_beforer%   limitstarting_after)activeinactivestatusN)	r(   r)   r*   r   r,   r+   r	   intr   r-   r   r   
ListParamsrA   P   sd    "3''	 DI&&	 3	 $C((	 G$89::	r   rI   c                   $    e Zd ZU eee      ed<   y)MeterService.ReactivateParamsr%   Nr=   r-   r   r   ReactivateParamsrK   f   r?   r   rL   c                   $    e Zd ZU eee      ed<   y)MeterService.RetrieveParamsr%   Nr=   r-   r   r   RetrieveParamsrN   l   r?   r   rO   c                   6    e Zd ZU ee   ed<   	 eee      ed<   y)MeterService.UpdateParamsr    r%   N)r(   r)   r*   r   r,   r+   r	   r-   r   r   UpdateParamsrQ   r   s(    !#&&	 DI&&	r   rR   paramsrA   optionsreturnc           
      X    t        t        t           | j                  ddd||            S )4
        Retrieve a list of billing meters.
        get/v1/billing/metersapibase_addressrS   rT   )r
   r   r   _requestr   rS   rT   s      r   listzMeterService.list|   s9     uMM$"  	
 		
r   c           
      t   K   t        t        t           | j                  ddd||       d{         S 7 w)rW   rX   rY   rZ   r[   N)r
   r   r   _request_asyncr^   s      r   
list_asynczMeterService.list_async   sI      u%%$" &  	
 		
s   +86
	8r   c           
      J    t        t        | j                  ddd||            S )*
        Creates a billing meter.
        postrY   rZ   r[   )r
   r   r]   r^   s      r   createzMeterService.create   s4     MM$"  	
 		
r   c           
      f   K   t        t        | j                  ddd||       d{         S 7 w)rd   re   rY   rZ   r[   N)r
   r   ra   r^   s      r   create_asynczMeterService.create_async   sD      %%$" &  	
 		
s   $1/
	1idrN   c                 |    t        t        | j                  ddj                  t	        |            d||            S )8
        Retrieves a billing meter given an ID.
        rX   /v1/billing/meters/{id}ri   rZ   r[   r
   r   r]   formatr   r   ri   rS   rT   s       r   retrievezMeterService.retrieve   sF     MM)00KO0D"  	
 		
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)rk   rX   rl   rm   rZ   r[   Nr
   r   ra   ro   r   rp   s       r   retrieve_asynczMeterService.retrieve_async   sV      %%)00KO0D" &  	
 		
   =A
A
 	A
rQ   c                 |    t        t        | j                  ddj                  t	        |            d||            S )*
        Updates a billing meter.
        re   rl   rm   rZ   r[   rn   rp   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)rw   re   rl   rm   rZ   r[   Nrs   rp   s       r   update_asynczMeterService.update_async   sV      %%)00KO0D" &  	
 		
ru   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.
        re   "/v1/billing/meters/{id}/deactivaterm   rZ   r[   rn   rp   s       r   
deactivatezMeterService.deactivate  M     MM4;;"2 <  #  
 	
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)r|   re   r}   rm   rZ   r[   Nrs   rp   s       r   deactivate_asynczMeterService.deactivate_async*  ]      %%4;;"2 <  # &  
 	
ru   rK   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.
        re   "/v1/billing/meters/{id}/reactivaterm   rZ   r[   rn   rp   s       r   
reactivatezMeterService.reactivate@  r   r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)r   re   r   rm   rZ   r[   Nrs   rp   s       r   reactivate_asynczMeterService.reactivate_asyncV  r   ru   )r(   r)   r*   r   r   r.   r3   r8   r:   r>   rI   rL   rO   rR   r   r   r   r_   rb   rf   rh   r,   rq   rt   rx   rz   r~   r   r   r   __classcell__)r   s   @r   r   r      s   Iy @i  I 9 Y ,9  y  -/"$
)
  
 
E		
* -/"$
)
  
 
E		
( NP
1
<J
	
$ NP
1
<J
	
( 13"$	

 .
  	

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

 

. /1"$	

 ,
  	

 

. /1"$	

 ,
  	

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

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

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

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

 

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   r   r   r   r-   r   r   <module>r      s4    + 2 0 $ '  = =[
= [
r   