o
    LDio                     @   sX  U d dl 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 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 eZe	ed< 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ddG d d! d!Z#eddG d"d# d#e#Z$dS )$    N)Sequence)	dataclass)Enum)	AnnotatedAnyCallableOptionalUnion)Example)	FieldInfo)Literal
deprecated   )PYDANTIC_V2PYDANTIC_VERSION_MINOR_TUPLE	Undefined_Unsetc                   @   s   e Zd ZdZdZdZdZdS )
ParamTypesqueryheaderpathcookieN)__name__
__module____qualname__r   r   r   r    r   r   Z/var/www/www-root/data/www/77.83.87.30/venv/lib/python3.10/site-packages/fastapi/params.pyr      s
    r   c                ?       s  e Zd ZU eed< efeddedddddddddddddeeeeededdddddedee	g ef df de
e de
e d	eedf d
eedf deedf de
e de
e de
e de
e de
e de
e de
e de
e de
e dee
e edf deedf deedf deedf deedf deedf deedf de
ee  dee
e edf d e
eeef  d!eeeedf d"ed#eeeef df d$ef< fd%d&Zd'efd(d)Z  ZS )*Paramin_NTdefault_factory
annotationaliasalias_priorityvalidation_aliasserialization_aliastitledescriptiongtgeltle
min_length
max_lengthpatternregexdiscriminatorstrictmultiple_ofallow_inf_nan
max_digitsdecimal_placesexamplesexampleopenapi_examplesr   include_in_schemajson_schema_extradefaultr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   EDeprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead.r0   r1   r2   r3   r4   r5   r6   r7   nDeprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, although still supported. Use examples instead.r8   r   r9   r:   extrac          "   	      sx  |t urtjdtdd || _|| _|| _tdi d|d|d|d|d|	d	|
d
|d|d|d|d|d|d|d|d|d||}|d urT||d< |d ur`tjdtdd |pc|} tdk rl|| _	n||d< t
r|t d fv rt|tr|}|t d fv r|}||||||| d |p||d< n|p||d< |jdi |  dd | D }!t jdi |! d S )N<`example` has been deprecated, please use `examples` instead   category
stacklevelr;   r    r"   r&   r'   r(   r)   r*   r+   r,   r-   r0   r2   r3   r4   r5   r6   9`regex` has been deprecated, please use `pattern` instead      r   r!   r#   r$   r%   r1   r:   r.   r/   c                 S      i | ]\}}|t ur||qS r   r   .0kvr   r   r   
<dictcomp>       z"Param.__init__.<locals>.<dictcomp>r   )r   warningswarnDeprecationWarningr7   r9   r8   dictr   r   r   
isinstancestrupdateitemssuper__init__)"selfr;   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r   r9   r:   r>   kwargscurrent_json_schema_extra
use_kwargs	__class__r   r   rZ      s   /	

zParam.__init__returnc                 C      | j j d| j dS N()r`   r   r;   r[   r   r   r   __repr__      zParam.__repr__)r   r   r   r   __annotations__r   r   r   r	   r   r   rV   intfloatr   r   boollistrT   r
   rZ   rh   __classcell__r   r   r_   r   r      s   
 









 
!")*+,-or   c                ?       s  e Zd ZejZ	d'eddedddddddddddddeeeeededdddddedee	g ef df de
e de
e d	eedf d
eedf deedf de
e de
e de
e de
e de
e de
e de
e de
e de
e dee
e edf deedf deedf deedf deedf deedf deedf de
ee  dee
e edf d e
eeef  d!eeeedf d"ed#eeeef df d$ef< fd%d&Z  ZS )(Path.NTr   r;   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r<   r0   r1   r2   r3   r4   r5   r6   r7   r=   r8   r   r9   r:   r>   c                   s   |du sJ d| j | _ t jd i d|d|d|d|d|d|d	|d
|d|	d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| d S )!N.z+Path parameters cannot have a default valuer;   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r   r7   r6   r8   r9   r:   r   )r   rY   rZ   r[   r;   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r   r9   r:   r>   r_   r   r   rZ      s|   /	

zPath.__init__).)r   r   r   r   r   r   r   r   r	   r   r   rV   rk   rl   r   r   rm   rn   rT   r
   rZ   ro   r   r   r_   r   rp          









 
!")*+,-rp   c                ?         e Zd ZejZefeddedddddddddddddeeeeededdddddede	e
g ef df dee dee de	edf d	e	edf d
e	edf dee dee dee dee dee dee dee dee dee deee edf de	edf de	edf de	edf de	edf de	edf de	edf deee  deee edf deeeef  d e	eeedf d!ed"e	eeef df d#ef< fd$d%Z  ZS )&QueryNTr   r;   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r<   r0   r1   r2   r3   r4   r5   r6   r7   r=   r8   r   r9   r:   r>   c                      t  jdi d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| d S Nr;   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r   r7   r6   r8   r9   r:   r   rY   rZ   rq   r_   r   r   rZ      x   /	

zQuery.__init__)r   r   r   r   r   r   r   r   r   r	   r   r   rV   rk   rl   r   r   rm   rn   rT   r
   rZ   ro   r   r   r_   r   rt      rr   rt   c                A       s  e Zd ZejZefeddeddddddddddddddeeeeededdddddede	e
g ef df dee dee de	edf d	e	edf d
e	edf dedee dee dee dee dee dee dee dee dee deee edf de	edf de	edf de	edf de	edf de	edf de	edf deee  deee edf d eeeef  d!e	eeedf d"ed#e	eeef df d$ef> fd%d&Z  ZS )'HeaderNT)r    r!   r"   r#   r$   r%   convert_underscoresr&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r   r9   r:   r;   r    r!   r"   r#   r$   r%   rz   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r<   r0   r1   r2   r3   r4   r5   r6   r7   r=   r8   r   r9   r:   r>   c                    s   || _ t jdi d|d|d|d|d|d|d|d|	d	|
d
|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| d S rv   )rz   rY   rZ   ) r[   r;   r    r!   r"   r#   r$   r%   rz   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r   r9   r:   r>   r_   r   r   rZ   >  sz   0	

zHeader.__init__)r   r   r   r   r   r   r   r   r   r	   r   r   rV   rk   rm   rl   r   r   rn   rT   r
   rZ   ro   r   r   r_   r   ry   ;  s    








 
!
"#*+,-.ry   c                ?       rs   )&CookieNTr   r;   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r<   r0   r1   r2   r3   r4   r5   r6   r7   r=   r8   r   r9   r:   r>   c                   ru   rv   rw   rq   r_   r   r   rZ     rx   zCookie.__init__)r   r   r   r   r   r   r   r   r   r	   r   r   rV   rk   rl   r   r   rm   rn   rT   r
   rZ   ro   r   r   r_   r   r{     rr   r{   c                C       s  e Zd Zefeddddedddddddddddddeeeeededdddddedeeg ef df dee dee	df d	e
d
ee
 deedf dee
df dee
df dee
 dee
 dee dee dee dee dee dee dee
 deee
 edf dee
df dee	df deedf dee	df deedf deedf deee  d eee ed!f d"eee
ef  d#eee
e	df d$e	d%eee
ef df d&ef@ fd'd(Zd)e
fd*d+Z  ZS ),BodyNzapplication/jsonT)r    r!   embed
media_typer"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r   r9   r:   r;   r    r!   r}   r~   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r<   r0   r1   r2   r3   r4   r5   r6   r7   r=   r8   r   r9   r:   r>   c          $   	      s  || _ || _|turtjdtdd || _|| _|| _t	di d|d|d|d|
d|d	|d
|d|d|d|d|d|d|d|d|d|| }!|d urZ||!d< |d urftjdtdd |pi| }"t
dk rr|| _n||!d< tr|	td fv rt|tr|}	|td fv r|}|!||||	||"d |p||!d< n|p||!d< |!jdi |" dd |! D }#t jdi |# d S )Nr?   r@   rA   r;   r    r"   r&   r'   r(   r)   r*   r+   r,   r-   r0   r2   r3   r4   r5   r6   rD   rE   r   rH   r.   r/   c                 S   rI   r   rJ   rK   r   r   r   rO   V  rP   z!Body.__init__.<locals>.<dictcomp>r   )r}   r~   r   rQ   rR   rS   r7   r9   r8   rT   r   r   r   rU   rV   rW   rX   rY   rZ   )$r[   r;   r    r!   r}   r~   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r   r9   r:   r>   r\   r]   r^   r_   r   r   rZ     s   1	

zBody.__init__ra   c                 C   rb   rc   rf   rg   r   r   r   rh   Z  ri   zBody.__repr__)r   r   r   r   r   r   r	   r   r   rm   rV   rk   rl   r   r   rn   rT   r
   rZ   rh   ro   r   r   r_   r   r|     s    

	





 
!
"
#$+,-./tr|   c                A         e Zd Zefedddedddddddddddddeeeeededdddddedeeg ef df dee de	d	ee	 d
ee
df dee	df dee	df dee	 dee	 dee dee dee dee dee
 dee
 dee	 deee	 edf dee	df deedf deedf deedf dee
df dee
df deee  deee ed f d!eee	ef  d"eee	edf d#ed$eee	ef df d%ef> fd&d'Z  ZS )(FormNz!application/x-www-form-urlencodedTr    r!   r~   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r   r9   r:   r;   r    r!   r~   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r<   r0   r1   r2   r3   r4   r5   r6   r7   r=   r8   r   r9   r:   r>   c                       t  jdi d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|| d S  Nr;   r    r!   r~   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r   r7   r6   r8   r9   r:   r   rw    r[   r;   r    r!   r~   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r   r9   r:   r>   r_   r   r   rZ   _  |   0	

zForm.__init__r   r   r   r   r   r   r	   r   r   rV   rk   rl   r   r   rm   rn   rT   r
   rZ   ro   r   r   r_   r   r   ^      







 
!
"#*+,-.r   c                A       r   )(FileNzmultipart/form-dataTr   r;   r    r!   r~   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r<   r0   r1   r2   r3   r4   r5   r6   r7   r=   r8   r   r9   r:   r>   c                    r   r   rw   r   r_   r   r   rZ     r   zFile.__init__r   r   r   r_   r   r     r   r   T)frozenc                   @   sJ   e Zd ZU dZeedef  ed< dZe	ed< dZ
eed df ed< dS )DependsN.
dependencyT	use_cache)functionrequestscope)r   r   r   r   r   r   r   rj   r   rm   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S )SecurityNscopes)r   r   r   r   r   r   rV   rj   r   r   r   r   r     s   
 r   )%rQ   collections.abcr   dataclassesr   enumr   typingr   r   r   r   r	   fastapi.openapi.modelsr
   pydantic.fieldsr   typing_extensionsr   r   _compatr   r   r   r   rj   r   r   rp   rt   ry   r{   r|   r   r   r   r   r   r   r   r   <module>   s.   
 vVTVTyTT