jaaql-middleware-python 4.23.8__tar.gz → 4.23.10__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.
- {jaaql-middleware-python-4.23.8/jaaql_middleware_python.egg-info → jaaql-middleware-python-4.23.10}/PKG-INFO +1 -1
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/constants.py +1 -1
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/exceptions/http_status_exception.py +2 -2
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/exceptions/jaaql_interpretable_handled_errors.py +4 -4
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/interpreter/interpret_jaaql.py +13 -8
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/mvc/base_controller.py +2 -1
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/mvc/exception_queries.py +1 -1
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/mvc/generated_queries.py +1 -1
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/scripts/04.install_jaaql_data_structures.generated.sql +624 -622
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10/jaaql_middleware_python.egg-info}/PKG-INFO +1 -1
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/LICENSE.txt +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/README.md +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/__init__.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/config/__init__.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/config/config-docker.ini +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/config/config-test.ini +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/config/config.ini +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/config_constants.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/db/__init__.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/db/db_interface.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/db/db_pg_interface.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/db/db_utils.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/db/db_utils_no_circ.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/documentation/__init__.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/documentation/documentation_internal.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/documentation/documentation_public.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/documentation/documentation_shared.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/email/__init__.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/email/email_manager.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/email/email_manager_service.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/email/patch_ems.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/exceptions/__init__.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/exceptions/custom_http_status.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/exceptions/not_yet_implement_exception.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/generated_constants.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/interpreter/__init__.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/jaaql.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/migrations/__init__.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/migrations/migration_history.sql +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/migrations/migrations.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/mvc/__init__.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/mvc/base_model.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/mvc/controller.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/mvc/controller_interface.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/mvc/handmade_queries.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/mvc/model.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/mvc/model_interface.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/mvc/response.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/openapi/__init__.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/openapi/swagger_documentation.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/patch.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/scripts/01.install_domains.generated.sql +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/scripts/02.install_super_user.exceptions.sql +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/scripts/03.install_super_user.handwritten.sql +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/scripts/05.install_jaaql.exceptions.sql +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/scripts/06.install_jaaql.handwritten.sql +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/scripts/swagger_template.html +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/services/__init__.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/services/cached_canned_query_service.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/services/migrations_manager_service.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/services/patch_mms.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/services/patch_shared_var_service.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/services/shared_var_service.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/utilities/__init__.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/utilities/crypt_utils.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/utilities/options.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/utilities/utils.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/utilities/utils_no_project_imports.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/utilities/vault.py +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql_middleware_python.egg-info/SOURCES.txt +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql_middleware_python.egg-info/dependency_links.txt +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql_middleware_python.egg-info/requires.txt +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql_middleware_python.egg-info/top_level.txt +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/setup.cfg +0 -0
- {jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: jaaql-middleware-python
|
|
3
|
-
Version: 4.23.
|
|
3
|
+
Version: 4.23.10
|
|
4
4
|
Summary: The jaaql package, allowing for rapid development and deployment of RESTful HTTP applications
|
|
5
5
|
Home-page: https://github.com/JAAQL/JAAQL-middleware-python
|
|
6
6
|
Author: Software Quality Measurement and Improvement bv
|
|
@@ -52,5 +52,5 @@ class JaaqlInterpretableHandledError(Exception):
|
|
|
52
52
|
return JaaqlInterpretableHandledError(
|
|
53
53
|
obj.get("error_code"), RESPONSE_CODE_LOOKUP.get(obj.get("error_code"), 422), obj.get("table_name"),
|
|
54
54
|
obj.get("index"), obj.get("message"), obj.get("column_name"),
|
|
55
|
-
obj.get("
|
|
56
|
-
)
|
|
55
|
+
obj.get("set"), obj.get("descriptor")
|
|
56
|
+
)
|
|
@@ -184,12 +184,12 @@ class InvalidSecurityEventLock(JaaqlInterpretableHandledError):
|
|
|
184
184
|
|
|
185
185
|
|
|
186
186
|
class MissingParameterInQuery(JaaqlInterpretableHandledError):
|
|
187
|
-
def __init__(self, _set, descriptor=None):
|
|
187
|
+
def __init__(self, message, _set, descriptor=None):
|
|
188
188
|
super().__init__(
|
|
189
189
|
error_code=1014,
|
|
190
190
|
http_response_code=422,
|
|
191
191
|
table_name=None,
|
|
192
|
-
message=
|
|
192
|
+
message=message,
|
|
193
193
|
column_name=None,
|
|
194
194
|
_set=_set,
|
|
195
195
|
index=None,
|
|
@@ -198,12 +198,12 @@ class MissingParameterInQuery(JaaqlInterpretableHandledError):
|
|
|
198
198
|
|
|
199
199
|
|
|
200
200
|
class ExpectedParameterInQuery(JaaqlInterpretableHandledError):
|
|
201
|
-
def __init__(self, descriptor=None):
|
|
201
|
+
def __init__(self, message, descriptor=None):
|
|
202
202
|
super().__init__(
|
|
203
203
|
error_code=1015,
|
|
204
204
|
http_response_code=422,
|
|
205
205
|
table_name=None,
|
|
206
|
-
message=
|
|
206
|
+
message=message,
|
|
207
207
|
column_name=None,
|
|
208
208
|
_set=None,
|
|
209
209
|
index=None,
|
|
@@ -12,7 +12,7 @@ from psycopg.errors import OperationalError, Error
|
|
|
12
12
|
from jaaql.constants import KEY__position, KEY__file, KEY__application, KEY__error, KEY__error_row_number, KEY__error_query, \
|
|
13
13
|
KEY__error_set, KEY__error_index, SQLStateJaaql, KEY__restrictions, REGEX__dmbs_object_name
|
|
14
14
|
from jaaql.exceptions.jaaql_interpretable_handled_errors import DatabaseOperationalError, HandledProcedureError, UnhandledQueryError, UnhandledProcedureError, \
|
|
15
|
-
SingletonExpected
|
|
15
|
+
SingletonExpected, ExpectedParameterInQuery, MissingParameterInQuery
|
|
16
16
|
from typing import Union
|
|
17
17
|
|
|
18
18
|
|
|
@@ -230,20 +230,24 @@ class InterpretJAAQL:
|
|
|
230
230
|
else:
|
|
231
231
|
cur_query = query_obj[KEY_query]
|
|
232
232
|
|
|
233
|
-
last_query, found_parameter_dictionary = self.pre_prepare_statement(cur_query, parameters, require_presence=False
|
|
233
|
+
last_query, found_parameter_dictionary = self.pre_prepare_statement(cur_query, parameters, require_presence=False,
|
|
234
|
+
query_name=query_key)
|
|
234
235
|
enc_parameter_dictionary = {}
|
|
235
236
|
encrypt_parameters = {key: val for key, val in parameters.items() if key not in found_parameter_dictionary}
|
|
236
237
|
if len(encrypt_parameters) != 0:
|
|
237
238
|
last_query, enc_parameter_dictionary = self.pre_prepare_statement(last_query, encrypt_parameters,
|
|
238
239
|
match_regex=REGEX_enc_query_argument,
|
|
239
240
|
encryption_key=encryption_key,
|
|
240
|
-
require_presence=False
|
|
241
|
+
require_presence=False,
|
|
242
|
+
query_name=query_key)
|
|
241
243
|
|
|
242
244
|
found_params = {**found_parameter_dictionary, **enc_parameter_dictionary}
|
|
243
245
|
check_unused -= set(found_params.keys())
|
|
244
246
|
|
|
245
247
|
if len(check_unused):
|
|
246
|
-
raise
|
|
248
|
+
raise ExpectedParameterInQuery(ERR_unused_parameter % list(check_unused)[0], {
|
|
249
|
+
"parameters": list(check_unused)
|
|
250
|
+
})
|
|
247
251
|
|
|
248
252
|
for query_key, query_obj in query.items():
|
|
249
253
|
exc_query_key = query_key
|
|
@@ -309,7 +313,7 @@ class InterpretJAAQL:
|
|
|
309
313
|
exc_row_number = cur_parameters.get(KEY__row_number)
|
|
310
314
|
last_query, found_parameter_dictionary = self.pre_prepare_statement(
|
|
311
315
|
cur_query, cur_parameters, for_prepare=do_prepare_only is not False and do_prepare_only is not None,
|
|
312
|
-
skipped_singletons=skipped_singletons)
|
|
316
|
+
skipped_singletons=skipped_singletons, query_name=query_key)
|
|
313
317
|
|
|
314
318
|
enc_parameter_dictionary = {}
|
|
315
319
|
|
|
@@ -319,7 +323,7 @@ class InterpretJAAQL:
|
|
|
319
323
|
last_query, enc_parameter_dictionary = self.pre_prepare_statement(
|
|
320
324
|
last_query, encrypt_parameters, match_regex=REGEX_enc_query_argument,
|
|
321
325
|
encryption_key=encryption_key, for_prepare=do_prepare_only is not False and do_prepare_only is not None,
|
|
322
|
-
skipped_singletons=skipped_singletons)
|
|
326
|
+
skipped_singletons=skipped_singletons, query_name=query_key)
|
|
323
327
|
|
|
324
328
|
last_query = self.encrypt_literals(last_query, encryption_key)
|
|
325
329
|
found_params = {**found_parameter_dictionary, **enc_parameter_dictionary}
|
|
@@ -664,7 +668,8 @@ class InterpretJAAQL:
|
|
|
664
668
|
return new_query + query[last_end_match:]
|
|
665
669
|
|
|
666
670
|
def pre_prepare_statement(self, query, parameters, match_regex: str = REGEX_query_argument, encryption_key: bytes = None,
|
|
667
|
-
require_presence: bool = True, for_prepare: bool = False, skipped_singletons: list[str] = None
|
|
671
|
+
require_presence: bool = True, for_prepare: bool = False, skipped_singletons: list[str] = None,
|
|
672
|
+
query_name: str = None):
|
|
668
673
|
prepared = ""
|
|
669
674
|
last_index = 0
|
|
670
675
|
found_parameters = []
|
|
@@ -692,7 +697,7 @@ class InterpretJAAQL:
|
|
|
692
697
|
if skipped_singletons is not None and len(skipped_singletons) != 0:
|
|
693
698
|
missing_str += ". Is it possible the parameter exists in one of the following restricted singletons: " + ", ".join(
|
|
694
699
|
missing_str) + "?"
|
|
695
|
-
raise
|
|
700
|
+
raise MissingParameterInQuery(missing_str, query_name, {"parameter": match_str})
|
|
696
701
|
else:
|
|
697
702
|
continue
|
|
698
703
|
elif match_str not in parameters and match_str in MARKERS:
|
{jaaql-middleware-python-4.23.8 → jaaql-middleware-python-4.23.10}/jaaql/mvc/base_controller.py
RENAMED
|
@@ -723,7 +723,8 @@ class BaseJAAQLController:
|
|
|
723
723
|
"table_name": error.table_name,
|
|
724
724
|
"index": error.index,
|
|
725
725
|
"column_name": error.column_name,
|
|
726
|
-
"descriptor": error.descriptor
|
|
726
|
+
"descriptor": error.descriptor,
|
|
727
|
+
"set": error.set
|
|
727
728
|
})
|
|
728
729
|
res.status = error.response_code
|
|
729
730
|
return BaseJAAQLController._cors(res)
|