
    +h,              	           d dl mZmZmZ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mZmZmZmZ d dlmZmZmZmZmZ d dlmZ  G d	 d
ed
   ed
   ed
   ed
         Zy)    )CreateableAPIResourceDeletableAPIResourceListableAPIResourceUpdateableAPIResource)
ListObject)RequestOptions)StripeObject)class_method_variant)ClassVarDictListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)
quote_plusc                      e Zd ZU dZdZeed      ed<    G d de      Z	e
rM 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	 	 	 	 d3dee   dee   d ee   d!e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	 	 	 d4dee   d ee   d!ee   d"ed-   d$e d    f
d.       Z!eded"ed/   d$d fd0       Z"eded"ed1   d$d fd2       Z#de	iZ$y)5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/html/venv/lib/python3.12/site-packages/stripe/api_resources/terminal/location.pyAddressr   &   sf    sm	 #	 }	 }	 c]"	 }	r(   r*   c                   Z    e Zd ZU ded<   	 ed   ed<   	 eed<   	 ed   ed<   	 ed   ed	<   y
)Location.CreateParamsLocation.CreateParamsAddressaddressr%   configuration_overridesdisplay_name	List[str]expandLiteral['']|Dict[str, str]metadataN)r"   r#   r$   r&   r   r%   r'   r(   r)   CreateParamsr,   B   sQ    33 &1%77   ,, "">??r(   r5   c                   r    e Zd ZU ed   ed<   	 eed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)	r-   r%   r   r   r   r   r    r!   N)r"   r#   r$   r   r&   r%   r'   r(   r)   CreateParamsAddresszLocation.CreateParamsAddressX   sf    e$$ L u%% u%% %U++ u%%r(   r7   c                       e Zd Zy)Location.DeleteParamsN)r"   r#   r$   r'   r(   r)   DeleteParamsr9   r   s    r(   r:   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)	Location.ListParamsr%   ending_beforer1   r2   intlimitstarting_afterNr"   r#   r$   r   r&   r'   r(   r)   
ListParamsr<   u   sH    &u--  ,, u%% (..r(   rB   c                   f    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed	   ed
<   y)Location.ModifyParamsLocation.ModifyParamsAddressr.   zLiteral['']|strr/   r%   r0   r1   r2   r3   r4   NrA   r'   r(   r)   ModifyParamsrD      s]     !?@@ &11B%CC &e,,  ,, "">??r(   rF   c                   x    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)	rE   r%   r   r   r   r   r    r!   NrA   r'   r(   r)   ModifyParamsAddresszLocation.ModifyParamsAddress   sl    e$$ !'' u%% u%% %U++ u%%r(   rH   c                       e Zd ZU ed   ed<   y)Location.RetrieveParamsr1   r2   NrA   r'   r(   r)   RetrieveParamsrJ      s    ,,r(   rK   r.   r/   r0   idlivemoder4   objectTdeletedNapi_keyidempotency_keystripe_versionstripe_accountparamsr,   returnc                 `    t        d| j                  d| j                         |||||            S )z
        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)r   _static_request	class_url)clsrP   rQ   rR   rS   rT   s         r)   createzLocation.create   s=     
 	
r(   sidr9   c                 z    | j                         dt        |      }t        d| j                  d||            S ),
        Deletes a Location object.
        /r   deleterT   rY   r   r   rX   )rZ   r\   rT   urls       r)   _cls_deletezLocation._cls_delete   s=     *S/:#f=
 	
r(   c                      yr^   Nr'   )r\   rT   s     r)   r`   zLocation.delete  s     	r(   c                      yrf   r'   selfrT   s     r)   r`   zLocation.delete  s    
 	r(   rd   c                 F    | j                  d| j                         |      S )r^   r`   ra   )_request_and_refreshinstance_urlrh   s     r)   r`   zLocation.delete  s.     (( ) 
 	
r(   r<   c                     | j                  d| j                         ||||      }t        |t              s!t	        dt        |      j                  z        |S )z5
        Returns a list of Location objects.
        get)rP   rR   rS   rT   z%Expected list object from API, got %s)rX   rY   
isinstancer   	TypeErrortyper"   )rZ   rP   rR   rS   rT   results         r)   listzLocation.list   sf     $$MMO)) % 
 &*-7<((* 
 r(   rD   c                 z    | j                         dt        |      }t        d| j                  d||            S )z
        Updates a Location object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
        r_   r   rW   ra   rb   )rZ   rL   rT   rc   s       r)   modifyzLocation.modify<  s=     *R.9F;
 	
r(   rJ   c                 8     | |fi |}|j                          |S )z.
        Retrieves a Location object.
        )refresh)rZ   rL   rT   instances       r)   retrievezLocation.retrieveI  s$     r$V$r(   )NNNN)NNN)%r"   r#   r$   __doc__r   r   r   r&   r	   r*   r   r   r5   r   r7   r:   rB   rF   rH   rK   r   r%   boolr   classmethodr   r[   rd   r   staticmethodr`   r
   r   rs   ru   ry   _inner_class_typesr'   r(   r)   r   r      s
    ;NK'"567M, 4 	> 	,	) 	4	> 		 	$	> 	,	) 	4	^ 	 %c]*  	G N 38n '(( gdm$$  "&)-(,(,
#
 "#
 !	

 !
 01
 

 
2 



!'(?!@

	

 

 "#:;	   v&=> :   -(

67

	

 )

  "&(,(,	# ! !	
 ./ 
J	 6 



 &'> ?

	

 

  &'@ A	  $W-r(   r   N)stripe.api_resources.abstractr   r   r   r    stripe.api_resources.list_objectr   stripe.request_optionsr   stripe.stripe_objectr	   stripe.utilr
   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   r   urllib.parser   r   r'   r(   r)   <module>r      s^     8 1 - , A A  $|.*%$
#*%	|.r(   