mdb-engine 0.3.0__tar.gz → 0.3.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 (104) hide show
  1. {mdb_engine-0.3.0/mdb_engine.egg-info → mdb_engine-0.3.1}/PKG-INFO +1 -1
  2. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/__init__.py +1 -2
  3. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/shared_middleware.py +18 -2
  4. {mdb_engine-0.3.0 → mdb_engine-0.3.1/mdb_engine.egg-info}/PKG-INFO +1 -1
  5. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/pyproject.toml +1 -1
  6. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/setup.py +1 -1
  7. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/LICENSE +0 -0
  8. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/MANIFEST.in +0 -0
  9. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/README.md +0 -0
  10. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/README.md +0 -0
  11. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/ARCHITECTURE.md +0 -0
  12. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/README.md +0 -0
  13. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/__init__.py +0 -0
  14. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/audit.py +0 -0
  15. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/base.py +0 -0
  16. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/casbin_factory.py +0 -0
  17. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/casbin_models.py +0 -0
  18. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/config_defaults.py +0 -0
  19. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/config_helpers.py +0 -0
  20. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/cookie_utils.py +0 -0
  21. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/csrf.py +0 -0
  22. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/decorators.py +0 -0
  23. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/dependencies.py +0 -0
  24. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/helpers.py +0 -0
  25. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/integration.py +0 -0
  26. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/jwt.py +0 -0
  27. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/middleware.py +0 -0
  28. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/oso_factory.py +0 -0
  29. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/provider.py +0 -0
  30. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/rate_limiter.py +0 -0
  31. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/restrictions.py +0 -0
  32. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/session_manager.py +0 -0
  33. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/shared_users.py +0 -0
  34. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/token_lifecycle.py +0 -0
  35. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/token_store.py +0 -0
  36. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/users.py +0 -0
  37. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/auth/utils.py +0 -0
  38. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/cli/__init__.py +0 -0
  39. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/cli/commands/__init__.py +0 -0
  40. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/cli/commands/generate.py +0 -0
  41. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/cli/commands/migrate.py +0 -0
  42. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/cli/commands/show.py +0 -0
  43. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/cli/commands/validate.py +0 -0
  44. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/cli/main.py +0 -0
  45. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/cli/utils.py +0 -0
  46. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/config.py +0 -0
  47. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/constants.py +0 -0
  48. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/README.md +0 -0
  49. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/__init__.py +0 -0
  50. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/app_registration.py +0 -0
  51. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/app_secrets.py +0 -0
  52. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/connection.py +0 -0
  53. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/encryption.py +0 -0
  54. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/engine.py +0 -0
  55. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/index_management.py +0 -0
  56. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/manifest.py +0 -0
  57. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/ray_integration.py +0 -0
  58. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/seeding.py +0 -0
  59. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/service_initialization.py +0 -0
  60. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/core/types.py +0 -0
  61. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/database/README.md +0 -0
  62. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/database/__init__.py +0 -0
  63. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/database/abstraction.py +0 -0
  64. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/database/connection.py +0 -0
  65. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/database/query_validator.py +0 -0
  66. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/database/resource_limiter.py +0 -0
  67. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/database/scoped_wrapper.py +0 -0
  68. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/dependencies.py +0 -0
  69. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/di/__init__.py +0 -0
  70. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/di/container.py +0 -0
  71. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/di/providers.py +0 -0
  72. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/di/scopes.py +0 -0
  73. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/embeddings/README.md +0 -0
  74. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/embeddings/__init__.py +0 -0
  75. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/embeddings/dependencies.py +0 -0
  76. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/embeddings/service.py +0 -0
  77. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/exceptions.py +0 -0
  78. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/indexes/README.md +0 -0
  79. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/indexes/__init__.py +0 -0
  80. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/indexes/helpers.py +0 -0
  81. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/indexes/manager.py +0 -0
  82. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/memory/README.md +0 -0
  83. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/memory/__init__.py +0 -0
  84. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/memory/service.py +0 -0
  85. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/observability/README.md +0 -0
  86. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/observability/__init__.py +0 -0
  87. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/observability/health.py +0 -0
  88. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/observability/logging.py +0 -0
  89. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/observability/metrics.py +0 -0
  90. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/repositories/__init__.py +0 -0
  91. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/repositories/base.py +0 -0
  92. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/repositories/mongo.py +0 -0
  93. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/repositories/unit_of_work.py +0 -0
  94. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/routing/README.md +0 -0
  95. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/routing/__init__.py +0 -0
  96. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/routing/websockets.py +0 -0
  97. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/utils/__init__.py +0 -0
  98. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine/utils/mongo.py +0 -0
  99. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine.egg-info/SOURCES.txt +0 -0
  100. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine.egg-info/dependency_links.txt +0 -0
  101. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine.egg-info/entry_points.txt +0 -0
  102. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine.egg-info/requires.txt +0 -0
  103. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/mdb_engine.egg-info/top_level.txt +0 -0
  104. {mdb_engine-0.3.0 → mdb_engine-0.3.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mdb-engine
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: MongoDB Engine
5
5
  Home-page: https://github.com/ranfysvalle02/mdb-engine
6
6
  Author: Fabian Valle
@@ -81,8 +81,7 @@ from .repositories import Entity, MongoRepository, Repository, UnitOfWork
81
81
  # Utilities
82
82
  from .utils import clean_mongo_doc, clean_mongo_docs
83
83
 
84
- __version__ = "0.3.0" # Minor version bump: Multi-app mounting, SSO improvements,
85
- # and exception handling fixes
84
+ __version__ = "0.3.1" # Patch version bump: Fix public route matching for mounted apps
86
85
 
87
86
  __all__ = [
88
87
  # Core Engine
@@ -82,6 +82,22 @@ def _compute_fingerprint(request: Request) -> str:
82
82
  return hashlib.sha256(fingerprint_string.encode()).hexdigest()
83
83
 
84
84
 
85
+ def _get_request_path(request: Request) -> str:
86
+ """
87
+ Get the request path relative to the mount point.
88
+
89
+ For mounted apps (via create_multi_app), use request.scope["path"] which
90
+ contains the path relative to the mount point. For non-mounted apps,
91
+ fall back to request.url.path.
92
+
93
+ This ensures public routes in manifests (which are relative paths like "/")
94
+ match correctly when apps are mounted at prefixes like "/auth-hub".
95
+ """
96
+ # Use scope["path"] which is relative to mount point for mounted apps
97
+ # Fall back to url.path for non-mounted apps
98
+ return request.scope.get("path", request.url.path)
99
+
100
+
85
101
  class SharedAuthMiddleware(BaseHTTPMiddleware):
86
102
  """
87
103
  Middleware for shared authentication across multi-app deployments.
@@ -169,7 +185,7 @@ class SharedAuthMiddleware(BaseHTTPMiddleware):
169
185
  # However, for Lazy middleware, we want to skip if not initialized yet
170
186
  return await call_next(request)
171
187
 
172
- is_public = self._is_public_route(request.url.path)
188
+ is_public = self._is_public_route(_get_request_path(request))
173
189
 
174
190
  # Extract token from cookie or header
175
191
  token = self._extract_token(request)
@@ -522,7 +538,7 @@ def _create_lazy_middleware_class(
522
538
  )
523
539
  return await call_next(request)
524
540
 
525
- is_public = _is_public_route_helper(request.url.path, self._public_routes)
541
+ is_public = _is_public_route_helper(_get_request_path(request), self._public_routes)
526
542
  token = _extract_token_helper(
527
543
  request, self._cookie_name, self._header_name, self._header_prefix
528
544
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mdb-engine
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: MongoDB Engine
5
5
  Home-page: https://github.com/ranfysvalle02/mdb-engine
6
6
  Author: Fabian Valle
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mdb-engine"
7
- version = "0.3.0"
7
+ version = "0.3.1"
8
8
  description = "MongoDB Engine"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -14,7 +14,7 @@ if readme_file.exists():
14
14
 
15
15
  setup(
16
16
  name="mdb-engine",
17
- version="0.3.0",
17
+ version="0.3.1",
18
18
  description="MongoDB Engine",
19
19
  long_description=long_description,
20
20
  long_description_content_type="text/markdown",
File without changes
File without changes
File without changes
File without changes