
    _j,              	           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 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"  G d ded         ed         ed         ed                   Z#dS )    )CreateableAPIResource)DeletableAPIResource)
ListObject)ListableAPIResource)StripeObject)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictOptionalcastoverload)LiteralUnpackTYPE_CHECKING)LocationCreateParams)LocationDeleteParams)LocationListParams)LocationModifyParams)LocationRetrieveParamsc                      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e	ed
<   ee
         ed<   ee         ed<   ee         ed<   	 eed                  ed<   	 eed<   	 ee         ed<   	 ee         ed<   	 eed<   	 eed<   	 eeef         ed<   	 ed         ed<   	 ee         ed<   	 eded         dd fd            Zeded         dd fd            Zededed         dd fd            Zeededed         dd fd                         Zeded         dd fd!            Z ed"          ded         dd fd#            Zededed         dd fd$            Zeededed         dd fd%                        Zeded         dd fd&            Z ed'          ded         dd fd(            Zeded)         ded          fd*            Zeded)         ded          fd+            Zededed,         dd fd-            Zededed,         dd fd.            Zededed/         dd fd0            Z ededed/         dd fd1            Z!e	e
ed2Z"d3S )4Locationz
    A Location represents a grouping of readers.

    Related guide: [Fleet management](https://docs.stripe.com/terminal/fleet/locations)
    zterminal.locationOBJECT_NAMEc                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )Location.Addresscitycountryline1line2postal_codestateN__name__
__module____qualname__r   str__annotations__     ]/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/terminal/_location.pyAddressr   +   s         sm	 #	 }	 }	 c]"""	 }	 	r*   r,   c                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )	Location.AddressKanar   r   r   r    r!   r"   townNr#   r)   r*   r+   AddressKanar.   E            sm	 #	 }	 }	 c]"""	 }	 sm	 	r*   r0   c                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )	Location.AddressKanjir   r   r   r    r!   r"   r/   Nr#   r)   r*   r+   AddressKanjir3   c   r1   r*   r4   addressaddress_kanaaddress_kanjiconfiguration_overridesTdeleteddisplay_namedisplay_name_kanadisplay_name_kanjiidlivemodemetadataobjectphoneparamsr   returnc                 r    t          d|                     d|                                 |                    S )
        Creates a new Location object.
        For further details, including which address fields are required in each country, see the [Manage locations](https://docs.stripe.com/docs/terminal/fleet/locations) guide.
        r   postrB   )r   _static_request	class_urlclsrB   s     r+   createzLocation.create   sB         
 
 	
r*   c                    K   t          d|                     d|                                 |           d{V           S )rE   r   rF   rG   N)r   _static_request_asyncrI   rJ   s     r+   create_asynczLocation.create_async   sd       ++ ,        
 
 	
r*   sidr   c                     |                                  dt          |          }t          d|                     d||                    S ),
        Deletes a Location object.
        /r   deleterG   rI   r
   r   rH   rK   rP   rB   urls       r+   _cls_deletezLocation._cls_delete   s[     +c*:*:*:;    
 
 	
r*   c                     dS rR   Nr)   rP   rB   s     r+   rT   zLocation.delete   s	     	r*   c                     dS rZ   r)   selfrB   s     r+   rT   zLocation.delete   s	    
 	r*   rX   c                 V    |                      d|                                 |          S )rR   rT   rG   )_request_and_refreshinstance_urlr]   s     r+   rT   zLocation.delete   s6     (( ) 
 
 	
r*   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )rR   rS   r   rT   rG   NrI   r
   r   rN   rV   s       r+   _cls_delete_asynczLocation._cls_delete_async   s}       +c*:*:*:;++ ,        
 
 	
r*   c                 
   K   dS rZ   r)   r[   s     r+   delete_asynczLocation.delete_async  s       	r*   c                 
   K   dS rZ   r)   r]   s     r+   rf   zLocation.delete_async  s       	r*   rd   c                 f   K   |                      d|                                 |           d{V S )rR   rT   rG   N)_request_and_refresh_asyncra   r]   s     r+   rf   zLocation.delete_async   sX       44 5 
 
 
 
 
 
 
 
 	
r*   r   c                     |                      d|                                 |          }t          |t                    s$t	          dt          |          j        z            |S )5
        Returns a list of Location objects.
        getrG   %Expected list object from API, got %s)rH   rI   
isinstancer   	TypeErrortyper$   rK   rB   results      r+   listzLocation.list-  sp     $$MMOO % 
 

 &*-- 	7<<(*  
 r*   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )rk   rl   rG   Nrm   )rN   rI   rn   r   ro   rp   r$   rq   s      r+   
list_asynczLocation.list_asyncA  s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 r*   r   c                     |                                  dt          |          }t          d|                     d||                    S )
        Updates a Location object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
        rS   r   rF   rG   rU   rK   r=   rB   rW   s       r+   modifyzLocation.modifyU  sX     +b///:    
 
 	
r*   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )rw   rS   r   rF   rG   Nrc   rx   s       r+   modify_asynczLocation.modify_asyncf  sz       +b///:++ ,        
 
 	
r*   r   c                 @     | |fi |}|                                  |S ).
        Retrieves a Location object.
        )refreshrK   r=   rB   instances       r+   retrievezLocation.retrievew  s2     3r$$V$$r*   c                 P   K    | |fi |}|                                  d{V  |S )r}   N)refresh_asyncr   s       r+   retrieve_asynczLocation.retrieve_async  sH       3r$$V$$$$&&&&&&&&&r*   )r5   r6   r7   N)#r$   r%   r&   __doc__r   r   r   r(   r   r,   r0   r4   r   r'   boolr   classmethodr   rL   rO   rX   r   staticmethodrT   r	   rd   rf   r   rs   ru   ry   r{   r   r   _inner_class_typesr)   r*   r+   r   r      s          ;NK'"567MMM    ,   4    l   <    |   < ;''''L))))%c]*** gdm$$$$   }$$$ !%%% 	GGG NNN 38n '(((( C= 
f%;< 
 
 
 
 [
 
45
	
 
 
 [
  

!'(>!?
	
 
 
 [
  "#9:	   \ X v&<= *    X -((

56

	

 

 

 )(

 

!'(>!?
	
 
 
 [
  "#9:	   \ X 56	   X -..

56

	

 

 

 /.

 23	J	   [& 23	J	   [& 

 &'= >
	
 
 
 [
  

 &'= >
	
 
 
 [
   &'? @	   [  &'? @	   [ #% r*   r   N)$stripe._createable_api_resourcer   stripe._deletable_api_resourcer   stripe._list_objectr   stripe._listable_api_resourcer   stripe._stripe_objectr   stripe._updateable_api_resourcer   stripe._utilr	   r
   typingr   r   r   r   r   typing_extensionsr   r   r   .stripe.params.terminal._location_create_paramsr   .stripe.params.terminal._location_delete_paramsr   ,stripe.params.terminal._location_list_paramsr   .stripe.params.terminal._location_modify_paramsr   0stripe.params.terminal._location_retrieve_paramsr   r   r)   r*   r+   <module>r      s   B A A A A A ? ? ? ? ? ? * * * * * * = = = = = = . . . . . . A A A A A A : : : : : : : : ; ; ; ; ; ; ; ; ; ; ; ; ; ; < < < < < < < < < <            POOOOO          
t t t t t*%$
#*%	t t t t tr*   