jaaql-middleware-python 4.23.12__tar.gz → 4.23.13__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 (75) hide show
  1. {jaaql-middleware-python-4.23.12/jaaql_middleware_python.egg-info → jaaql-middleware-python-4.23.13}/PKG-INFO +1 -1
  2. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/constants.py +1 -1
  3. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/exceptions/jaaql_interpretable_handled_errors.py +4 -4
  4. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/interpreter/interpret_jaaql.py +12 -16
  5. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/mvc/exception_queries.py +1 -1
  6. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/mvc/generated_queries.py +1 -1
  7. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/scripts/04.install_jaaql_data_structures.generated.sql +621 -623
  8. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13/jaaql_middleware_python.egg-info}/PKG-INFO +1 -1
  9. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/LICENSE.txt +0 -0
  10. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/README.md +0 -0
  11. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/__init__.py +0 -0
  12. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/config/__init__.py +0 -0
  13. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/config/config-docker.ini +0 -0
  14. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/config/config-test.ini +0 -0
  15. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/config/config.ini +0 -0
  16. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/config_constants.py +0 -0
  17. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/db/__init__.py +0 -0
  18. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/db/db_interface.py +0 -0
  19. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/db/db_pg_interface.py +0 -0
  20. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/db/db_utils.py +0 -0
  21. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/db/db_utils_no_circ.py +0 -0
  22. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/documentation/__init__.py +0 -0
  23. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/documentation/documentation_internal.py +0 -0
  24. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/documentation/documentation_public.py +0 -0
  25. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/documentation/documentation_shared.py +0 -0
  26. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/email/__init__.py +0 -0
  27. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/email/email_manager.py +0 -0
  28. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/email/email_manager_service.py +0 -0
  29. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/email/patch_ems.py +0 -0
  30. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/exceptions/__init__.py +0 -0
  31. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/exceptions/custom_http_status.py +0 -0
  32. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/exceptions/http_status_exception.py +0 -0
  33. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/exceptions/not_yet_implement_exception.py +0 -0
  34. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/generated_constants.py +0 -0
  35. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/interpreter/__init__.py +0 -0
  36. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/jaaql.py +0 -0
  37. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/migrations/__init__.py +0 -0
  38. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/migrations/migration_history.sql +0 -0
  39. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/migrations/migrations.py +0 -0
  40. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/mvc/__init__.py +0 -0
  41. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/mvc/base_controller.py +0 -0
  42. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/mvc/base_model.py +0 -0
  43. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/mvc/controller.py +0 -0
  44. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/mvc/controller_interface.py +0 -0
  45. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/mvc/handmade_queries.py +0 -0
  46. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/mvc/model.py +0 -0
  47. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/mvc/model_interface.py +0 -0
  48. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/mvc/response.py +0 -0
  49. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/openapi/__init__.py +0 -0
  50. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/openapi/swagger_documentation.py +0 -0
  51. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/patch.py +0 -0
  52. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/scripts/01.install_domains.generated.sql +0 -0
  53. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/scripts/02.install_super_user.exceptions.sql +0 -0
  54. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/scripts/03.install_super_user.handwritten.sql +0 -0
  55. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/scripts/05.install_jaaql.exceptions.sql +0 -0
  56. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/scripts/06.install_jaaql.handwritten.sql +0 -0
  57. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/scripts/swagger_template.html +0 -0
  58. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/services/__init__.py +0 -0
  59. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/services/cached_canned_query_service.py +0 -0
  60. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/services/migrations_manager_service.py +0 -0
  61. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/services/patch_mms.py +0 -0
  62. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/services/patch_shared_var_service.py +0 -0
  63. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/services/shared_var_service.py +0 -0
  64. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/utilities/__init__.py +0 -0
  65. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/utilities/crypt_utils.py +0 -0
  66. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/utilities/options.py +0 -0
  67. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/utilities/utils.py +0 -0
  68. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/utilities/utils_no_project_imports.py +0 -0
  69. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql/utilities/vault.py +0 -0
  70. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql_middleware_python.egg-info/SOURCES.txt +0 -0
  71. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql_middleware_python.egg-info/dependency_links.txt +0 -0
  72. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql_middleware_python.egg-info/requires.txt +0 -0
  73. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/jaaql_middleware_python.egg-info/top_level.txt +0 -0
  74. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/setup.cfg +0 -0
  75. {jaaql-middleware-python-4.23.12 → jaaql-middleware-python-4.23.13}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaaql-middleware-python
3
- Version: 4.23.12
3
+ Version: 4.23.13
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
@@ -179,5 +179,5 @@ ROLE__postgres = "postgres"
179
179
 
180
180
  PROTOCOL__postgres = "postgresql://"
181
181
 
182
- VERSION = "4.23.12"
182
+ VERSION = "4.23.13"
183
183
 
@@ -184,12 +184,12 @@ class InvalidSecurityEventLock(JaaqlInterpretableHandledError):
184
184
 
185
185
 
186
186
  class MissingParameterInQuery(JaaqlInterpretableHandledError):
187
- def __init__(self, message, _set, descriptor=None):
187
+ def __init__(self, _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=message,
192
+ message="A query has been sent that expects a parameter but this parameter has not been provided",
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, message, descriptor=None):
201
+ def __init__(self, descriptor=None):
202
202
  super().__init__(
203
203
  error_code=1015,
204
204
  http_response_code=422,
205
205
  table_name=None,
206
- message=message,
206
+ message="A parameter has been sent to a query that has not been used",
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, ExpectedParameterInQuery, MissingParameterInQuery
15
+ SingletonExpected
16
16
  from typing import Union
17
17
 
18
18
 
@@ -220,8 +220,9 @@ class InterpretJAAQL:
220
220
  exc_state = None
221
221
 
222
222
  try:
223
- check_unused = unused_orig_parameters.copy()
224
223
  if prevent_unused_parameters:
224
+ check_unused = unused_orig_parameters.copy()
225
+
225
226
  for query_key, query_obj in query.items():
226
227
  was_store = is_dict_query and KEY_store in query_obj
227
228
  if was_store:
@@ -229,20 +230,21 @@ class InterpretJAAQL:
229
230
  else:
230
231
  cur_query = query_obj[KEY_query]
231
232
 
232
- last_query, found_parameter_dictionary = self.pre_prepare_statement(cur_query, parameters, require_presence=False,
233
- query_name=query_key)
233
+ last_query, found_parameter_dictionary = self.pre_prepare_statement(cur_query, parameters, require_presence=False)
234
234
  enc_parameter_dictionary = {}
235
235
  encrypt_parameters = {key: val for key, val in parameters.items() if key not in found_parameter_dictionary}
236
236
  if len(encrypt_parameters) != 0:
237
237
  last_query, enc_parameter_dictionary = self.pre_prepare_statement(last_query, encrypt_parameters,
238
238
  match_regex=REGEX_enc_query_argument,
239
239
  encryption_key=encryption_key,
240
- require_presence=False,
241
- query_name=query_key)
240
+ require_presence=False)
242
241
 
243
242
  found_params = {**found_parameter_dictionary, **enc_parameter_dictionary}
244
243
  check_unused -= set(found_params.keys())
245
244
 
245
+ if len(check_unused):
246
+ raise HttpStatusException(ERR_unused_parameter % list(check_unused)[0], HTTPStatus.BAD_REQUEST)
247
+
246
248
  for query_key, query_obj in query.items():
247
249
  exc_query_key = query_key
248
250
  replacement_parameters = {**past_parameters, **parameters, **query_obj[KEY_parameters]}
@@ -307,7 +309,7 @@ class InterpretJAAQL:
307
309
  exc_row_number = cur_parameters.get(KEY__row_number)
308
310
  last_query, found_parameter_dictionary = self.pre_prepare_statement(
309
311
  cur_query, cur_parameters, for_prepare=do_prepare_only is not False and do_prepare_only is not None,
310
- skipped_singletons=skipped_singletons, query_name=query_key)
312
+ skipped_singletons=skipped_singletons)
311
313
 
312
314
  enc_parameter_dictionary = {}
313
315
 
@@ -317,7 +319,7 @@ class InterpretJAAQL:
317
319
  last_query, enc_parameter_dictionary = self.pre_prepare_statement(
318
320
  last_query, encrypt_parameters, match_regex=REGEX_enc_query_argument,
319
321
  encryption_key=encryption_key, for_prepare=do_prepare_only is not False and do_prepare_only is not None,
320
- skipped_singletons=skipped_singletons, query_name=query_key)
322
+ skipped_singletons=skipped_singletons)
321
323
 
322
324
  last_query = self.encrypt_literals(last_query, encryption_key)
323
325
  found_params = {**found_parameter_dictionary, **enc_parameter_dictionary}
@@ -391,11 +393,6 @@ class InterpretJAAQL:
391
393
  res["rows"] = [
392
394
  [decrypt_raw_ex(encryption_key, val) if col in query_obj[KEY_decrypt] and val is not None else val for val, col in
393
395
  zip(row, res["columns"])] for row in res["rows"]]
394
-
395
- if len(check_unused) and prevent_unused_parameters:
396
- raise ExpectedParameterInQuery(ERR_unused_parameter % list(check_unused)[0], {
397
- "parameters": list(check_unused)
398
- })
399
396
  except Exception as ex:
400
397
  traceback.print_exc()
401
398
  if isinstance(ex, OperationalError):
@@ -667,8 +664,7 @@ class InterpretJAAQL:
667
664
  return new_query + query[last_end_match:]
668
665
 
669
666
  def pre_prepare_statement(self, query, parameters, match_regex: str = REGEX_query_argument, encryption_key: bytes = None,
670
- require_presence: bool = True, for_prepare: bool = False, skipped_singletons: list[str] = None,
671
- query_name: str = None):
667
+ require_presence: bool = True, for_prepare: bool = False, skipped_singletons: list[str] = None):
672
668
  prepared = ""
673
669
  last_index = 0
674
670
  found_parameters = []
@@ -696,7 +692,7 @@ class InterpretJAAQL:
696
692
  if skipped_singletons is not None and len(skipped_singletons) != 0:
697
693
  missing_str += ". Is it possible the parameter exists in one of the following restricted singletons: " + ", ".join(
698
694
  missing_str) + "?"
699
- raise MissingParameterInQuery(missing_str, query_name, {"parameter": match_str})
695
+ raise HttpStatusException(missing_str, HTTPStatus.BAD_REQUEST)
700
696
  else:
701
697
  continue
702
698
  elif match_str not in parameters and match_str in MARKERS:
@@ -1,5 +1,5 @@
1
1
  """
2
- This script was generated from jaaql.exceptions.fxli at 2024-05-31, 19:12:21
2
+ This script was generated from jaaql.exceptions.fxli at 2024-04-30, 13:33:05
3
3
  """
4
4
 
5
5
  from jaaql.utilities.crypt_utils import get_repeatable_salt
@@ -1,5 +1,5 @@
1
1
  """
2
- This script was generated from jaaql.fxli at 2024-05-31, 19:12:21
2
+ This script was generated from jaaql.fxli at 2024-04-30, 13:33:05
3
3
  """
4
4
 
5
5
  from jaaql.db.db_interface import DBInterface