ul-api-utils 8.1.17__tar.gz → 8.1.19__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.

Files changed (161) hide show
  1. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/PKG-INFO +1 -1
  2. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/setup.py +1 -1
  3. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/api_resource/api_resource_fn_typing.py +8 -8
  4. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/api_resource/api_response.py +8 -9
  5. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/json_encoder.py +3 -1
  6. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils.egg-info/PKG-INFO +1 -1
  7. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/LICENSE +0 -0
  8. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/README.md +0 -0
  9. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/__init__.py +0 -0
  10. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/conf.py +0 -0
  11. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/main.py +0 -0
  12. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/models/__init__.py +0 -0
  13. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/permissions.py +0 -0
  14. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/pure_flask_example.py +0 -0
  15. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/rate_limit_load.py +0 -0
  16. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/redis_repository.py +0 -0
  17. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/routes/__init__.py +0 -0
  18. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/routes/api_some.py +0 -0
  19. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/sockets/__init__.py +0 -0
  20. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/sockets/on_connect.py +0 -0
  21. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/sockets/on_disconnect.py +0 -0
  22. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/sockets/on_json.py +0 -0
  23. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/sockets/on_message.py +0 -0
  24. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/sockets/on_open.py +0 -0
  25. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/workers/__init__.py +0 -0
  26. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/example/workers/worker.py +0 -0
  27. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/setup.cfg +0 -0
  28. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/__init__.py +0 -0
  29. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/access/__init__.py +0 -0
  30. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/api_resource/__init__.py +0 -0
  31. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/api_resource/api_request.py +0 -0
  32. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/api_resource/api_resource.py +0 -0
  33. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/api_resource/api_resource_config.py +0 -0
  34. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/api_resource/api_resource_error_handling.py +0 -0
  35. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/api_resource/api_resource_type.py +0 -0
  36. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/api_resource/api_response_db.py +0 -0
  37. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/api_resource/api_response_payload_alias.py +0 -0
  38. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/api_resource/db_types.py +0 -0
  39. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/api_resource/signature_check.py +0 -0
  40. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/commands/__init__.py +0 -0
  41. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/commands/cmd_enc_keys.py +0 -0
  42. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/commands/cmd_gen_api_user_token.py +0 -0
  43. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/commands/cmd_gen_new_api_user.py +0 -0
  44. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/commands/cmd_generate_api_docs.py +0 -0
  45. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/commands/cmd_start.py +0 -0
  46. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/commands/cmd_worker_start.py +0 -0
  47. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/commands/start/__init__.py +0 -0
  48. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/commands/start/gunicorn.conf.local.py +0 -0
  49. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/commands/start/gunicorn.conf.py +0 -0
  50. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/commands/start/wsgi.py +0 -0
  51. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/conf/ul-debugger-main.js +0 -0
  52. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/conf/ul-debugger-ui.js +0 -0
  53. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/conf.py +0 -0
  54. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/const.py +0 -0
  55. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/debug/__init__.py +0 -0
  56. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/debug/debugger.py +0 -0
  57. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/debug/malloc.py +0 -0
  58. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/debug/stat.py +0 -0
  59. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/encrypt/__init__.py +0 -0
  60. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/encrypt/encrypt_decrypt_abstract.py +0 -0
  61. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/encrypt/encrypt_decrypt_aes_xtea.py +0 -0
  62. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/errors.py +0 -0
  63. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/internal_api/__init__.py +0 -0
  64. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/internal_api/__tests__/__init__.py +0 -0
  65. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/internal_api/__tests__/internal_api.py +0 -0
  66. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/internal_api/__tests__/internal_api_content_type.py +0 -0
  67. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/internal_api/internal_api.py +0 -0
  68. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/internal_api/internal_api_check_context.py +0 -0
  69. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/internal_api/internal_api_error.py +0 -0
  70. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/internal_api/internal_api_response.py +0 -0
  71. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/main.py +0 -0
  72. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/modules/__init__.py +0 -0
  73. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/modules/__tests__/__init__.py +0 -0
  74. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/modules/__tests__/test_api_sdk_jwt.py +0 -0
  75. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/modules/api_sdk.py +0 -0
  76. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/modules/api_sdk_config.py +0 -0
  77. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/modules/api_sdk_jwt.py +0 -0
  78. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/modules/intermediate_state.py +0 -0
  79. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/modules/worker_context.py +0 -0
  80. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/modules/worker_sdk.py +0 -0
  81. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/modules/worker_sdk_config.py +0 -0
  82. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/py.typed +0 -0
  83. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/__init__.py +0 -0
  84. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/caching.py +0 -0
  85. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/debugger_scripts.py +0 -0
  86. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/health_check/__init__.py +0 -0
  87. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/health_check/const.py +0 -0
  88. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/health_check/health_check.py +0 -0
  89. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/health_check/health_check_template.py +0 -0
  90. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/health_check/resource.py +0 -0
  91. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/not_implemented.py +0 -0
  92. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/permissions.py +0 -0
  93. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/rate_limitter.py +0 -0
  94. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/socketio.py +0 -0
  95. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/swagger.py +0 -0
  96. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/web_forms/__init__.py +0 -0
  97. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/web_forms/custom_fields/__init__.py +0 -0
  98. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/web_forms/custom_fields/custom_checkbox_select.py +0 -0
  99. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/web_forms/custom_widgets/__init__.py +0 -0
  100. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/web_forms/custom_widgets/custom_select_widget.py +0 -0
  101. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/web_forms/custom_widgets/custom_text_input_widget.py +0 -0
  102. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/resources/web_forms/uni_form.py +0 -0
  103. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/sentry.py +0 -0
  104. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/__init__.py +0 -0
  105. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/__tests__/__init__.py +0 -0
  106. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/__tests__/api_path_version.py +0 -0
  107. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/__tests__/unwrap_typing.py +0 -0
  108. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/api_encoding.py +0 -0
  109. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/api_format.py +0 -0
  110. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/api_method.py +0 -0
  111. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/api_pagination.py +0 -0
  112. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/api_path_version.py +0 -0
  113. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/api_request_info.py +0 -0
  114. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/avro.py +0 -0
  115. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/broker_topics_message_count.py +0 -0
  116. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/cached_per_request.py +0 -0
  117. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/colors.py +0 -0
  118. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/constants.py +0 -0
  119. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/decode_base64.py +0 -0
  120. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/deprecated.py +0 -0
  121. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flags.py +0 -0
  122. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/__init__.py +0 -0
  123. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/conf.py +0 -0
  124. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/exceptions.py +0 -0
  125. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/specifiers/__init__.py +0 -0
  126. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_models.py +0 -0
  127. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_specifier.py +0 -0
  128. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_three_specifier.py +0 -0
  129. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/specifiers/swagger_version.py +0 -0
  130. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/utils/__init__.py +0 -0
  131. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/utils/input_type.py +0 -0
  132. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/utils/parameter_type.py +0 -0
  133. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/utils/replace_in_dict.py +0 -0
  134. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/utils/request_type.py +0 -0
  135. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/utils/schema_type.py +0 -0
  136. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/flask_swagger_generator/utils/security_type.py +0 -0
  137. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/imports.py +0 -0
  138. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/instance_checks.py +0 -0
  139. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/jinja/__init__.py +0 -0
  140. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/jinja/t_url_for.py +0 -0
  141. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/jinja/to_pretty_json.py +0 -0
  142. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/load_modules.py +0 -0
  143. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/memory_db/__init__.py +0 -0
  144. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/memory_db/__tests__/__init__.py +0 -0
  145. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/memory_db/errors.py +0 -0
  146. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/memory_db/repository.py +0 -0
  147. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/token_check.py +0 -0
  148. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/token_check_through_request.py +0 -0
  149. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/unwrap_typing.py +0 -0
  150. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/utils/uuid_converter.py +0 -0
  151. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/validators/__init__.py +0 -0
  152. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/validators/__tests__/__init__.py +0 -0
  153. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/validators/__tests__/test_custom_fields.py +0 -0
  154. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/validators/custom_fields.py +0 -0
  155. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/validators/validate_empty_object.py +0 -0
  156. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils/validators/validate_uuid.py +0 -0
  157. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils.egg-info/SOURCES.txt +0 -0
  158. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils.egg-info/dependency_links.txt +0 -0
  159. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils.egg-info/entry_points.txt +0 -0
  160. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils.egg-info/requires.txt +0 -0
  161. {ul-api-utils-8.1.17 → ul-api-utils-8.1.19}/ul_api_utils.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ul-api-utils
3
- Version: 8.1.17
3
+ Version: 8.1.19
4
4
  Summary: Python api utils
5
5
  Author: Unic-lab
6
6
  Author-email:
@@ -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.17',
12
+ version='8.1.19',
13
13
  description='Python api utils',
14
14
  author='Unic-lab',
15
15
  long_description=long_description,
@@ -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(BaseModel):
86
- __root__: Optional[List[body_typing]] = None # type: ignore
85
+ class BodyTypingOptList(RootModel[List[body_typing] | None]): # type: ignore
86
+ pass
87
87
 
88
88
  return BodyTypingOptList
89
89
 
90
- class BodyTypingOpt(BaseModel):
91
- __root__: Optional[body_typing] = None # type: ignore
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(BaseModel):
96
- __root__: List[body_typing] # type: ignore
95
+ class BodyTypingList(RootModel[List[body_typing]]): # type: ignore
96
+ pass
97
97
 
98
98
  return BodyTypingList
99
99
  return body_typing
@@ -165,7 +165,7 @@ class ApiResourceFnTyping(NamedTuple):
165
165
  return kwargs, errors
166
166
  body = self._get_body()
167
167
  try:
168
- expected_typing: Type[BaseModel | List[BaseModel]] = List[self.body_typing] if self.request_body_many else self.body_typing
168
+ expected_typing: Type[BaseModel | List[BaseModel]] = List[self.body_typing] if self.request_body_many else self.body_typing # type: ignore
169
169
  kwargs['body'] = TypeAdapter(expected_typing).validate_python(body)
170
170
  except ValidationError as ve:
171
171
  if self.has_body_validation_error:
@@ -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(BaseModel):
68
- __root__: NoneType # type: ignore
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(BaseModel):
107
- __root__: NoneType # type: ignore
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(BaseModel):
135
- __root__: NoneType # type: ignore
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(BaseModel):
203
- __root__: inner_type # type: ignore
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:
@@ -2,7 +2,7 @@ import dataclasses
2
2
  import decimal
3
3
  import json
4
4
  from base64 import b64encode
5
- from datetime import date, datetime
5
+ from datetime import date, datetime, time
6
6
  from enum import Enum
7
7
  from json import JSONEncoder
8
8
  from typing import Dict, Any, Union, List, Optional, TYPE_CHECKING
@@ -62,6 +62,8 @@ class CustomJSONEncoder(JSONEncoder):
62
62
  return str(obj.isoformat())
63
63
  if isinstance(obj, date):
64
64
  return str(obj.isoformat())
65
+ if isinstance(obj, time):
66
+ return str(obj.isoformat())
65
67
  if isinstance(obj, UUID):
66
68
  return str(obj)
67
69
  if isinstance(obj, Enum):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ul-api-utils
3
- Version: 8.1.17
3
+ Version: 8.1.19
4
4
  Summary: Python api utils
5
5
  Author: Unic-lab
6
6
  Author-email:
File without changes
File without changes
File without changes