HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib/python3.10/site-packages/fastapi/openapi/__pycache__/utils.cpython-310.pyc
o

�h�]�@s8UddlZddlZddlZddlmZmZmZmZm	Z	m
Z
mZmZm
Z
mZddlmZddlmZmZmZmZmZmZmZmZddlmZddlmZddlmZm Z m!Z!ddl"m#Z#dd	l$m%Z%m&Z&m'Z'dd
l(m)Z)ddl*m+Z+m,Z,ddl-m.Z.dd
l/m0Z0ddl1m2Z2m3Z3m4Z4ddl5m6Z6ddl7m8Z8ddl9m:Z:ddl;m<Z<ddl=m>Z>dddddddiddigid�ddd�ddd�d �gd �d!�Z?d"dd#d$dd%e&did�id&�Z@d'd(d)d*d+d,d-�ZAeeBeBfeCd.<d/ed0eeeBefeeeBefffd1d2�ZDd3d4�d5ed6ed7e0d8eeee>d9fefd:eEd0eeeBeffd;d<�ZFd3d4�d=eed6ed7e0d8eeee>d9fefd:eEd0eeeBeffd>d?�ZGd@ejHdAeBd0eBfdBdC�ZId@ejHdAeBd0eBfdDdE�ZJd@ejHdAeBdFe
eBd0eeBeffdGdH�ZKd3d4�d@ejHdFe
eBd6ed7e0d8eeee>d9fefd:eEd0eeeBefeeBefeeBefffdIdJ�ZLdKe	e:d0eefdLdM�ZMdNddddddddd3dO�
dPeBdQeBdReBdSeeBdTeeBdKe	e:dUee	e:dVeeeeBefdWeeeeBe
eBeffdXeeBdYeeeBe
eBeffdZeeeBe
eBeffd:eEd0eeBeffd[d\�ZNdS)]�N)
�Any�Dict�List�Optional�Sequence�Set�Tuple�Type�Union�cast)�routing)�GenerateJsonSchema�JsonSchemaValue�
ModelField�	Undefined�get_compat_model_name_map�get_definitions�get_schema_from_model_field�lenient_issubclass)�DefaultPlaceholder)�	Dependant)�_get_flat_fields_from_params�get_flat_dependant�get_flat_params)�jsonable_encoder)�METHODS_WITH_BODY�
REF_PREFIX�REF_TEMPLATE)�OpenAPI)�Body�
ParamTypes)�Response)�ModelNameMap)�deep_dict_update�generate_operation_id_for_path�is_body_allowed_for_status_code)�	BaseModel)�JSONResponse)�	BaseRoute)�HTTP_422_UNPROCESSABLE_ENTITY)�Literal�ValidationError�object�Location�array�anyOf�type�string�integer)�titler0�items�Message)r3r0z
Error Type)�loc�msgr0)r3r0�
properties�required�HTTPValidationError�detail�Detail�$ref)r3r0r8�Information�Success�RedirectionzClient ErrorzServer ErrorzDefault Response)�1XX�2XX�3XX�4XX�5XX�DEFAULT�status_code_ranges�flat_dependant�returncCsNi}g}|jD]}t|jjddd�}|jj}|||<|�||ji�q||fS)NT��by_alias�exclude_none)�security_requirementsr�security_scheme�model�scheme_name�append�scopes)rH�security_definitions�operation_security�security_requirement�security_definition�
security_name�rX�H/usr/local/CyberCP/lib/python3.10/site-packages/fastapi/openapi/utils.py� get_openapi_security_definitionsNs
�rZT)�separate_input_output_schemas�	dependant�schema_generator�model_name_map�
field_mapping)�
validation�
serializationr[c	Cs�g}t|dd�}t|j�}t|j�}t|j�}	t|j�}
tj|ftj|ftj	|	ftj
|
fg}d}t|j�dkrI|jd}
t|
j
t�rIt|
jdd�}|D]y\}}|D]r}|j}t|dd�s]qQt|||||d�}|j}t|jd|�}|tj	kr�|j|jkr�|r�|j�dd	�}||j|j|d
�}|jr�|j|d<t|dd�}t|d
d�}|r�t|�|d<n
|tkr�t|�|d
<t|dd�r�d|d<|�|�qQqK|S)NT��skip_repeats�r�convert_underscores�include_in_schema��fieldr]r^r_r[�_�-)�name�inr9�schema�description�openapi_examples�example�examples�
deprecated)rr�path_params�query_params�
header_params�
cookie_paramsr �path�query�header�cookie�lenr�type_r&�getattr�
field_infor�aliasrk�replace�valuer9rnrrrQ)r\r]r^r_r[�
parametersrHrsrtrurv�parameter_groups�default_convert_underscores�first_field�
param_type�param_group�paramr~�param_schemarkre�	parameterrorprXrXrY�!_get_openapi_operation_parameters_sv




�
���
��
�*r��
body_fieldcCs�|sdSt|t�sJ�t|||||d�}tt|j�}|j}|j}i}	|r(||	d<d|i}
|jr7t	|j�|
d<n|j
tkrCt	|j
�|
d<||
i|	d<|	S)Nrgr9rmrqrp�content)�
isinstancerrrrr~�
media_typer9rorrpr)r�r]r^r_r[�body_schemar~�request_media_typer9�request_body_oai�request_media_contentrXrXrY�"get_openapi_operation_request_body�s2
�
�
r��route�methodcCs2tjdtdd�|jr|jS|j}t|j||d�S)Nzqfastapi.openapi.utils.generate_operation_id() was deprecated, it is not used internally, and will be removed soon���
stacklevel)rkrwr�)�warnings�warn�DeprecationWarning�operation_id�path_formatr$rk)r�r�rwrXrXrY�generate_operation_id�s�r�cCs|jr|jS|j�dd���S)Nri� )�summaryrkr�r3�r�r�rXrXrY�generate_operation_summary�sr��
operation_idscCs�i}|jr
|j|d<t||d�|d<|jr|j|d<|jp|j}||vrId|�d�|jj�}t|jdi��d�}|rB|d	|��7}t	j
|d
d�|�|�||d<|jrZ|j|d
<|S)N�tagsr�r�rnzDuplicate Operation ID z for function �__globals__�__file__z at rdr��operationIdrr)
r�r�rnr��	unique_id�endpoint�__name__r}�getr�r��addrr)r�r�r��	operationr��message�	file_namerXrXrY�get_openapi_operation_metadata�s*


��

r�c+
s,i}i}i}|jdusJd��t|jt�r|jj}	n|j}	|	s#Jd��|	j}
|j�r|jD�]�}t|||d��g}t|j	dd�}
t
|
d�\}}|rR��dg��|�|rY|�
|�t|j	||||d�}|�|�|r�d	d
�|D�}dd
�|D�}|�
|�t|����d<|tvr�t|j||||d
�}|r�|�d<|jr�i}|jD]}t|tj�r�t||||||d�\}}}|j|i||j<q�|�d<|jdur�t|j�}nt�|	j�}|j� d�}|dur�t|j!t"�r�t|j!�}|j#��di��|i�d<|
�r.t$|j��r.ddi}t%|	t&��r|j'�rt(|j'||||d�}ni}|��di��|i��di��|
i�d<|j)�r�di�}|j)�*�D]�\}}|�+�} | �,dd�t|��-�}!|!dk�rXd}!|�|!i�}"t| t.��shJd��|j/� |�}#d}$|#�r�t(|#||||d�}$|
�p�d}%| �di��|%i��di�}&t0|&|$�t1� t|��-���p�t2j3j)� t"|��}'| � d��p�|"� d��p�|'�p�d}(t0|"| �|(|"d<�q=tt4�})t5|j	�}*|*�s�|j�rt6�fdd �|)d!dfD���sd"ddd#t7d$iiid%��d|)<d&|v�r|�
t8t9d'��|j:�r
t0�|j:��||�;�<q-|||fS)(NzMethods must be a listz.A response class is needed to generate OpenAPI)r�r�r�Trb)rH�security)r\r]r^r_r[cSsi|]}|d|df|�qS)rlrkrX��.0r�rXrXrY�
<dictcomp>*s�z$get_openapi_path.<locals>.<dictcomp>cSs(i|]}|�d�r|d|df|�qS)r9rlrk)r�r�rXrXrYr�-s��r�)r�r]r^r_r[�requestBody�r�r�r]r^r_r[�	callbacks�status_code�	responsesrnr0r1rgr�rmrOrF�defaultz%An additional response must be a dictzapplication/jsonzAdditional Responsec3s�|]	}|�dvVqdS)r�NrX)r��status�r�rXrY�	<genexpr>�s
�
�
�z#get_openapi_path.<locals>.<genexpr>rDzValidation Errorr=r:)rnr�r+)r+r:)<�methodsr��response_classrr�r�rfr�rr\rZ�
setdefault�extend�updater��list�valuesrr�r�r�r�APIRoute�get_openapi_pathrwrkr��str�inspect�	signature�__init__r�r�r��int�response_descriptionr%rr'�response_fieldrr�r4�copy�pop�upper�dict�response_fieldsr#rG�http�clientr)r�anyr�validation_error_definition�$validation_error_response_definition�
openapi_extra�lower)+r�r�r]r^r_r[rw�security_schemes�definitions�current_response_class�route_response_media_typer�r�rHrSrT�operation_parameters�all_parameters�required_parametersr�r��callback�cb_path�cb_security_schemes�cb_definitionsr��response_signature�status_code_param�response_schema�operation_responses�additional_status_code�additional_response�process_response�status_code_key�openapi_responserh�additional_field_schemar��additional_schema�status_textrn�http422�all_route_paramsrXr�rYr��sR
�
�
�
��
�
��	�

��������
���

�

�����


����
��
r��routescCs�g}g}g}g}|D]J}t|dd�rTt|tj�rT|jr+t|jt�s%Jd��|�|j�|jr4|�|j�|jr?|�	|j�
��|jrJ|�	t|j��t
|j�}|�	|�q
|t|||�}|S)Nrfz'A request body must be a Pydantic Field)r}r�rr�r�rrQr�r�r�r�r��get_fields_from_routesrr\r�)r��body_fields_from_routes�responses_from_routes�request_fields_from_routes�callback_flat_modelsr��params�flat_modelsrXrXrYr��s4��

�
�r�z3.1.0)
�openapi_versionr�rn�webhooksr��servers�terms_of_service�contact�license_infor[r3�versionr�r�rnr�r�r�r�rrc
	s||d�}
|r||
d<|r||
d<|	r|	|
d<|
r|
|
d<|r#||
d<||
d�}|r.||d<i}i}i}t�}tt|p<g�t|pAg��}t|�}ttd	�}t||||d
�\}�|p[gD]7}t|tj	�r�t
||||||d�}|r�|\}}}|r�|�|ji��
|�|r�|�di��
|�|r���
|�q\|p�gD]7}t|tj	�r�t
||||||d�}|r�|\}}}|r�|�|ji��
|�|r�|�di��
|�|rψ�
|�q��r߇fd
d�t��D�|d<|r�||d<||d<|r�||d<|r�||d<ttdi|��ddd�S)N)r3rr�rn�termsOfServicer�license)�openapi�infor�)�ref_template)�fieldsr]r^r[r��securitySchemescsi|]}|�|�qSrXrX)r��k�r�rXrYr�1szget_openapi.<locals>.<dictcomp>�schemas�
components�pathsr�r�TrJrX)�setr�r�rr
rrr�rr�r�r�r�r��sortedrr)r3rr�r�rnr�r�r�r�r�rrr[r�outputr
r�
webhook_pathsr��
all_fieldsr^r]r_r��resultrwr��path_definitions�webhookrXrrY�get_openapi�s�



��
�
��
�
�r)O�http.clientr�r�r��typingrrrrrrrr	r
r�fastapir�fastapi._compatr
rrrrrrr�fastapi.datastructuresr�fastapi.dependencies.modelsr�fastapi.dependencies.utilsrrr�fastapi.encodersr�fastapi.openapi.constantsrrr�fastapi.openapi.modelsr�fastapi.paramsrr �fastapi.responsesr!�
fastapi.typesr"�
fastapi.utilsr#r$r%�pydanticr&�starlette.responsesr'�starlette.routingr(�starlette.statusr)�typing_extensionsr*r�r�rGr��__annotations__rZ�boolr�r�r�r�r�r�r�r�rrXrXrXrY�<module>sJ
0(
��	�
���
�
�
��������	
�S�������	
�%��
����

�#�������	�$

�A�
�#�������
�	�
���
��
�