From 9b536ab2b5d398a41733790f2eeb70339f993fb7 Mon Sep 17 00:00:00 2001 From: Isman Firmansyah Date: Thu, 20 Oct 2022 15:24:06 +0700 Subject: [PATCH] fix(pycloudlib): set default values for JSONB column (#2651) * fix(pycloudlib): set default values for JSONB column * chore(jans-pycloudlib): updated build (#2652) Signed-off-by: mo-auto <54212639+mo-auto@users.noreply.github.com> Signed-off-by: mo-auto <54212639+mo-auto@users.noreply.github.com> Signed-off-by: mo-auto <54212639+mo-auto@users.noreply.github.com> Co-authored-by: mo-auto <54212639+mo-auto@users.noreply.github.com> --- docker-jans-auth-server/requirements.txt | 2 +- docker-jans-certmanager/requirements.txt | 2 +- docker-jans-config-api/requirements.txt | 2 +- docker-jans-configurator/requirements.txt | 2 +- docker-jans-fido2/requirements.txt | 2 +- docker-jans-persistence-loader/requirements.txt | 2 +- docker-jans-scim/requirements.txt | 2 +- jans-pycloudlib/jans/pycloudlib/persistence/sql.py | 12 ++++++++++-- 8 files changed, 17 insertions(+), 9 deletions(-) diff --git a/docker-jans-auth-server/requirements.txt b/docker-jans-auth-server/requirements.txt index 1b98f545e87..3846c8484a1 100644 --- a/docker-jans-auth-server/requirements.txt +++ b/docker-jans-auth-server/requirements.txt @@ -1,4 +1,4 @@ # pinned to py3-grpcio version to avoid failure on native extension build grpcio==1.41.0 libcst<0.4 -git+https://github.com/JanssenProject/jans@e74ea8e27e59d35ff6e3c6f997e6c1df6a04ec83#egg=jans-pycloudlib&subdirectory=jans-pycloudlib +git+https://github.com/JanssenProject/jans@7a59327522eac064cf03c296c71593dea506cd75#egg=jans-pycloudlib&subdirectory=jans-pycloudlib diff --git a/docker-jans-certmanager/requirements.txt b/docker-jans-certmanager/requirements.txt index 9b2f546da6a..3dc77593416 100644 --- a/docker-jans-certmanager/requirements.txt +++ b/docker-jans-certmanager/requirements.txt @@ -2,4 +2,4 @@ grpcio==1.41.0 click==6.7 libcst<0.4 -git+https://github.com/JanssenProject/jans@e74ea8e27e59d35ff6e3c6f997e6c1df6a04ec83#egg=jans-pycloudlib&subdirectory=jans-pycloudlib +git+https://github.com/JanssenProject/jans@7a59327522eac064cf03c296c71593dea506cd75#egg=jans-pycloudlib&subdirectory=jans-pycloudlib diff --git a/docker-jans-config-api/requirements.txt b/docker-jans-config-api/requirements.txt index 1b98f545e87..3846c8484a1 100644 --- a/docker-jans-config-api/requirements.txt +++ b/docker-jans-config-api/requirements.txt @@ -1,4 +1,4 @@ # pinned to py3-grpcio version to avoid failure on native extension build grpcio==1.41.0 libcst<0.4 -git+https://github.com/JanssenProject/jans@e74ea8e27e59d35ff6e3c6f997e6c1df6a04ec83#egg=jans-pycloudlib&subdirectory=jans-pycloudlib +git+https://github.com/JanssenProject/jans@7a59327522eac064cf03c296c71593dea506cd75#egg=jans-pycloudlib&subdirectory=jans-pycloudlib diff --git a/docker-jans-configurator/requirements.txt b/docker-jans-configurator/requirements.txt index 561d4e0d093..c1b0e205b0f 100644 --- a/docker-jans-configurator/requirements.txt +++ b/docker-jans-configurator/requirements.txt @@ -4,4 +4,4 @@ click==6.7 marshmallow==3.10.0 fqdn==1.4.0 libcst<0.4 -git+https://github.com/JanssenProject/jans@e74ea8e27e59d35ff6e3c6f997e6c1df6a04ec83#egg=jans-pycloudlib&subdirectory=jans-pycloudlib +git+https://github.com/JanssenProject/jans@7a59327522eac064cf03c296c71593dea506cd75#egg=jans-pycloudlib&subdirectory=jans-pycloudlib diff --git a/docker-jans-fido2/requirements.txt b/docker-jans-fido2/requirements.txt index 1b98f545e87..3846c8484a1 100644 --- a/docker-jans-fido2/requirements.txt +++ b/docker-jans-fido2/requirements.txt @@ -1,4 +1,4 @@ # pinned to py3-grpcio version to avoid failure on native extension build grpcio==1.41.0 libcst<0.4 -git+https://github.com/JanssenProject/jans@e74ea8e27e59d35ff6e3c6f997e6c1df6a04ec83#egg=jans-pycloudlib&subdirectory=jans-pycloudlib +git+https://github.com/JanssenProject/jans@7a59327522eac064cf03c296c71593dea506cd75#egg=jans-pycloudlib&subdirectory=jans-pycloudlib diff --git a/docker-jans-persistence-loader/requirements.txt b/docker-jans-persistence-loader/requirements.txt index efde6be53d9..6a2d3c3b318 100644 --- a/docker-jans-persistence-loader/requirements.txt +++ b/docker-jans-persistence-loader/requirements.txt @@ -2,4 +2,4 @@ grpcio==1.41.0 libcst<0.4 ruamel.yaml==0.16.10 -git+https://github.com/JanssenProject/jans@e74ea8e27e59d35ff6e3c6f997e6c1df6a04ec83#egg=jans-pycloudlib&subdirectory=jans-pycloudlib +git+https://github.com/JanssenProject/jans@7a59327522eac064cf03c296c71593dea506cd75#egg=jans-pycloudlib&subdirectory=jans-pycloudlib diff --git a/docker-jans-scim/requirements.txt b/docker-jans-scim/requirements.txt index 1b98f545e87..3846c8484a1 100644 --- a/docker-jans-scim/requirements.txt +++ b/docker-jans-scim/requirements.txt @@ -1,4 +1,4 @@ # pinned to py3-grpcio version to avoid failure on native extension build grpcio==1.41.0 libcst<0.4 -git+https://github.com/JanssenProject/jans@e74ea8e27e59d35ff6e3c6f997e6c1df6a04ec83#egg=jans-pycloudlib&subdirectory=jans-pycloudlib +git+https://github.com/JanssenProject/jans@7a59327522eac064cf03c296c71593dea506cd75#egg=jans-pycloudlib&subdirectory=jans-pycloudlib diff --git a/jans-pycloudlib/jans/pycloudlib/persistence/sql.py b/jans-pycloudlib/jans/pycloudlib/persistence/sql.py index 08abc331817..b3b4fa5e940 100644 --- a/jans-pycloudlib/jans/pycloudlib/persistence/sql.py +++ b/jans-pycloudlib/jans/pycloudlib/persistence/sql.py @@ -363,11 +363,19 @@ def insert_into(self, table_name: str, column_mapping: dict[str, _t.Any]) -> Non for column in table.c: unmapped = column.name not in column_mapping - is_json = column.type.__class__.__name__.lower() == "json" + + if self.dialect == "mysql": + json_type = "json" + json_default_values: dict[str, _t.Any] | list[_t.Any] = {"v": []} + else: + json_type = "jsonb" + json_default_values = [] + + is_json = bool(column.type.__class__.__name__.lower() == json_type) if not all([unmapped, is_json]): continue - column_mapping[column.name] = {"v": []} + column_mapping[column.name] = json_default_values query = table.insert().values(column_mapping) with self.engine.connect() as conn: