
    jofK              	          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 d dlmZmZ d d	lmZmZmZmZmZ d d
lmZmZmZmZmZ erd dlmZ  ed           G d ded         ed         ed                               ZdS )    )CreateableAPIResource)
ListObject)ListableAPIResource)nested_resource_class_methods)RequestOptions)StripeObject)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)MeterEventSummaryevent_summaryc                      e Zd ZU dZdZeed                  ed<    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 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eed <   	 e	ed!<   e
ed"<   eed#<   	 eed$<   	 eed%                  ed&<   	 eed'<   	 eed(<   	 ed         ed)<   	 ed*         ed+<   	 eed,<   eed-<   	 eed.<   ed/ed0         d1d fd2            Zed/ed0         d1d fd3            Z ed'ed/ed4         d1d fd5            Z!e"e#d'ed/ed4         d1d fd6                        Z$e"d/ed4         d1d fd7            Z$ e%d8          d/ed4         d1d fd9            Z$ed'ed/ed4         d1d fd:            Z&e"e#d'ed/ed4         d1d fd;                        Z'e"d/ed4         d1d fd<            Z' e%d=          d/ed4         d1d fd>            Z'ed/ed?         d1e(d          fd@            Z)ed/ed?         d1e(d          fdA            Z*ed'ed/edB         d1d fdC            Z+ed'ed/edB         d1d fdD            Z,ed'ed/edE         d1d fdF            Z-e"e#d'ed/edE         d1d fdG                        Z.e"d/edE         d1d fdH            Z. e%dI          d/edE         d1d fdJ            Z.ed'ed/edE         d1d fdK            Z/e"e#d'ed/edE         d1d fdL                        Z0e"d/edE         d1d fdM            Z0 e%dN          d/edE         d1d fdO            Z0ed'ed/edP         d1d fdQ            Z1ed'ed/edP         d1d fdR            Z2ed'ed/edS         d1e(dT         fdU            Z3ed'ed/edS         d1e(dT         fdV            Z4e	e
eedWZ5dXS )YMeteraY  
    A billing meter is a resource that allows you to track usage of a particular event. For example, you might create a billing meter to track the number of API calls made by a particular user. You can then attach the billing meter to a price and attach the price to a subscription to charge the user for the number of API calls they make.
    zbilling.meterOBJECT_NAMEc                   2    e Zd ZU eed<   	 ed         ed<   dS )Meter.CustomerMappingevent_payload_keyby_idtypeN__name__
__module____qualname__str__annotations__r        O/var/www/html/Alfredo/env/lib/python3.11/site-packages/stripe/billing/_meter.pyCustomerMappingr   $   :         	 g	 	r'   r)   c                   &    e Zd ZU ed         ed<   dS )Meter.DefaultAggregationcountsumformulaNr!   r"   r#   r   r%   r&   r'   r(   DefaultAggregationr,   .   '         ((((	 	r'   r2   c                   &    e Zd ZU ee         ed<   dS )Meter.StatusTransitionsdeactivated_atN)r!   r"   r#   r   intr%   r&   r'   r(   StatusTransitionsr5   4   s&          %%%	 	r'   r8   c                       e Zd ZU eed<   dS )Meter.ValueSettingsr   Nr!   r"   r#   r$   r%   r&   r'   r(   ValueSettingsr:   :   "         	 	r'   r<   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<   dS )Meter.CreateParams!Meter.CreateParamsCustomerMappingcustomer_mapping$Meter.CreateParamsDefaultAggregationdefault_aggregationdisplay_name
event_namedayhourevent_time_windowexpandMeter.CreateParamsValueSettingsvalue_settingsN)r!   r"   r#   r   r%   r$   r   r   r&   r'   r(   CreateParamsr?   @   s         %&IJJJJ	 DCCC	 	 	 'w}'=>>>>	 DI&&&&	 $$EFFFF	 	r'   rM   c                   2    e Zd ZU eed<   	 ed         ed<   dS )r@   r   r   r   Nr    r&   r'   r(   CreateParamsCustomerMappingz!Meter.CreateParamsCustomerMapping^   r*   r'   rO   c                   &    e Zd ZU ed         ed<   dS )rB   r-   r0   Nr1   r&   r'   r(   CreateParamsDefaultAggregationz$Meter.CreateParamsDefaultAggregationh   r3   r'   rQ   c                       e Zd ZU eed<   dS )rK   r   Nr;   r&   r'   r(   CreateParamsValueSettingszMeter.CreateParamsValueSettingsn   r=   r'   rS   c                   2    e Zd ZU eee                  ed<   dS )Meter.DeactivateParamsrJ   Nr!   r"   r#   r   r   r$   r%   r&   r'   r(   DeactivateParamsrU   t   +         DI&&&&	 	r'   rW   c                       e Zd ZU eed<   	 eed<   	 ee         ed<   	 eee                  ed<   	 ee         ed<   	 eed<   	 ee         ed<   	 eed                  ed	<   d
S )Meter.ListEventSummariesParamscustomerend_timeending_beforerJ   limit
start_timestarting_afterrF   value_grouping_windowN)	r!   r"   r#   r$   r%   r7   r   r   r   r&   r'   r(   ListEventSummariesParamsrZ   z   s         	 	 #3''''	 DI&&&&	 3	 	 $C((((	  +7=+ABBBB	 	r'   rb   c                       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<   dS )Meter.ListParamsr]   rJ   r^   r`   activeinactivestatusN)	r!   r"   r#   r   r$   r%   r   r7   r   r&   r'   r(   
ListParamsrd      s         "3''''	 DI&&&&	 3	 $C((((	 G$89::::	 	r'   ri   c                   J    e Zd ZU ee         ed<   	 eee                  ed<   dS )Meter.ModifyParamsrD   rJ   N)r!   r"   r#   r   r$   r%   r   r&   r'   r(   ModifyParamsrk      sC         !#&&&&	 DI&&&&	 	r'   rl   c                   2    e Zd ZU eee                  ed<   dS )Meter.ReactivateParamsrJ   NrV   r&   r'   r(   ReactivateParamsrn      rX   r'   ro   c                   2    e Zd ZU eee                  ed<   dS )Meter.RetrieveParamsrJ   NrV   r&   r'   r(   RetrieveParamsrq      rX   r'   rr   createdrA   rC   rD   rE   rF   rI   idlivemodeobjectre   rh   status_transitionsupdatedrL   paramsr?   returnc                 r    t          d|                     d|                                 |                    S ))
        Creates a billing meter
        r   postry   )r   _static_request	class_urlclsry   s     r(   createzMeter.create   sB    
     
 
 	
r'   c                    K   t          d|                     d|                                 |           d{V           S )r|   r   r}   r~   N)r   _static_request_asyncr   r   s     r(   create_asynczMeter.create_async   sd       ++ ,        
 
 	
r'   rU   c                     t          d|                     dd                    t          |                    |                    S )-
        Deactivates a billing meter
        r   r}   "/v1/billing/meters/{id}/deactivatert   r~   r   r   formatr   r   rt   ry   s      r(   _cls_deactivatezMeter._cls_deactivate  Z     4;;"2 <       	
 	
 		
r'   c                     dS r   Nr&   rt   ry   s     r(   
deactivatezMeter.deactivate!  	     	r'   c                     dS r   r&   selfry   s     r(   r   zMeter.deactivate+  	     	r'   r   c                     t          d|                     dd                    t          |                     d                              |                    S )r   r   r}   r   rt   r   r~   r   _requestr   r   getr   s     r(   r   zMeter.deactivate4  d     MM4;;"488D>>22 <      	
 	
 		
r'   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r   r   r}   r   r   r~   Nr   r   r   r   r   s      r(   _cls_deactivate_asynczMeter._cls_deactivate_asyncF  |       ++4;;"2 <    ,        	
 	
 		
r'   c                 
   K   dS r   r&   r   s     r(   deactivate_asynczMeter.deactivate_asyncX         	r'   c                 
   K   dS r   r&   r   s     r(   r   zMeter.deactivate_asyncb         	r'   r   c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r   r   r}   r   rt   r   r~   Nr   _request_asyncr   r   r   r   s     r(   r   zMeter.deactivate_asynck         %%4;;"488D>>22 <    &        	
 	
 		
r'   rd   c                     |                      d|                                 |          }t          |t                    s$t	          dt          |          j        z            |S )4
        Retrieve a list of billing meters.
        r   r~   %Expected list object from API, got %s)r   r   
isinstancer   	TypeErrorr   r!   r   ry   results      r(   listz
Meter.list}  sp    
 $$MMOO % 
 

 &*-- 	7<<(*  
 r'   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )r   r   r~   Nr   )r   r   r   r   r   r   r!   r   s      r(   
list_asynczMeter.list_async  s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 r'   rk   c                     |                                  dt          |          }t          d|                     d||                    S ))
        Updates a billing meter
        /r   r}   r~   )r   r   r   r   r   rt   ry   urls       r(   modifyzMeter.modify  sX     +b///:    
 
 	
r'   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )r   r   r   r}   r~   N)r   r   r   r   r   s       r(   modify_asynczMeter.modify_async  sz       +b///:++ ,        
 
 	
r'   rn   c                     t          d|                     dd                    t          |                    |                    S )-
        Reactivates a billing meter
        r   r}   "/v1/billing/meters/{id}/reactivater   r~   r   r   s      r(   _cls_reactivatezMeter._cls_reactivate  r   r'   c                     dS r   Nr&   r   s     r(   
reactivatezMeter.reactivate  r   r'   c                     dS r   r&   r   s     r(   r   zMeter.reactivate  r   r'   r   c                     t          d|                     dd                    t          |                     d                              |                    S )r   r   r}   r   rt   r   r~   r   r   s     r(   r   zMeter.reactivate  r   r'   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r   r   r}   r   r   r~   Nr   r   s      r(   _cls_reactivate_asynczMeter._cls_reactivate_async  r   r'   c                 
   K   dS r   r&   r   s     r(   reactivate_asynczMeter.reactivate_async  r   r'   c                 
   K   dS r   r&   r   s     r(   r   zMeter.reactivate_async  r   r'   r   c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r   r   r}   r   rt   r   r~   Nr   r   s     r(   r   zMeter.reactivate_async!  r   r'   rq   c                 @     | |fi |}|                                  |S )7
        Retrieves a billing meter given an ID
        )refreshr   rt   ry   instances       r(   retrievezMeter.retrieve3  s2     3r$$V$$r'   c                 P   K    | |fi |}|                                  d{V  |S )r   N)refresh_asyncr   s       r(   retrieve_asynczMeter.retrieve_async>  sH       3r$$V$$$$&&&&&&&&&r'   rZ   r   c                     t          t          d         |                     dd                    t	          |                    |                    S )C
        Retrieve a list of billing meter event summaries.
        r   r   '/v1/billing/meters/{id}/event_summariesr   r~   )r   r   r   r   r   r   s      r(   list_event_summarieszMeter.list_event_summariesI  sa     *+9@@"2 A       	
 	
 		
r'   c                    K   t          t          d         |                     dd                    t	          |                    |           d{V           S )r   r   r   r   r   r~   N)r   r   r   r   r   r   s      r(   list_event_summaries_asyncz Meter.list_event_summaries_async[  s       *+++9@@"2 A    ,        	
 	
 		
r'   )rA   rC   rw   rL   N)6r!   r"   r#   __doc__r   r   r   r%   r   r)   r2   r8   r<   r   rM   r   rO   rQ   rS   rW   rb   ri   rl   ro   rr   r7   r$   r   boolclassmethodr   r   r   r   r   staticmethodr   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   _inner_class_typesr&   r'   r(   r   r      s	          7FK'/23EEE    ,       \       L              ~   <    i              I       >            >      D    ^   ,    ~       >           LLL &%%%++++ OOO   67777 	GGG NNN O$$$$ ()))) *)))LLL "!!!
f%9: 
w 
 
 
 [
 
23
	
 
 
 [
 

 &'? @
	
 
 
 [
" !":;	   \ X 78	   X +,,
78
	
 
 
 -,
" 

 &'? @
	
 
 
 [
" !":;	   \ X 78	   X 122
78
	
 
 
 32
" F#56 :g;N    [" 01	G	   [& 

 &'; <
	
 
 
 [
  

 &'; <
	
 
 
 [
  

 &'? @
	
 
 
 [
" !":;	   \ X 78	   X +,,
78
	
 
 
 -,
" 

 &'? @
	
 
 
 [
" !":;	   \ X 78	   X 122
78
	
 
 
 32
"  &'= >	   [  &'= >	   [ 

 &'G H
	'	(
 
 
 [
" 

 &'G H
	'	(
 
 
 [
$ ,1/'	 r'   r   N) stripe._createable_api_resourcer   stripe._list_objectr   stripe._listable_api_resourcer   %stripe._nested_resource_class_methodsr   stripe._request_optionsr   stripe._stripe_objectr   stripe._updateable_api_resourcer	   stripe._utilr
   r   typingr   r   r   r   r   typing_extensionsr   r   r   r   r   #stripe.billing._meter_event_summaryr   r   r&   r'   r(   <module>r      s   B A A A A A * * * * * * = = = = = = O O O O O O 2 2 2 2 2 2 . . . . . . A A A A A A : : : : : : : : ; ; ; ; ; ; ; ; ; ; ; ; ; ;               FEEEEEE //Y	 Y	 Y	 Y	 Y	'" '"Y	 Y	 0/Y	 Y	 Y	r'   