jaaql-middleware-python 4.24.1__tar.gz → 4.24.3__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 (76) hide show
  1. {jaaql-middleware-python-4.24.1/jaaql_middleware_python.egg-info → jaaql-middleware-python-4.24.3}/PKG-INFO +1 -1
  2. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/constants.py +2 -2
  3. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/documentation/documentation_public.py +0 -1
  4. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/migrations/migrations.py +87 -87
  5. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/mvc/exception_queries.py +245 -245
  6. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/mvc/generated_queries.py +1829 -1829
  7. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/mvc/model.py +44 -36
  8. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/scripts/01.install_domains.generated.sql +35 -35
  9. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/scripts/04.install_jaaql_data_structures.generated.sql +5184 -5184
  10. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/scripts/ZZZZ.generated_functions_views_and_permissions.sql +4488 -4488
  11. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/scripts/ZZZZ.reset_references.sql +107 -107
  12. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3/jaaql_middleware_python.egg-info}/PKG-INFO +1 -1
  13. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/LICENSE.txt +0 -0
  14. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/README.md +0 -0
  15. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/__init__.py +0 -0
  16. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/config/__init__.py +0 -0
  17. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/config/config-docker.ini +0 -0
  18. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/config/config-test.ini +0 -0
  19. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/config/config.ini +0 -0
  20. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/config_constants.py +0 -0
  21. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/db/__init__.py +0 -0
  22. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/db/db_interface.py +0 -0
  23. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/db/db_pg_interface.py +0 -0
  24. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/db/db_utils.py +0 -0
  25. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/db/db_utils_no_circ.py +0 -0
  26. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/documentation/__init__.py +0 -0
  27. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/documentation/documentation_internal.py +0 -0
  28. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/documentation/documentation_shared.py +0 -0
  29. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/email/__init__.py +0 -0
  30. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/email/email_manager.py +0 -0
  31. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/email/email_manager_service.py +0 -0
  32. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/email/patch_ems.py +0 -0
  33. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/exceptions/__init__.py +0 -0
  34. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/exceptions/custom_http_status.py +0 -0
  35. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/exceptions/http_status_exception.py +0 -0
  36. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/exceptions/jaaql_interpretable_handled_errors.py +0 -0
  37. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/exceptions/not_yet_implement_exception.py +0 -0
  38. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/generated_constants.py +0 -0
  39. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/interpreter/__init__.py +0 -0
  40. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/interpreter/interpret_jaaql.py +0 -0
  41. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/jaaql.py +0 -0
  42. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/migrations/__init__.py +0 -0
  43. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/mvc/__init__.py +0 -0
  44. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/mvc/base_controller.py +0 -0
  45. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/mvc/base_model.py +0 -0
  46. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/mvc/controller.py +0 -0
  47. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/mvc/controller_interface.py +0 -0
  48. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/mvc/handmade_queries.py +0 -0
  49. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/mvc/model_interface.py +0 -0
  50. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/mvc/response.py +0 -0
  51. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/openapi/__init__.py +0 -0
  52. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/openapi/swagger_documentation.py +0 -0
  53. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/patch.py +0 -0
  54. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/scripts/02.install_super_user.exceptions.sql +0 -0
  55. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/scripts/03.install_super_user.handwritten.sql +0 -0
  56. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/scripts/05.install_jaaql.exceptions.sql +0 -0
  57. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/scripts/06.install_jaaql.handwritten.sql +0 -0
  58. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/scripts/swagger_template.html +0 -0
  59. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/services/__init__.py +0 -0
  60. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/services/cached_canned_query_service.py +0 -0
  61. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/services/migrations_manager_service.py +0 -0
  62. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/services/patch_mms.py +0 -0
  63. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/services/patch_shared_var_service.py +0 -0
  64. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/services/shared_var_service.py +0 -0
  65. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/utilities/__init__.py +0 -0
  66. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/utilities/crypt_utils.py +0 -0
  67. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/utilities/options.py +0 -0
  68. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/utilities/utils.py +0 -0
  69. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/utilities/utils_no_project_imports.py +0 -0
  70. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql/utilities/vault.py +0 -0
  71. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql_middleware_python.egg-info/SOURCES.txt +0 -0
  72. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql_middleware_python.egg-info/dependency_links.txt +0 -0
  73. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql_middleware_python.egg-info/requires.txt +0 -0
  74. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/jaaql_middleware_python.egg-info/top_level.txt +0 -0
  75. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/setup.cfg +0 -0
  76. {jaaql-middleware-python-4.24.1 → jaaql-middleware-python-4.24.3}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaaql-middleware-python
3
- Version: 4.24.1
3
+ Version: 4.24.3
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,7 +52,7 @@ CRON_dayOfMonth = "dayOfMonth"
52
52
  CRON_month = "month"
53
53
  CRON_dayOfWeek = "dayOfWeek"
54
54
 
55
- REGEX__dmbs_object_name = r'^[0-9a-zA-Z_]{1,32}$'
55
+ REGEX__dmbs_object_name = r'^[0-9a-zA-Z_]{1,63}$'
56
56
 
57
57
  SEPARATOR__comma_space = ", "
58
58
  SEPARATOR__comma = ","
@@ -180,5 +180,5 @@ ROLE__postgres = "postgres"
180
180
 
181
181
  PROTOCOL__postgres = "postgresql://"
182
182
 
183
- VERSION = "4.24.1"
183
+ VERSION = "4.24.3"
184
184
 
@@ -291,7 +291,6 @@ DOCUMENTATION__invite = SwaggerDocumentation(
291
291
  body=[
292
292
  set_nullable(ARG_RES__username, "Potentially if the user is not known"),
293
293
  ARG_RES__parameters,
294
- ARG_RES__query,
295
294
  ARG_RES__event_application,
296
295
  SwaggerArgumentResponse(
297
296
  name=KEY__sign_up_template,
@@ -1,87 +1,87 @@
1
- import os
2
-
3
- from jaaql.db.db_interface import DBInterface
4
- from jaaql.utilities.utils import time_delta_ms, get_jaaql_root
5
- from datetime import datetime
6
- from os.path import join
7
- from os import listdir
8
- from monitor.main import initialise, MARKER__bypass, MARKER__jaaql_bypass, DEFAULT_CONNECTION
9
- from jaaql.constants import USERNAME__jaaql, USERNAME__super_db, DB__jaaql, DB__postgres, USERNAME__superuser
10
- from jaaql.mvc.generated_queries import jaaql__select, KG__jaaql__migration_version, jaaql__update
11
-
12
-
13
- MIGRATION_HISTORY = "migration_history"
14
-
15
-
16
- QUERY_LOAD_TABLE = "SELECT * FROM %s WHERE project_name = :project_name" % MIGRATION_HISTORY
17
- ATTR_PROJECT_NAME = "project_name"
18
- QUERY_INS_TABLE = "INSERT INTO %s (project_name, installed_rank, version, description, script, checksum, execution_time) VALUES (:project_name, :installed_rank, :version, :description, :script, :checksum, :execution_time)" % MIGRATION_HISTORY
19
- ATTR_INSTALLED_RANK = "installed_rank"
20
- ATTR_VERSION = "version"
21
- ATTR_DESCRIPTION = "description"
22
- ATTR_SCRIPT = "script"
23
- ATTR_CHECKSUM = "checksum"
24
- ATTR_EXECUTION_TIME = "execution_time"
25
- PATH_MIGRATIONS = "migrations"
26
- PATH_SCRIPTS = "scripts"
27
- SCRIPT_MIGRATION_HISTORY = "migration_history.sql"
28
- EXTENSION_JAAQL = ".jaaql"
29
-
30
- VERSION_SPLIT = "__"
31
- WORD_SPLIT = "_"
32
-
33
-
34
- def compare_versions(version1, version2):
35
- # Split the version strings into major, minor, and patch
36
- v1_parts = [int(part) for part in version1.split('.')]
37
- v2_parts = [int(part) for part in version2.split('.')]
38
-
39
- # Pad the versions to ensure both have the same length (e.g., handle cases like '1.0' vs '1.0.0')
40
- while len(v1_parts) < len(v2_parts):
41
- v1_parts.append(0)
42
- while len(v2_parts) < len(v1_parts):
43
- v2_parts.append(0)
44
-
45
- # Compare major, minor, and patch versions
46
- for i in range(len(v1_parts)):
47
- if v1_parts[i] < v2_parts[i]:
48
- return -1
49
- elif v1_parts[i] > v2_parts[i]:
50
- return 1
51
-
52
- return 0
53
-
54
-
55
- def run_migrations(host: str, bypass_super: str, bypass_jaaql: str, db_interface: DBInterface):
56
- migration_folder = join(get_jaaql_root(), PATH_MIGRATIONS, PATH_SCRIPTS)
57
- print("Launching migration manager on folder: " + migration_folder)
58
-
59
- jaaql_singleton = jaaql__select(db_interface)
60
- migration_from_version = "0.0.0"
61
- if KG__jaaql__migration_version in jaaql_singleton:
62
- migration_from_version = jaaql_singleton[KG__jaaql__migration_version]
63
-
64
- script_files = sorted([script_file for script_file in listdir(migration_folder) if
65
- script_file.endswith(EXTENSION_JAAQL)])
66
- for script_file in script_files:
67
- script_file_version = ".".join(script_file.split(".")[:-1]).split("__")[0]
68
- if compare_versions(migration_from_version, script_file_version) >= 0:
69
- print("Migration " + script_file_version + " already installed")
70
- continue
71
-
72
- print("Installing migration " + script_file_version)
73
-
74
- actual_file_name = join(migration_folder, script_file)
75
-
76
- encoded_configs = [[DEFAULT_CONNECTION, host, USERNAME__jaaql, MARKER__jaaql_bypass + bypass_jaaql, DB__jaaql],
77
- [USERNAME__jaaql, host, USERNAME__jaaql, MARKER__jaaql_bypass + bypass_jaaql, DB__jaaql],
78
- ["dba", host, USERNAME__jaaql, MARKER__jaaql_bypass + bypass_jaaql, DB__jaaql],
79
- ["dba_db", host, USERNAME__jaaql, MARKER__jaaql_bypass + bypass_jaaql, DB__jaaql],
80
- [USERNAME__superuser, host, USERNAME__super_db, MARKER__bypass + bypass_super, DB__postgres]]
81
-
82
- start_time = datetime.now()
83
- initialise(actual_file_name, configs=[], encoded_configs=encoded_configs, override_url=host)
84
-
85
- execution_time = time_delta_ms(start_time, datetime.now())
86
- print("Executed migration " + script_file + " in " + str(execution_time) + "ms")
87
- jaaql__update(db_interface, migration_version=script_file_version)
1
+ import os
2
+
3
+ from jaaql.db.db_interface import DBInterface
4
+ from jaaql.utilities.utils import time_delta_ms, get_jaaql_root
5
+ from datetime import datetime
6
+ from os.path import join
7
+ from os import listdir
8
+ from monitor.main import initialise, MARKER__bypass, MARKER__jaaql_bypass, DEFAULT_CONNECTION
9
+ from jaaql.constants import USERNAME__jaaql, USERNAME__super_db, DB__jaaql, DB__postgres, USERNAME__superuser
10
+ from jaaql.mvc.generated_queries import jaaql__select, KG__jaaql__migration_version, jaaql__update
11
+
12
+
13
+ MIGRATION_HISTORY = "migration_history"
14
+
15
+
16
+ QUERY_LOAD_TABLE = "SELECT * FROM %s WHERE project_name = :project_name" % MIGRATION_HISTORY
17
+ ATTR_PROJECT_NAME = "project_name"
18
+ QUERY_INS_TABLE = "INSERT INTO %s (project_name, installed_rank, version, description, script, checksum, execution_time) VALUES (:project_name, :installed_rank, :version, :description, :script, :checksum, :execution_time)" % MIGRATION_HISTORY
19
+ ATTR_INSTALLED_RANK = "installed_rank"
20
+ ATTR_VERSION = "version"
21
+ ATTR_DESCRIPTION = "description"
22
+ ATTR_SCRIPT = "script"
23
+ ATTR_CHECKSUM = "checksum"
24
+ ATTR_EXECUTION_TIME = "execution_time"
25
+ PATH_MIGRATIONS = "migrations"
26
+ PATH_SCRIPTS = "scripts"
27
+ SCRIPT_MIGRATION_HISTORY = "migration_history.sql"
28
+ EXTENSION_JAAQL = ".jaaql"
29
+
30
+ VERSION_SPLIT = "__"
31
+ WORD_SPLIT = "_"
32
+
33
+
34
+ def compare_versions(version1, version2):
35
+ # Split the version strings into major, minor, and patch
36
+ v1_parts = [int(part) for part in version1.split('.')]
37
+ v2_parts = [int(part) for part in version2.split('.')]
38
+
39
+ # Pad the versions to ensure both have the same length (e.g., handle cases like '1.0' vs '1.0.0')
40
+ while len(v1_parts) < len(v2_parts):
41
+ v1_parts.append(0)
42
+ while len(v2_parts) < len(v1_parts):
43
+ v2_parts.append(0)
44
+
45
+ # Compare major, minor, and patch versions
46
+ for i in range(len(v1_parts)):
47
+ if v1_parts[i] < v2_parts[i]:
48
+ return -1
49
+ elif v1_parts[i] > v2_parts[i]:
50
+ return 1
51
+
52
+ return 0
53
+
54
+
55
+ def run_migrations(host: str, bypass_super: str, bypass_jaaql: str, db_interface: DBInterface):
56
+ migration_folder = join(get_jaaql_root(), PATH_MIGRATIONS, PATH_SCRIPTS)
57
+ print("Launching migration manager on folder: " + migration_folder)
58
+
59
+ jaaql_singleton = jaaql__select(db_interface)
60
+ migration_from_version = "0.0.0"
61
+ if KG__jaaql__migration_version in jaaql_singleton:
62
+ migration_from_version = jaaql_singleton[KG__jaaql__migration_version]
63
+
64
+ script_files = sorted([script_file for script_file in listdir(migration_folder) if
65
+ script_file.endswith(EXTENSION_JAAQL)])
66
+ for script_file in script_files:
67
+ script_file_version = ".".join(script_file.split(".")[:-1]).split("__")[0]
68
+ if compare_versions(migration_from_version, script_file_version) >= 0:
69
+ print("Migration " + script_file_version + " already installed")
70
+ continue
71
+
72
+ print("Installing migration " + script_file_version)
73
+
74
+ actual_file_name = join(migration_folder, script_file)
75
+
76
+ encoded_configs = [[DEFAULT_CONNECTION, host, USERNAME__jaaql, MARKER__jaaql_bypass + bypass_jaaql, DB__jaaql],
77
+ [USERNAME__jaaql, host, USERNAME__jaaql, MARKER__jaaql_bypass + bypass_jaaql, DB__jaaql],
78
+ ["dba", host, USERNAME__jaaql, MARKER__jaaql_bypass + bypass_jaaql, DB__jaaql],
79
+ ["dba_db", host, USERNAME__jaaql, MARKER__jaaql_bypass + bypass_jaaql, DB__jaaql],
80
+ [USERNAME__superuser, host, USERNAME__super_db, MARKER__bypass + bypass_super, DB__postgres]]
81
+
82
+ start_time = datetime.now()
83
+ initialise(actual_file_name, configs=[], encoded_configs=encoded_configs, override_url=host)
84
+
85
+ execution_time = time_delta_ms(start_time, datetime.now())
86
+ print("Executed migration " + script_file + " in " + str(execution_time) + "ms")
87
+ jaaql__update(db_interface, migration_version=script_file_version)