api-foundry-query-engine 0.8.53__tar.gz → 0.8.54__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 (38) hide show
  1. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/PKG-INFO +1 -1
  2. api_foundry_query_engine-0.8.54/api_foundry_query_engine/__init__.py +1 -0
  3. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/adapters/gateway_adapter.py +11 -3
  4. api_foundry_query_engine-0.8.53/api_foundry_query_engine/__init__.py +0 -1
  5. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/.gitignore +0 -0
  6. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/LICENSE +0 -0
  7. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/.pre-commit-config.yaml +0 -0
  8. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/adapters/adapter.py +0 -0
  9. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/adapters/case_change_adapter.py +0 -0
  10. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/adapters/security_adapter.py +0 -0
  11. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/connectors/connection.py +0 -0
  12. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/connectors/connection_factory.py +0 -0
  13. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/connectors/oracle_connector.py +0 -0
  14. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/connectors/postgres_connection.py +0 -0
  15. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/dao/batch_operation_handler.py +0 -0
  16. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/dao/dao.py +0 -0
  17. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/dao/operation_dao.py +0 -0
  18. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/dao/sql_custom_query_handler.py +0 -0
  19. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/dao/sql_delete_query_handler.py +0 -0
  20. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/dao/sql_insert_query_handler.py +0 -0
  21. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/dao/sql_query_handler.py +0 -0
  22. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/dao/sql_restore_query_handler.py +0 -0
  23. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/dao/sql_select_query_handler.py +0 -0
  24. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/dao/sql_subselect_query_handler.py +0 -0
  25. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/dao/sql_update_query_handler.py +0 -0
  26. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/lambda_handler.py +0 -0
  27. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/operation.py +0 -0
  28. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/services/service.py +0 -0
  29. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/services/transactional_service.py +0 -0
  30. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/utils/api_model.py +0 -0
  31. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/utils/app_exception.py +0 -0
  32. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/utils/claims_check.py +0 -0
  33. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/utils/dependency_resolver.py +0 -0
  34. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/utils/gateway_operation.py +0 -0
  35. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/utils/logger.py +0 -0
  36. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/utils/reference_resolver.py +0 -0
  37. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/api_foundry_query_engine/utils/token_decoder.py +0 -0
  38. {api_foundry_query_engine-0.8.53 → api_foundry_query_engine-0.8.54}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: api-foundry-query-engine
3
- Version: 0.8.53
3
+ Version: 0.8.54
4
4
  Summary: The AWS lambda service handler use by the `api_foundry` project is a powerful tool designed to automate the deployment of REST APIs on AWS using Lambda services to access and interact with relational databases (RDBMS). This project leverages the OpenAPI specification to define and manage the APIs
5
5
  Project-URL: Documentation, https://github.com/DanRepik/api-foundry
6
6
  Project-URL: Source, https://github.com/DanRepik/api-foundry
@@ -0,0 +1 @@
1
+ __version__ = "0.8.54"
@@ -57,8 +57,16 @@ class GatewayAdapter(Adapter):
57
57
 
58
58
  # Handle different authorizer types
59
59
  if isinstance(claims, dict):
60
+ # Parse JSON-stringified fields (roles, permissions) from token validator
61
+ for key in ['roles', 'permissions']:
62
+ if key in claims and isinstance(claims[key], str):
63
+ try:
64
+ claims[key] = json.loads(claims[key])
65
+ except (json.JSONDecodeError, ValueError):
66
+ pass # Keep as string if not valid JSON
67
+
60
68
  # TOKEN authorizer puts claims directly in authorizer object
61
- if "sub" in claims or "iss" in claims:
69
+ if "sub" in claims or "iss" in claims or "roles" in claims:
62
70
  # Already have JWT claims at top level
63
71
  pass
64
72
  elif "claims" in claims:
@@ -71,8 +79,8 @@ class GatewayAdapter(Adapter):
71
79
  # Lambda authorizer fallback
72
80
  claims = claims["lambda"]
73
81
  else:
74
- # Empty or unknown format
75
- claims = {}
82
+ # Empty or unknown format - keep what we have
83
+ pass
76
84
  else:
77
85
  # Non-dict authorizer context
78
86
  claims = {}
@@ -1 +0,0 @@
1
- __version__ = "0.8.53"