ul-api-utils 8.1.18__tar.gz → 8.1.20__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ul-api-utils might be problematic. Click here for more details.
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/PKG-INFO +1 -1
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/setup.py +2 -2
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_resource_fn_typing.py +7 -7
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_response.py +8 -9
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/validators/custom_fields.py +4 -9
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils.egg-info/PKG-INFO +1 -1
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils.egg-info/requires.txt +1 -1
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/LICENSE +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/README.md +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/conf.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/main.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/models/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/permissions.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/pure_flask_example.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/rate_limit_load.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/redis_repository.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/routes/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/routes/api_some.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/sockets/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/sockets/on_connect.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/sockets/on_disconnect.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/sockets/on_json.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/sockets/on_message.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/sockets/on_open.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/workers/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/example/workers/worker.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/setup.cfg +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/access/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_request.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_resource.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_resource_config.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_resource_error_handling.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_resource_type.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_response_db.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_response_payload_alias.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/db_types.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/signature_check.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/commands/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/commands/cmd_enc_keys.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/commands/cmd_gen_api_user_token.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/commands/cmd_gen_new_api_user.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/commands/cmd_generate_api_docs.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/commands/cmd_start.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/commands/cmd_worker_start.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/commands/start/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/commands/start/gunicorn.conf.local.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/commands/start/gunicorn.conf.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/commands/start/wsgi.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/conf/ul-debugger-main.js +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/conf/ul-debugger-ui.js +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/conf.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/const.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/debug/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/debug/debugger.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/debug/malloc.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/debug/stat.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/encrypt/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/encrypt/encrypt_decrypt_abstract.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/encrypt/encrypt_decrypt_aes_xtea.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/errors.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/internal_api/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/internal_api/__tests__/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/internal_api/__tests__/internal_api.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/internal_api/__tests__/internal_api_content_type.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/internal_api/internal_api.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/internal_api/internal_api_check_context.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/internal_api/internal_api_error.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/internal_api/internal_api_response.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/main.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/modules/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/modules/__tests__/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/modules/__tests__/test_api_sdk_jwt.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/modules/api_sdk.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/modules/api_sdk_config.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/modules/api_sdk_jwt.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/modules/intermediate_state.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/modules/worker_context.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/modules/worker_sdk.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/modules/worker_sdk_config.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/py.typed +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/caching.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/debugger_scripts.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/health_check/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/health_check/const.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/health_check/health_check.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/health_check/health_check_template.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/health_check/resource.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/not_implemented.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/permissions.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/rate_limitter.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/socketio.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/swagger.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/web_forms/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/web_forms/custom_fields/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/web_forms/custom_fields/custom_checkbox_select.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/web_forms/custom_widgets/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/web_forms/custom_widgets/custom_select_widget.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/web_forms/custom_widgets/custom_text_input_widget.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/web_forms/uni_form.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/sentry.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/__tests__/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/__tests__/api_path_version.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/__tests__/unwrap_typing.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/api_encoding.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/api_format.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/api_method.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/api_pagination.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/api_path_version.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/api_request_info.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/avro.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/broker_topics_message_count.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/cached_per_request.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/colors.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/constants.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/decode_base64.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/deprecated.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flags.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/conf.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/exceptions.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/specifiers/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_models.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_specifier.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_three_specifier.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_version.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/utils/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/utils/input_type.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/utils/parameter_type.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/utils/replace_in_dict.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/utils/request_type.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/utils/schema_type.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/utils/security_type.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/imports.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/instance_checks.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/jinja/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/jinja/t_url_for.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/jinja/to_pretty_json.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/json_encoder.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/load_modules.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/memory_db/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/memory_db/__tests__/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/memory_db/errors.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/memory_db/repository.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/token_check.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/token_check_through_request.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/unwrap_typing.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/uuid_converter.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/validators/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/validators/__tests__/__init__.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/validators/__tests__/test_custom_fields.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/validators/validate_empty_object.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/validators/validate_uuid.py +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils.egg-info/SOURCES.txt +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils.egg-info/dependency_links.txt +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils.egg-info/entry_points.txt +0 -0
- {ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils.egg-info/top_level.txt +0 -0
|
@@ -9,7 +9,7 @@ with open(path.join(HERE, 'README.md'), encoding='utf-8') as f:
|
|
|
9
9
|
|
|
10
10
|
setup(
|
|
11
11
|
name='ul-api-utils',
|
|
12
|
-
version='8.1.
|
|
12
|
+
version='8.1.20',
|
|
13
13
|
description='Python api utils',
|
|
14
14
|
author='Unic-lab',
|
|
15
15
|
long_description=long_description,
|
|
@@ -66,7 +66,7 @@ setup(
|
|
|
66
66
|
"cryptography==38.0.1",
|
|
67
67
|
"colored==1.4.3",
|
|
68
68
|
"flask-socketio==5.3.6",
|
|
69
|
-
"ormsgpack==1.
|
|
69
|
+
"ormsgpack==1.8.0",
|
|
70
70
|
"msgpack==1.0.4",
|
|
71
71
|
"msgpack-types==0.2.0",
|
|
72
72
|
"fastavro==1.7.0",
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_resource_fn_typing.py
RENAMED
|
@@ -2,7 +2,7 @@ import inspect
|
|
|
2
2
|
from typing import NamedTuple, Any, Callable, Optional, List, Dict, Type, Tuple, TYPE_CHECKING, Union, get_origin, get_args
|
|
3
3
|
|
|
4
4
|
from flask import request
|
|
5
|
-
from pydantic import BaseModel, ValidationError, validate_call, TypeAdapter
|
|
5
|
+
from pydantic import BaseModel, ValidationError, validate_call, TypeAdapter, RootModel
|
|
6
6
|
from pydantic.v1.utils import deep_update
|
|
7
7
|
from pydantic_core import ErrorDetails
|
|
8
8
|
|
|
@@ -82,18 +82,18 @@ class ApiResourceFnTyping(NamedTuple):
|
|
|
82
82
|
|
|
83
83
|
if self.request_body_optional:
|
|
84
84
|
if self.request_body_many:
|
|
85
|
-
class BodyTypingOptList(
|
|
86
|
-
|
|
85
|
+
class BodyTypingOptList(RootModel[List[body_typing] | None]): # type: ignore
|
|
86
|
+
pass
|
|
87
87
|
|
|
88
88
|
return BodyTypingOptList
|
|
89
89
|
|
|
90
|
-
class BodyTypingOpt(
|
|
91
|
-
|
|
90
|
+
class BodyTypingOpt(RootModel[Optional[body_typing]]): # type: ignore
|
|
91
|
+
pass
|
|
92
92
|
return BodyTypingOpt
|
|
93
93
|
|
|
94
94
|
if self.request_body_many:
|
|
95
|
-
class BodyTypingList(
|
|
96
|
-
|
|
95
|
+
class BodyTypingList(RootModel[List[body_typing]]): # type: ignore
|
|
96
|
+
pass
|
|
97
97
|
|
|
98
98
|
return BodyTypingList
|
|
99
99
|
return body_typing
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import io
|
|
2
2
|
from datetime import datetime
|
|
3
|
-
from types import NoneType
|
|
4
3
|
from typing import TypeVar, Generic, List, Optional, Dict, Any, Callable, Union, BinaryIO, Tuple, Type
|
|
5
4
|
|
|
6
5
|
import msgpack
|
|
@@ -64,8 +63,8 @@ class HtmlApiResponse(ApiResponse):
|
|
|
64
63
|
|
|
65
64
|
@classmethod
|
|
66
65
|
def _internal_use__mk_schema(cls, inner_type: Optional[Type[BaseModel]]) -> Type[BaseModel]:
|
|
67
|
-
class _ResponseNoneType(
|
|
68
|
-
|
|
66
|
+
class _ResponseNoneType(RootModel[None]):
|
|
67
|
+
pass
|
|
69
68
|
return _ResponseNoneType
|
|
70
69
|
|
|
71
70
|
def to_flask_response(self, debugger: Optional[Debugger] = None) -> BaseResponse:
|
|
@@ -103,8 +102,8 @@ class FileApiResponse(ApiResponse):
|
|
|
103
102
|
|
|
104
103
|
@classmethod
|
|
105
104
|
def _internal_use__mk_schema(cls, inner_type: Optional[Type[BaseModel]]) -> Type[BaseModel]:
|
|
106
|
-
class _ResponseNoneType(
|
|
107
|
-
|
|
105
|
+
class _ResponseNoneType(RootModel[None]):
|
|
106
|
+
pass
|
|
108
107
|
return _ResponseNoneType
|
|
109
108
|
|
|
110
109
|
def to_flask_response(self, debugger: Optional[Debugger] = None) -> BaseResponse:
|
|
@@ -131,8 +130,8 @@ class EmptyJsonApiResponse(ApiResponse):
|
|
|
131
130
|
|
|
132
131
|
@classmethod
|
|
133
132
|
def _internal_use__mk_schema(cls, inner_type: Optional[Type[BaseModel]]) -> Type[BaseModel]:
|
|
134
|
-
class _ResponseNoneType(
|
|
135
|
-
|
|
133
|
+
class _ResponseNoneType(RootModel[None]):
|
|
134
|
+
pass
|
|
136
135
|
return _ResponseNoneType
|
|
137
136
|
|
|
138
137
|
def to_flask_response(self, debugger: Optional[Debugger] = None) -> BaseResponse:
|
|
@@ -199,8 +198,8 @@ class RootJsonApiResponse(Generic[TJsonObjApiResponsePayload], EmptyJsonApiRespo
|
|
|
199
198
|
|
|
200
199
|
@classmethod
|
|
201
200
|
def _internal_use__mk_schema(cls, inner_type: Optional[Type[BaseModel]]) -> Type[BaseModel]:
|
|
202
|
-
class _ResponseStd(
|
|
203
|
-
|
|
201
|
+
class _ResponseStd(RootModel[inner_type]): # type: ignore
|
|
202
|
+
pass
|
|
204
203
|
return _ResponseStd
|
|
205
204
|
|
|
206
205
|
def to_flask_response(self, debugger: Optional[Debugger] = None) -> BaseResponse:
|
|
@@ -59,6 +59,8 @@ class QueryParamsSeparatedList(Generic[QueryParamsSeparatedListValueType]):
|
|
|
59
59
|
if cls._contains_type is None:
|
|
60
60
|
raise TypeError("QueryParamsSeparatedList must be parameterized with a type, e.g., QueryParamsSeparatedList[int]")
|
|
61
61
|
|
|
62
|
+
adapter = TypeAdapter(cls._contains_type)
|
|
63
|
+
|
|
62
64
|
if not isinstance(query_param, list):
|
|
63
65
|
query_param = [query_param]
|
|
64
66
|
|
|
@@ -70,14 +72,7 @@ class QueryParamsSeparatedList(Generic[QueryParamsSeparatedListValueType]):
|
|
|
70
72
|
|
|
71
73
|
for idx, value in enumerate(splitted):
|
|
72
74
|
try:
|
|
73
|
-
|
|
74
|
-
try:
|
|
75
|
-
validated_items.append(int(value))
|
|
76
|
-
except ValueError:
|
|
77
|
-
validated_items.append(value) # type: ignore
|
|
78
|
-
else:
|
|
79
|
-
adapter = TypeAdapter(cls._contains_type)
|
|
80
|
-
validated_items.append(adapter.validate_python(value))
|
|
75
|
+
validated_items.append(adapter.validate_python(value))
|
|
81
76
|
except ValidationError as e:
|
|
82
77
|
for error in e.errors(include_url=False):
|
|
83
78
|
error['loc'] = ('param', idx)
|
|
@@ -86,4 +81,4 @@ class QueryParamsSeparatedList(Generic[QueryParamsSeparatedListValueType]):
|
|
|
86
81
|
if errors:
|
|
87
82
|
raise ValidationError.from_exception_data("List validation error", errors)
|
|
88
83
|
|
|
89
|
-
return validated_items
|
|
84
|
+
return validated_items
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_resource_config.py
RENAMED
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_resource_error_handling.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/api_resource/api_response_payload_alias.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/commands/start/gunicorn.conf.local.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/encrypt/encrypt_decrypt_abstract.py
RENAMED
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/encrypt/encrypt_decrypt_aes_xtea.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/internal_api/__tests__/internal_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/internal_api/internal_api_check_context.py
RENAMED
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/internal_api/internal_api_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/modules/__tests__/test_api_sdk_jwt.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/resources/health_check/health_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/__tests__/api_path_version.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/broker_topics_message_count.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/__init__.py
RENAMED
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/conf.py
RENAMED
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/flask_swagger_generator/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/memory_db/__tests__/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/utils/token_check_through_request.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/validators/__tests__/test_custom_fields.py
RENAMED
|
File without changes
|
{ul-api-utils-8.1.18 → ul-api-utils-8.1.20}/ul_api_utils/validators/validate_empty_object.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|