
    Ai+              	           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#y)    )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"y3)4Locationz
    A Location represents a grouping of readers.

    Related guide: [Fleet management](https://stripe.com/docs/terminal/fleet/locations)
    zterminal.locationOBJECT_NAMEc                   x    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<   y)Location.Addresscitycountryline1line2postal_codestateN__name__
__module____qualname__r   str__annotations__     L/var/www/html/immo/lib/python3.12/site-packages/stripe/terminal/_location.pyAddressr   +   sf    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<   y)	Location.AddressKanar   r   r   r    r!   r"   townNr#   r)   r*   r+   AddressKanar.   E   w    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<   y)	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                 Z    t        d| j                  d| j                         |            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   s6        
 	
r*   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)rE   r   rF   rG   N)r   _static_request_asyncrI   rJ   s     r+   create_asynczLocation.create_async   sD      ++ ,  
 	
s   ,97
	9sidr   c                 z    | j                         dt        |      }t        d| j                  d||            S ),
        Deletes a Location object.
        /r   deleterG   rI   r
   r   rH   rK   rP   rB   urls       r+   _cls_deletezLocation._cls_delete   sE     +c*:;   
 	
r*   c                      yrR   Nr)   rP   rB   s     r+   rT   zLocation.delete   s     	r*   c                      yrZ   r)   selfrB   s     r+   rT   zLocation.delete   s    
 	r*   rX   c                 F    | j                  d| j                         |      S )rR   rT   rG   )_request_and_refreshinstance_urlr]   s     r+   rT   zLocation.delete   s.     (( ) 
 	
r*   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)rR   rS   r   rT   rG   NrI   r
   r   rN   rV   s       r+   _cls_delete_asynczLocation._cls_delete_async   sS      +c*:;++ ,  
 	
   <A	A
	A	c                    K   ywrZ   r)   r[   s     r+   delete_asynczLocation.delete_async  s      	   c                    K   ywrZ   r)   r]   s     r+   rg   zLocation.delete_async  s      	rh   rd   c                 b   K   | j                  d| j                         |       d{   S 7 w)rR   rT   rG   N)_request_and_refresh_asyncra   r]   s     r+   rg   zLocation.delete_async   s<      44 5 
 
 	
 
s   &/-/r   c                     | j                  d| j                         |      }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-  s]     $$MMO % 

 &*-7<((* 
 r*   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)rm   rn   rG   Nro   )rN   rI   rp   r   rq   rr   r$   rs   s      r+   
list_asynczLocation.list_asyncA  sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r   c                 z    | j                         dt        |      }t        d| j                  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  sD     +b/:   
 	
r*   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)ry   rS   r   rF   rG   Nrc   rz   s       r+   modify_asynczLocation.modify_asyncf  sR      +b/:++ ,  
 	
re   r   c                 8     | |fi |}|j                          |S ).
        Retrieves a Location object.
        )refreshrK   r=   rB   instances       r+   retrievezLocation.retrievew  s$     r$V$r*   c                 T   K    | |fi |}|j                          d{    |S 7 w)r   N)refresh_asyncr   s       r+   retrieve_asynczLocation.retrieve_async  s3      r$V$$$&&& 	's   (&()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   rg   r   ru   rw   r{   r}   r   r   _inner_class_typesr)   r*   r+   r   r      s    ;NK'"567M, 4l <| < ;''L))%c]* gdm$$   }$ !% 	G N 38n '(( C= 
f%;< 
 
 
 
45
	
 
  

!'(>!?
	
 
  "#9:	   v&<= *   -(

56

	

 )

 

!'(>!?
	
 
  "#9:	   56	  -.

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      sr    B ? * = . A : ; ; < < P
t*%$
#*%	tr*   