a
    `g%<                     @   s  d dl mZ d dlmZmZmZ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mZ d dlmZ d dlmZmZmZ d dlmZmZmZ d dlmZ z d dlZesJ d d	lm Z  W n" e!y   G d
d de"Z Y n0 G dd deZ#G dd de#Z$G dd de#Z%G dd de#Z&G dd de#Z'G dd de#Z(G dd deZ)G dd deZ*G dd de#Z+G dd de#Z,G d d! d!e#Z-ee-e.f Z/G d"d# d#ed$d%Z0G d&d' d'eZ1G d(d) d)e#Z2G d*d+ d+e#Z3G d,d- d-e#Z4G d.d/ d/e4Z5G d0d1 d1e4Z6G d2d3 d3e#Z7G d4d5 d5e#Z8G d6d7 d7e#Z9G d8d9 d9e#Z:G d:d; d;e#Z;G d<d= d=eZ<G d>d? d?e#Z=G d@dA dAeZ>G dBdC dCe=Z?G dDdE dEe=Z@G dFdG dGe@ZAG dHdI dIe#ZBG dJdK dKeBZCG dLdM dMeBZDG dNdO dOeBZEG dPdQ dQeBZFG dRdS dSe#ZGG dTdU dUe=ZHG dVdW dWe=ZIee?e@eHeIeAf ZJG dXdY dYe#ZKG dZd[ d[e#ZLG d\d] d]e#ZMee- ee: ee2 dS )^    )Enum)	AnyCallableDictIterableListOptionalSetTypeUnion)PYDANTIC_V2
CoreSchemaGetJsonSchemaHandlerJsonSchemaValue_model_rebuild"with_info_plain_validator_function)logger)AnyUrl	BaseModelField)	AnnotatedLiteral	TypedDict)
deprecatedN)EmailStrc                   @   s   e Zd Zeeedef  dddZeeedddZ	eeeedd	d
Z
eeeedddZeee eegef edddZdS )r   .)returnc                 c   s   | j V  d S N)validate)cls r   d/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/fastapi/openapi/models.py__get_validators__   s    zEmailStr.__get_validators__)vr   c                 C   s   t d t|S Nzpemail-validator not installed, email fields will be treated as str.
To install, run: pip install email-validatorr   warningstr)r   r"   r   r   r    r      s    zEmailStr.validate)_EmailStr__input_value_r   c                 C   s   t d t|S r#   r$   )r   r'   r(   r   r   r    	_validate%   s    zEmailStr._validate)core_schemahandlerr   c                 C   s
   dddS )Nstringemail)typeformatr   )r   r*   r+   r   r   r    __get_pydantic_json_schema__-   s    z%EmailStr.__get_pydantic_json_schema__)sourcer+   r   c                 C   s
   t | jS r   )r   r)   )r   r1   r+   r   r   r    __get_pydantic_core_schema__3   s    z%EmailStr.__get_pydantic_core_schema__N)__name__
__module____qualname__classmethodr   r   r   r!   r&   r   r)   r   r   r   r0   r
   r2   r   r   r   r    r      s   r   c                   @   s(   e Zd ZerddiZnG dd dZdS )BaseModelWithConfigextraallowc                   @   s   e Zd ZdZdS )zBaseModelWithConfig.Configr9   Nr3   r4   r5   r8   r   r   r   r    Config@   s   r;   N)r3   r4   r5   r   Zmodel_configr;   r   r   r   r    r7   :   s   
r7   c                   @   s>   e Zd ZU dZee ed< dZee ed< dZ	ee
 ed< dS )ContactNnameurlr-   )r3   r4   r5   r=   r   r&   __annotations__r>   r   r-   r   r   r   r   r    r<   D   s   
r<   c                   @   s6   e Zd ZU eed< dZee ed< dZee ed< dS )Licenser=   N
identifierr>   )	r3   r4   r5   r&   r?   rA   r   r>   r   r   r   r   r    r@   J   s   
r@   c                   @   sn   e Zd ZU eed< dZee ed< dZee ed< dZee ed< dZ	ee
 ed< dZee ed< eed< dS )	InfotitleNsummarydescriptiontermsOfServicecontactlicenseversion)r3   r4   r5   r&   r?   rD   r   rE   rF   rG   r<   rH   r@   r   r   r   r    rB   P   s   
rB   c                   @   sH   e Zd ZU dZeeee  eddf e	d< ee	d< dZ
ee e	d< dS )ServerVariableN   )Z
min_lengthenumdefaultrE   )r3   r4   r5   rL   r   r   r   r&   r   r?   rE   r   r   r   r    rJ   Z   s   
"rJ   c                   @   sF   e Zd ZU eeef ed< dZee ed< dZ	ee
eef  ed< dS )Serverr>   NrE   	variables)r3   r4   r5   r   r   r&   r?   rE   r   rO   r   rJ   r   r   r   r    rN   `   s   
rN   c                   @   s    e Zd ZU eddZeed< dS )	Reference$refaliasrefN)r3   r4   r5   r   rT   r&   r?   r   r   r   r    rP   f   s   
rP   c                   @   s.   e Zd ZU eed< dZeeeef  ed< dS )DiscriminatorZpropertyNameNmapping)r3   r4   r5   r&   r?   rV   r   r   r   r   r   r    rU   j   s   
rU   c                   @   s^   e Zd ZU dZee ed< dZee ed< dZee ed< dZ	ee
 ed< dZee
 ed< dS )XMLNr=   	namespaceprefix	attributewrapped)r3   r4   r5   r=   r   r&   r?   rX   rY   rZ   boolr[   r   r   r   r    rW   o   s
   
rW   c                   @   s&   e Zd ZU dZee ed< eed< dS )ExternalDocumentationNrE   r>   )r3   r4   r5   rE   r   r&   r?   r   r   r   r   r    r]   w   s   
r]   c                   @   s  e Zd ZU edddZee ed< edddZee ed< edddZ	ee ed< edd	dZ
ee ed
< edddZee ed< edddZee ed< edddZee ed< edddZeeedf  ed< edddZee ed< dZeed  ed< dZeed  ed< dZeed  ed< edddZed ed< edddZed ed< dZed ed< edddZed ed< dZeeedf  ed < dZeed  ed!< dZeeded f  ed"< dZed ed#< dZeeedf  ed$< dZeeedf  ed%< dZ ed ed&< dZ!ed ed'< dZ"ed ed(< dZ#ed ed)< dZ$ee ed*< dZ%eee&  ed+< dZ'ee& ed,< edd-d.Z(ee) ed/< dZ*ee) ed0< dZ+ee) ed1< dZ,ee) ed2< dZ-ee) ed3< edd-d4Z.ee/ ed5< edd-d4Z0ee/ ed6< dZ1ee ed7< edd-d4Z2ee/ ed8< edd-d4Z3ee/ ed9< dZ4ee5 ed:< edd-d4Z6ee/ ed;< edd-d4Z7ee/ ed<< edd-d4Z8ee/ ed=< edd-d4Z9ee/ ed>< dZ:eee  ed?< dZ;eeee<e f  ed@< dZ=ee edA< dZ>ee edB< dZ?ee edC< dZ@ed edD< dZAee edE< dZBee edF< dZCee& edG< dZDee5 edH< dZEee5 edI< dZFee5 edJ< dZGeee&  edK< dZHeeI edL< dZJeeK edM< dZLeeM edN< dZNeOee& ePdOf edP< dS )QSchemaNz$schemarM   rS   schema_z$vocabulary
vocabularyz$ididz$anchoranchorz$dynamicAnchordynamicAnchorrQ   rT   z$dynamicRef
dynamicRefz$defsSchemaOrBooldefsz$commentcommentallOfanyOfoneOfnotnot_ifif_thenelseelse_dependentSchemasprefixItemsitemscontains
propertiespatternPropertiesadditionalPropertiespropertyNamesunevaluatedItemsunevaluatedPropertiesr.   rL   constr   )rM   gt
multipleOfmaximumexclusiveMaximumminimumexclusiveMinimum)rM   ge	maxLength	minLengthpatternmaxItemsminItemsuniqueItemsmaxContainsminContainsmaxPropertiesminPropertiesrequireddependentRequiredr/   contentEncodingcontentMediaTypecontentSchemarC   rE   rM   r   readOnly	writeOnlyexamplesdiscriminatorxmlexternalDocsznDeprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, although still supported. Use examples instead.example)Qr3   r4   r5   r   r`   r   r&   r?   ra   rb   rc   rd   rT   re   rg   r   rh   ri   r   rj   rk   rm   ro   rp   rr   rs   rt   ru   r   rv   rw   rx   ry   rz   r{   r|   r.   rL   r   r}   r   floatr   r   r   r   r   intr   r   r   r   r   r\   r   r   r   r   r   r   r	   r/   r   r   r   rC   rE   rM   r   r   r   r   r   rU   r   rW   r   r]   r   r   typing_deprecatedr   r   r   r    r^   |   s   
 r^   c                   @   sZ   e Zd ZU ee ed< ee ed< ee ed< ee ed< erHddiZ	nG dd dZ
d	S )
ExamplerD   rE   valueZexternalValuer8   r9   c                   @   s   e Zd ZdZdS )zExample.Configr9   Nr:   r   r   r   r    r;      s   r;   N)r3   r4   r5   r   r&   r?   r   r   r   Z__pydantic_config__r;   r   r   r   r    r      s   

r   F)totalc                   @   s   e Zd ZdZdZdZdZdS )ParameterInTypequeryheaderpathcookieN)r3   r4   r5   r   r   r   r   r   r   r   r    r      s   r   c                   @   sn   e Zd ZU dZee ed< dZeeee	de
f f  ed< dZee ed< dZee ed< dZee ed< dS )EncodingNcontentTypeHeaderheadersstyleexplodeallowReserved)r3   r4   r5   r   r   r&   r?   r   r   r   rP   r   r   r\   r   r   r   r   r    r      s
   
 r   c                   @   sv   e Zd ZU edddZeeeef  e	d< dZ
ee e	d< dZeeeeeef f  e	d< dZeeeef  e	d< dS )	MediaTypeNschemar_   r`   r   r   encoding)r3   r4   r5   r   r`   r   r   r^   rP   r?   r   r   r   r   r&   r   r   r   r   r   r   r    r      s   
  r   c                   @   s   e Zd ZU dZee ed< dZee ed< dZ	ee ed< dZ
ee ed< dZee ed< dZee ed< eddd	Zeeeef  ed
< dZee ed< dZeeeeeef f  ed< dZeeeef  ed< dS )ParameterBaseNrE   r   r   r   r   r   r   r_   r`   r   r   content)r3   r4   r5   rE   r   r&   r?   r   r\   r   r   r   r   r   r`   r   r^   rP   r   r   r   r   r   r   r   r   r   r   r    r      s   
  r   c                   @   s(   e Zd ZU eed< eddZeed< dS )	Parameterr=   inrR   in_N)r3   r4   r5   r&   r?   r   r   r   r   r   r   r    r     s   
r   c                   @   s   e Zd ZdS )r   N)r3   r4   r5   r   r   r   r    r     s   r   c                   @   s>   e Zd ZU dZee ed< eeef ed< dZ	ee
 ed< dS )RequestBodyNrE   r   r   )r3   r4   r5   rE   r   r&   r?   r   r   r   r\   r   r   r   r    r     s   
r   c                   @   s   e Zd ZU dZee ed< dZee ed< dZee	ee
eef f  ed< dZee
eef  ed< dZee ed< dZee ed< dS )LinkNoperationRefoperationId
parametersrequestBodyrE   server)r3   r4   r5   r   r   r&   r?   r   r   r   r   r   r   rE   r   rN   r   r   r   r    r     s   
 r   c                   @   sn   e Zd ZU eed< dZeeeee	e
f f  ed< dZeeeef  ed< dZeeeeee
f f  ed< dS )ResponserE   Nr   r   links)r3   r4   r5   r&   r?   r   r   r   r   r   rP   r   r   r   r   r   r   r   r    r   $  s   
 r   c                   @   s"  e Zd ZU dZeee  ed< dZee ed< dZ	ee ed< dZ
ee ed< dZee ed< dZeeeeef   ed< dZeeeef  ed< dZeeeeeef f  ed	< dZeeeeeed
f ef f  ed< dZee ed< dZeeeeee f   ed< dZeee  ed< dS )	OperationNtagsrD   rE   r   r   r   r   	responsesPathItem	callbacksr   securityservers)r3   r4   r5   r   r   r   r&   r?   rD   rE   r   r]   r   r   r   r   rP   r   r   r   r   r   r   r   r   r\   r   r   rN   r   r   r   r    r   +  s   
 ( r   c                   @   s   e Zd ZU edddZee ed< dZee ed< dZ	ee ed< dZ
ee ed< dZee ed< dZee ed	< dZee ed
< dZee ed< dZee ed< dZee ed< dZee ed< dZeee  ed< dZeeeeef   ed< dS )r   NrQ   r_   rT   rD   rE   getputpostdeleteoptionsheadpatchtracer   r   )r3   r4   r5   r   rT   r   r&   r?   rD   rE   r   r   r   r   r   r   r   r   r   r   r   rN   r   r   r   rP   r   r   r   r    r   ;  s   
r   c                   @   s   e Zd ZdZdZdZdZdS )SecuritySchemeTypeapiKeyhttpoauth2openIdConnectN)r3   r4   r5   r   r   r   r   r   r   r   r    r   K  s   r   c                   @   s0   e Zd ZU eddZeed< dZee	 ed< dS )SecurityBaser.   rR   type_NrE   )
r3   r4   r5   r   r   r   r?   rE   r   r&   r   r   r   r    r   R  s   
r   c                   @   s   e Zd ZdZdZdZdS )APIKeyInr   r   r   N)r3   r4   r5   r   r   r   r   r   r   r    r   W  s   r   c                   @   s>   e Zd ZU eejddZeed< eddZe	ed< e
ed< dS )	APIKeyr.   r_   r   r   rR   r   r=   N)r3   r4   r5   r   r   r   r   r?   r   r   r&   r   r   r   r    r   ]  s   
r   c                   @   s,   e Zd ZU eejddZeed< eed< dS )HTTPBaser.   r_   r   schemeN)	r3   r4   r5   r   r   r   r   r?   r&   r   r   r   r    r   c  s   
r   c                   @   s.   e Zd ZU dZed ed< dZee ed< dS )
HTTPBearerZbearerr   NbearerFormat)	r3   r4   r5   r   r   r?   r   r   r&   r   r   r   r    r   h  s   
r   c                   @   s2   e Zd ZU dZee ed< i Zeeef ed< dS )	OAuthFlowN
refreshUrlscopes)	r3   r4   r5   r   r   r&   r?   r   r   r   r   r   r    r   m  s   
r   c                   @   s   e Zd ZU eed< dS )OAuthFlowImplicitauthorizationUrlNr3   r4   r5   r&   r?   r   r   r   r    r   r  s   
r   c                   @   s   e Zd ZU eed< dS )OAuthFlowPasswordtokenUrlNr   r   r   r   r    r   v  s   
r   c                   @   s   e Zd ZU eed< dS )OAuthFlowClientCredentialsr   Nr   r   r   r   r    r   z  s   
r   c                   @   s   e Zd ZU eed< eed< dS )OAuthFlowAuthorizationCoder   r   Nr   r   r   r   r    r   ~  s   
r   c                   @   sN   e Zd ZU dZee ed< dZee ed< dZ	ee
 ed< dZee ed< dS )
OAuthFlowsNimplicitpasswordclientCredentialsauthorizationCode)r3   r4   r5   r   r   r   r?   r   r   r   r   r   r   r   r   r   r    r     s   
r   c                   @   s,   e Zd ZU eejddZeed< eed< dS )OAuth2r.   r_   r   ZflowsN)	r3   r4   r5   r   r   r   r   r?   r   r   r   r   r    r     s   
r   c                   @   s,   e Zd ZU eejddZeed< eed< dS )OpenIdConnectr.   r_   r   ZopenIdConnectUrlN)	r3   r4   r5   r   r   r   r   r?   r&   r   r   r   r    r     s   
r   c                   @   sX  e Zd ZU dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d< dZeeeeee	f f  e
d	< dZeeeeeeef e	ef f  e
d
< dZeeeeee	f f  e
d< dS )
ComponentsNschemasr   r   r   requestBodiesr   securitySchemesr   r   	pathItems)r3   r4   r5   r   r   r   r&   r   r^   rP   r?   r   r   r   r   r   r   r   r   r   r   r   SecuritySchemer   r   r   r   r   r   r   r   r   r    r     s   
        *r   c                   @   s6   e Zd ZU eed< dZee ed< dZee ed< dS )Tagr=   NrE   r   )	r3   r4   r5   r&   r?   rE   r   r   r]   r   r   r   r    r     s   
r   c                   @   s   e Zd ZU eed< eed< dZee ed< dZee	e
  ed< dZeeeeeef f  ed< dZeeeeeef f  ed< dZee ed< dZee	eee	e f   ed	< dZee	e  ed
< dZee ed< dS )OpenAPIZopenapiinfoNjsonSchemaDialectr   pathswebhooks
componentsr   r   r   )r3   r4   r5   r&   r?   rB   r   r   r   r   rN   r   r   r   r   r   r   rP   r   r   r   r   r   r   r]   r   r   r   r    r     s   
   r   )NrL   r   typingr   r   r   r   r   r   r	   r
   r   Zfastapi._compatr   r   r   r   r   r   Zfastapi.loggerr   Zpydanticr   r   r   Ztyping_extensionsr   r   r   r   r   Zemail_validatorr   ImportErrorr&   r7   r<   r@   rB   rJ   rN   rP   rU   rW   r]   r^   r\   rf   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    <module>   sr   , "

Y	