
    `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     Z/var/www/html/Manimaran/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lastsumformulaN)r(   r)   r*   r   r+   r-   r   r   CreateParamsDefaultAggregationz+MeterService.CreateParamsDefaultAggregation>   s    /00	r   r9   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   
ListParamsrB   P   sd    "3''	 DI&&	 3	 $C((	 G$89::	r   rJ   c                   $    e Zd ZU eee      ed<   y)MeterService.ReactivateParamsr%   Nr>   r-   r   r   ReactivateParamsrL   f   r@   r   rM   c                   $    e Zd ZU eee      ed<   y)MeterService.RetrieveParamsr%   Nr>   r-   r   r   RetrieveParamsrO   l   r@   r   rP   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   UpdateParamsrR   r   s(    !#&&	 DI&&	r   rS   paramsrB   optionsreturnc           
      X    t        t        t           | j                  ddd||            S )4
        Retrieve a list of billing meters.
        get/v1/billing/metersapibase_addressrT   rU   )r
   r   r   _requestr   rT   rU   s      r   listzMeterService.list|   s9     uMM$"  	
 		
r   c           
      t   K   t        t        t           | j                  ddd||       d{         S 7 w)rX   rY   rZ   r[   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.
        postrZ   r[   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)re   rf   rZ   r[   r\   N)r
   r   rb   r_   s      r   create_asynczMeterService.create_async   sD      %%$" &  	
 		
s   $1/
	1idrO   c                 |    t        t        | j                  ddj                  t	        |            d||            S )8
        Retrieves a billing meter given an ID.
        rY   /v1/billing/meters/{id}rj   r[   r\   r
   r   r^   formatr   r   rj   rT   rU   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)rl   rY   rm   rn   r[   r\   Nr
   r   rb   rp   r   rq   s       r   retrieve_asynczMeterService.retrieve_async   sV      %%)00KO0D" &  	
 		
   =A
A
 	A
rR   c                 |    t        t        | j                  ddj                  t	        |            d||            S )*
        Updates a billing meter.
        rf   rm   rn   r[   r\   ro   rq   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)rx   rf   rm   rn   r[   r\   Nrt   rq   s       r   update_asynczMeterService.update_async   sV      %%)00KO0D" &  	
 		
rv   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.
        rf   "/v1/billing/meters/{id}/deactivatern   r[   r\   ro   rq   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}   rf   r~   rn   r[   r\   Nrt   rq   s       r   deactivate_asynczMeterService.deactivate_async*  ]      %%4;;"2 <  # &  
 	
rv   rL   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.
        rf   "/v1/billing/meters/{id}/reactivatern   r[   r\   ro   rq   s       r   
reactivatezMeterService.reactivate@  r   r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)r   rf   r   rn   r[   r\   Nrt   rq   s       r   reactivate_asynczMeterService.reactivate_asyncV  r   rv   )r(   r)   r*   r   r   r.   r3   r9   r;   r?   rJ   rM   rP   rS   r   r   r   r`   rc   rg   ri   r,   rr   ru   ry   r{   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   