api-foundry-query-engine 0.8.43__tar.gz → 0.8.44__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.
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/PKG-INFO +1 -1
- api_foundry_query_engine-0.8.44/api_foundry_query_engine/__init__.py +1 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/dao/sql_insert_query_handler.py +7 -23
- api_foundry_query_engine-0.8.43/api_foundry_query_engine/__init__.py +0 -1
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/.gitignore +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/LICENSE +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/.pre-commit-config.yaml +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/adapters/adapter.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/adapters/case_change_adapter.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/adapters/gateway_adapter.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/adapters/security_adapter.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/connectors/connection.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/connectors/connection_factory.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/connectors/oracle_connector.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/connectors/postgres_connection.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/dao/batch_operation_handler.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/dao/dao.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/dao/operation_dao.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/dao/sql_custom_query_handler.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/dao/sql_delete_query_handler.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/dao/sql_query_handler.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/dao/sql_restore_query_handler.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/dao/sql_select_query_handler.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/dao/sql_subselect_query_handler.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/dao/sql_update_query_handler.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/lambda_handler.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/operation.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/services/service.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/services/transactional_service.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/utils/api_model.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/utils/app_exception.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/utils/claims_check.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/utils/dependency_resolver.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/utils/gateway_operation.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/utils/logger.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/utils/reference_resolver.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/api_foundry_query_engine/utils/token_decoder.py +0 -0
- {api_foundry_query_engine-0.8.43 → api_foundry_query_engine-0.8.44}/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.
|
|
3
|
+
Version: 0.8.44
|
|
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.44"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import
|
|
1
|
+
from typing import Optional
|
|
2
2
|
from api_foundry_query_engine.dao.sql_query_handler import SQLSchemaQueryHandler
|
|
3
3
|
from api_foundry_query_engine.operation import Operation
|
|
4
4
|
from api_foundry_query_engine.utils.app_exception import ApplicationException
|
|
@@ -42,21 +42,6 @@ class SQLInsertSchemaQueryHandler(SQLSchemaQueryHandler):
|
|
|
42
42
|
+ f"property: {self.concurrency_property.api_name}",
|
|
43
43
|
)
|
|
44
44
|
|
|
45
|
-
@property
|
|
46
|
-
def selection_results(self) -> Dict:
|
|
47
|
-
"""
|
|
48
|
-
Override parent to use write permissions for INSERT RETURNING clause.
|
|
49
|
-
Returns columns based on what the user can write, not read.
|
|
50
|
-
"""
|
|
51
|
-
if not hasattr(self, "_insert_selection_results"):
|
|
52
|
-
# Use write permissions for INSERT operations
|
|
53
|
-
self._insert_selection_results = self.check_permissions(
|
|
54
|
-
"write",
|
|
55
|
-
self.schema_object.permissions,
|
|
56
|
-
self.schema_object.properties,
|
|
57
|
-
)
|
|
58
|
-
return self._insert_selection_results
|
|
59
|
-
|
|
60
45
|
@property
|
|
61
46
|
def sql(self) -> str:
|
|
62
47
|
self.concurrency_property = self.schema_object.concurrency_property
|
|
@@ -85,25 +70,24 @@ class SQLInsertSchemaQueryHandler(SQLSchemaQueryHandler):
|
|
|
85
70
|
|
|
86
71
|
def _get_returning_clause(self) -> str:
|
|
87
72
|
"""
|
|
88
|
-
Get RETURNING clause based on
|
|
89
|
-
Returns all fields the user has
|
|
73
|
+
Get RETURNING clause based on read permissions.
|
|
74
|
+
Returns all fields the user has read access to.
|
|
90
75
|
"""
|
|
91
|
-
# Get properties user has
|
|
76
|
+
# Get properties user has read permissions for
|
|
92
77
|
allowed_properties = self.check_permissions(
|
|
93
|
-
"
|
|
78
|
+
"read",
|
|
94
79
|
self.schema_object.permissions,
|
|
95
80
|
self.schema_object.properties,
|
|
96
81
|
)
|
|
97
82
|
|
|
98
83
|
if allowed_properties:
|
|
99
|
-
# Return all
|
|
84
|
+
# Return all readable columns
|
|
100
85
|
columns = [
|
|
101
86
|
prop.column_name for prop in allowed_properties.values()
|
|
102
87
|
]
|
|
103
88
|
return f"RETURNING {', '.join(columns)}"
|
|
104
89
|
|
|
105
|
-
# Fallback to primary key if no
|
|
106
|
-
# (shouldn't happen if user can INSERT)
|
|
90
|
+
# Fallback to primary key if no read permissions
|
|
107
91
|
pk_property = self.schema_object.primary_key
|
|
108
92
|
if pk_property:
|
|
109
93
|
return f"RETURNING {pk_property.column_name}"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.8.43"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|