easyapi-django 1.2.0__tar.gz → 1.2.1__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.
Files changed (100) hide show
  1. {easyapi_django-1.2.0/easyapi_django.egg-info → easyapi_django-1.2.1}/PKG-INFO +1 -1
  2. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/base.py +5 -1
  3. {easyapi_django-1.2.0 → easyapi_django-1.2.1/easyapi_django.egg-info}/PKG-INFO +1 -1
  4. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/pyproject.toml +1 -1
  5. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/LICENSE +0 -0
  6. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/MANIFEST.in +0 -0
  7. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/README.md +0 -0
  8. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/__init__.py +0 -0
  9. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/auth.py +0 -0
  10. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/bearer.py +0 -0
  11. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/blocking.py +0 -0
  12. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/calc.py +0 -0
  13. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/calc_resource.py +0 -0
  14. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/client_ip.py +0 -0
  15. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/constants.py +0 -0
  16. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/core/__init__.py +0 -0
  17. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/core/endpoint.py +0 -0
  18. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/core/resource.py +0 -0
  19. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/dates.py +0 -0
  20. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/exception.py +0 -0
  21. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/filters.py +0 -0
  22. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/__init__.py +0 -0
  23. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/cli.py +0 -0
  24. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/config.py +0 -0
  25. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/generator.py +0 -0
  26. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/inspector/__init__.py +0 -0
  27. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/inspector/base.py +0 -0
  28. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/inspector/mysql.py +0 -0
  29. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/inspector/postgres.py +0 -0
  30. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/README.md.j2 +0 -0
  31. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/asgi.py.j2 +0 -0
  32. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/env.example.j2 +0 -0
  33. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/gitignore.j2 +0 -0
  34. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/manage.py.j2 +0 -0
  35. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/module/models.py.j2 +0 -0
  36. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/module/resources.py.j2 +0 -0
  37. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/requirements.txt.j2 +0 -0
  38. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/router/endpoints.py.j2 +0 -0
  39. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/router/urls.py.j2 +0 -0
  40. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/run.sh.j2 +0 -0
  41. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/settings/env.py.j2 +0 -0
  42. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/gen/templates/settings/settings.py.j2 +0 -0
  43. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/helpers.py +0 -0
  44. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/management/__init__.py +0 -0
  45. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/management/commands/__init__.py +0 -0
  46. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/management/commands/mcp_serve.py +0 -0
  47. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/mcp/__init__.py +0 -0
  48. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/mcp/protocol.py +0 -0
  49. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/mcp/schema.py +0 -0
  50. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/mcp/server.py +0 -0
  51. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/mcp/testing.py +0 -0
  52. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/mcp/tool.py +0 -0
  53. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/mcp/tools.py +0 -0
  54. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/middleware.py +0 -0
  55. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/__init__.py +0 -0
  56. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/_common.py +0 -0
  57. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/apps.py +0 -0
  58. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/clients.py +0 -0
  59. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/codes.py +0 -0
  60. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/constants.py +0 -0
  61. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/devices.py +0 -0
  62. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/discovery.py +0 -0
  63. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/migrations/0001_initial.py +0 -0
  64. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/migrations/__init__.py +0 -0
  65. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/models.py +0 -0
  66. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/resolver.py +0 -0
  67. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/resources/__init__.py +0 -0
  68. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/resources/authorize.py +0 -0
  69. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/resources/device.py +0 -0
  70. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/resources/device_authorization.py +0 -0
  71. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/resources/register.py +0 -0
  72. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/resources/revoke.py +0 -0
  73. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/resources/token.py +0 -0
  74. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/routes.py +0 -0
  75. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/session.py +0 -0
  76. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/settings_helper.py +0 -0
  77. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/templates/zeromcp_oauth/consent.html +0 -0
  78. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/templates/zeromcp_oauth/device.html +0 -0
  79. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/oauth/tokens.py +0 -0
  80. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/openapi.py +0 -0
  81. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/orm/__init__.py +0 -0
  82. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/rate_limit.py +0 -0
  83. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/redis_config.py +0 -0
  84. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/routes.py +0 -0
  85. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/schemas.py +0 -0
  86. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/security.py +0 -0
  87. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/sensitive.py +0 -0
  88. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/serializer.py +0 -0
  89. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/settings_helper.py +0 -0
  90. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/tenant/__init__.py +0 -0
  91. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/tenant/db_router.py +0 -0
  92. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/tenant/registry.py +0 -0
  93. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/tenant/tenant.py +0 -0
  94. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi/util.py +0 -0
  95. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi_django.egg-info/SOURCES.txt +0 -0
  96. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi_django.egg-info/dependency_links.txt +0 -0
  97. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi_django.egg-info/entry_points.txt +0 -0
  98. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi_django.egg-info/requires.txt +0 -0
  99. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/easyapi_django.egg-info/top_level.txt +0 -0
  100. {easyapi_django-1.2.0 → easyapi_django-1.2.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: easyapi-django
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: Zero-effort MCP server (and REST API) generator from Django models.
5
5
  Author-email: Stamatios Stamou Jr <bushier.outsets.0c@icloud.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,7 @@
1
1
  import hashlib
2
2
  import json
3
3
  import logging
4
+ from decimal import InvalidOperation
4
5
  from functools import reduce
5
6
  from importlib import import_module
6
7
  from urllib import parse
@@ -14,7 +15,7 @@ from django.db.models import Q
14
15
  from django.forms.models import model_to_dict
15
16
  from django.http import HttpResponse, JsonResponse
16
17
  from .core import CoreResource
17
- from django.db.utils import IntegrityError
18
+ from django.db.utils import DataError, IntegrityError
18
19
  from django.utils import timezone
19
20
 
20
21
  import operator
@@ -1608,6 +1609,9 @@ class BaseResource(CoreResource):
1608
1609
  )
1609
1610
  raise HTTPException(409, 'Conflict creating item')
1610
1611
 
1612
+ except (ValueError, TypeError, FieldError, ValidationError, InvalidOperation, DataError) as exc:
1613
+ raise HTTPException(400, f'Invalid value: {exc}') from exc
1614
+
1611
1615
  return await self.get_obj(id)
1612
1616
 
1613
1617
  async def patch(self, request):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: easyapi-django
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: Zero-effort MCP server (and REST API) generator from Django models.
5
5
  Author-email: Stamatios Stamou Jr <bushier.outsets.0c@icloud.com>
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "easyapi-django"
7
- version = "1.2.0"
7
+ version = "1.2.1"
8
8
  authors = [
9
9
  { name="Stamatios Stamou Jr", email="bushier.outsets.0c@icloud.com" },
10
10
  ]
File without changes
File without changes
File without changes