o
    Thn                     @   s4  U d dl Z d dlmZ d dlmZmZ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 G dd dZ!G dd de!Z"dS )     N)Enum)AnyCallableDictListOptionalSequenceUnion)Example)	FieldInfo)	Annotated
deprecated   )PYDANTIC_V2PYDANTIC_VERSION	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   N/home/air/segue/gpt/backup/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          "   	      sN  |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||||||| 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2.7.0r   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   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   rV      s   /	

zParam.__init__returnc                 C      | j j d| j dS N()r\   r   r;   rW   r   r   r   __repr__      zParam.__repr__)r   r   r   r   __annotations__r   r   r   r	   r   r   strintfloatr   r   boolr   r   r
   rV   rd   __classcell__r   r   r[   r   r      s   
 









 
!")*+,-kr   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   rU   rV   rW   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   rV      s|   /	

zPath.__init__).)r   r   r   r   r   r   r   r   r	   r   r   rg   rh   ri   r   r   rj   r   r   r
   rV   rk   r   r   r[   r   rl          









 
!")*+,-rl   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   rU   rV   rm   r[   r   r   rV      x   /	

zQuery.__init__)r   r   r   r   r   r   r   r   r   r	   r   r   rg   rh   ri   r   r   rj   r   r   r
   rV   rk   r   r   r[   r   rp      rn   rp   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%   rv   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 rr   )rv   rU   rV   ) rW   r;   r    r!   r"   r#   r$   r%   rv   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   rV   4  sz   0	

zHeader.__init__)r   r   r   r   r   r   r   r   r   r	   r   r   rg   rh   rj   ri   r   r   r   r   r
   rV   rk   r   r   r[   r   ru   1  s    








 
!
"#*+,-.ru   c                ?       ro   )&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                   rq   rr   rs   rm   r[   r   r   rV     rt   zCookie.__init__)r   r   r   r   r   r   r   r   r   r	   r   r   rg   rh   ri   r   r   rj   r   r   r
   rV   rk   r   r   r[   r   rw     rn   rw   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!   ry   rz   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          $   	      sZ  || _ || _|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|!||||	||"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   rF   r.   r/   c                 S   rG   r   rH   rI   r   r   r   rM   H  rN   z!Body.__init__.<locals>.<dictcomp>r   )ry   rz   r   rO   rP   rQ   r7   r9   r8   rR   r   r   r   rS   rT   rU   rV   )$rW   r;   r    r!   ry   rz   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>   rX   rY   rZ   r[   r   r   rV     s   1	

zBody.__init__r]   c                 C   r^   r_   rb   rc   r   r   r   rd   L  re   zBody.__repr__)r   r   r   r   r   r   r	   r   r   rj   rg   rh   ri   r   r   r   r   r
   rV   rd   rk   r   r   r[   r   rx     s    

	





 
!
"
#$+,-./prx   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!   rz   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!   rz   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!   rz   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   rs    rW   r;   r    r!   rz   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   rV   Q  |   0	

zForm.__init__r   r   r   r   r   r   r	   r   r   rg   rh   ri   r   r   rj   r   r   r
   rV   rk   r   r   r[   r   r|   P      







 
!
"#*+,-.r|   c                A       r{   )(FileNzmultipart/form-dataTr}   r;   r    r!   rz   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   rs   r   r[   r   r   rV     r   zFile.__init__r   r   r   r[   r   r     r   r   c                   @   sB   e Zd Z	ddddeedef  defddZd	efd
dZ	dS )DependsNT)	use_cache
dependency.r   c                C   s   || _ || _d S Nr   r   )rW   r   r   r   r   r   rV     s   
zDepends.__init__r]   c                 C   s<   t | jdt| jj}| jrdnd}| jj d| | dS )Nr    z, use_cache=Falser`   ra   )getattrr   typer   r   r\   )rW   attrcacher   r   r   rd     s   zDepends.__repr__r   )
r   r   r   r   r   r   rj   rV   rg   rd   r   r   r   r   r     s    
r   c                       sJ   e Zd Z	d
ddddeedef  deee  def fdd	Z	  Z
S )SecurityNT)scopesr   r   .r   r   c                   s   t  j||d |pg | _d S )Nr   )rU   rV   r   )rW   r   r   r   r[   r   r   rV     s   zSecurity.__init__r   )r   r   r   r   r   r   r   rg   rj   rV   rk   r   r   r[   r   r     s    
r   )#rO   enumr   typingr   r   r   r   r   r   r	   fastapi.openapi.modelsr
   pydantic.fieldsr   typing_extensionsr   r   _compatr   r   r   r   rf   r   r   rl   rp   ru   rw   rx   r|   r   r   r   r   r   r   r   <module>   s&   
 $rVTVTuTT