
    h@6              	           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mZ d d
lmZmZmZmZ  G d ded   ed   ed   ed         Zy)    )CreateableAPIResource)DeletableAPIResource)
ListObject)ListableAPIResource)RequestOptions)StripeObject)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackc                      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e	ed<   ee   ed<   	 eed<   	 eed<   	 eed<   	 eeef   ed<   	 ed   ed<   	 eed      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d0       Z$ededed1   dd fd2       Z%ededed1   dd fd3       Z&ededed4   dd fd5       Z'ededed4   dd fd6       Z(de	iZ)y7)8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__     Y/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/stripe/terminal/_location.pyAddressr      sf    sm	 #	 }	 }	 c]"	 }	r'   r)   c                   `    e Zd ZU ded<   	 ee   ed<   	 eed<   	 eee      ed<   	 ed   ed<   y)	Location.CreateParamsLocation.CreateParamsAddressaddressconfiguration_overridesdisplay_nameexpandLiteral['']|Dict[str, str]metadataN)r!   r"   r#   r%   r   r$   r   r&   r'   r(   CreateParamsr+   7   sU    //	 "-S!11	 	 DI&&	 :;;	r'   r3   c                   r    e Zd ZU ee   ed<   	 eed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)r,   r   r   r   r   r   r    Nr!   r"   r#   r   r$   r%   r&   r'   r(   CreateParamsAddresszLocation.CreateParamsAddressM   sf    #	 	 3	 3	 !%%	 3	r'   r6   c                       e Zd Zy)Location.DeleteParamsN)r!   r"   r#   r&   r'   r(   DeleteParamsr8   g   s    r'   r9   c                   Z    e Zd ZU ee   ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   y)Location.ListParamsending_beforer0   limitstarting_afterN)r!   r"   r#   r   r$   r%   r   intr&   r'   r(   
ListParamsr;   j   sL    "3''	 DI&&	 3	 $C((	r'   r@   c                   l    e Zd ZU ed   ed<   	 ed   ed<   	 ee   ed<   	 eee      ed<   	 ed   ed<   y	)
Location.ModifyParamsLocation.ModifyParamsAddressr-   zLiteral['']|strr.   r/   r0   r1   r2   N)r!   r"   r#   r   r%   r$   r   r&   r'   r(   ModifyParamsrB   |   sa    ;<<	 "-->!??	 "#&&	 DI&&	 :;;	r'   rD   c                   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)rC   r   r   r   r   r   r    Nr5   r&   r'   r(   ModifyParamsAddresszLocation.ModifyParamsAddress   sl    #	 S!!	 3	 3	 !%%	 3	r'   rF   c                   $    e Zd ZU eee      ed<   y)Location.RetrieveParamsr0   N)r!   r"   r#   r   r   r$   r%   r&   r'   r(   RetrieveParamsrH      s    DI&&	r'   rI   r-   r.   r/   idlivemoder2   objectTdeleted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://stripe.com/docs/terminal/fleet/locations) guide.
        r   postrN   )r   _static_request	class_urlclsrN   s     r(   createzLocation.create   s6        
 	
r'   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)rQ   r   rR   rS   N)r   _static_request_asyncrU   rV   s     r(   create_asynczLocation.create_async   sD      ++ ,  
 	
s   ,97
	9sidr8   c                 z    | j                         dt        |      }t        d| j                  d||            S ),
        Deletes a Location object.
        /r   deleterS   rU   r   r   rT   rW   r\   rN   urls       r(   _cls_deletezLocation._cls_delete   sE     +c*:;   
 	
r'   c                      yr^   Nr&   r\   rN   s     r(   r`   zLocation.delete  s     	r'   c                      yrf   r&   selfrN   s     r(   r`   zLocation.delete  s    
 	r'   rd   c                 F    | j                  d| j                         |      S )r^   r`   rS   )_request_and_refreshinstance_urlri   s     r(   r`   zLocation.delete  s.     (( ) 
 	
r'   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)r^   r_   r   r`   rS   NrU   r   r   rZ   rb   s       r(   _cls_delete_asynczLocation._cls_delete_async  sS      +c*:;++ ,  
 	
   <A	A
	A	c                    K   ywrf   r&   rg   s     r(   delete_asynczLocation.delete_async0  s      	   c                    K   ywrf   r&   ri   s     r(   rs   zLocation.delete_async:  s      	rt   rp   c                 b   K   | j                  d| j                         |       d{   S 7 w)r^   r`   rS   N)_request_and_refresh_asyncrm   ri   s     r(   rs   zLocation.delete_asyncC  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.
        getrS   %Expected list object from API, got %s)rT   rU   
isinstancer   	TypeErrortyper!   rW   rN   results      r(   listzLocation.listP  s]     $$MMO % 

 &*-7<((* 
 r'   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)ry   rz   rS   Nr{   )rZ   rU   r|   r   r}   r~   r!   r   s      r(   
list_asynczLocation.list_asyncd  sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"rB   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.
        r_   r   rR   rS   ra   rW   rJ   rN   rc   s       r(   modifyzLocation.modifyx  sD     +b/:   
 	
r'   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)r   r_   r   rR   rS   Nro   r   s       r(   modify_asynczLocation.modify_async  sR      +b/:++ ,  
 	
rq   rH   c                 8     | |fi |}|j                          |S ).
        Retrieves a Location object.
        )refreshrW   rJ   rN   instances       r(   retrievezLocation.retrieve  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   (&(N)*r!   r"   r#   __doc__r   r   r   r%   r   r)   r   r3   r   r6   r9   r@   rD   rF   rI   r   r$   boolr   classmethodr   rX   r[   rd   r   staticmethodr`   r
   rp   rs   r   r   r   r   r   r   r   _inner_class_typesr&   r'   r(   r   r      s    ;NK'"567M, 4~ ,i 4~ ^ $~ ,i 4  %c]*  	G N 38n '(( gdm$$ 
f%<= 
* 
 
 
56
	
 
  

!'(?!@
	
 
  "#:;	   v&=> :   -(

67

	

 )

 

!'(?!@
	
 
  "#:;	   67	  -.

67

	

 /

 34	J	 & 34	J	 & 

 &'> ?
	
 
  

 &'> ?
	
 
   &'@ A	   &'@ A	  $W-r'   r   N)stripe._createable_api_resourcer   stripe._deletable_api_resourcer   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   stripe._updateable_api_resourcer	   stripe._utilr
   r   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   r   r&   r'   r(   <module>r      sX    B ? * = 2 . A : A A E Ea.*%$
#*%	a.r'   