From cd24e42f2340e6dfc0416a449d42476404736c39 Mon Sep 17 00:00:00 2001 From: Daniel Gaspar Date: Fri, 4 Sep 2020 15:57:01 +0100 Subject: [PATCH 1/2] fix: Database API missing allow none on fields --- superset/databases/schemas.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/superset/databases/schemas.py b/superset/databases/schemas.py index dff09f9c015c6..bd592b12abb81 100644 --- a/superset/databases/schemas.py +++ b/superset/databases/schemas.py @@ -215,7 +215,9 @@ class DatabasePostSchema(Schema): database_name = fields.String( description=database_name_description, required=True, validate=Length(1, 250), ) - cache_timeout = fields.Integer(description=cache_timeout_description) + cache_timeout = fields.Integer( + description=cache_timeout_description, allow_none=True + ) expose_in_sqllab = fields.Boolean(description=expose_in_sqllab_description) allow_run_async = fields.Boolean(description=allow_run_async_description) allow_csv_upload = fields.Boolean(description=allow_csv_upload_description) @@ -230,11 +232,15 @@ class DatabasePostSchema(Schema): ) impersonate_user = fields.Boolean(description=impersonate_user_description) encrypted_extra = fields.String( - description=encrypted_extra_description, validate=encrypted_extra_validator + description=encrypted_extra_description, + validate=encrypted_extra_validator, + allow_none=True, ) extra = fields.String(description=extra_description, validate=extra_validator) server_cert = fields.String( - description=server_cert_description, validate=server_cert_validator + description=server_cert_description, + allow_none=True, + validate=server_cert_validator, ) sqlalchemy_uri = fields.String( description=sqlalchemy_uri_description, @@ -247,7 +253,9 @@ class DatabasePutSchema(Schema): database_name = fields.String( description=database_name_description, allow_none=True, validate=Length(1, 250), ) - cache_timeout = fields.Integer(description=cache_timeout_description) + cache_timeout = fields.Integer( + description=cache_timeout_description, allow_none=True + ) expose_in_sqllab = fields.Boolean(description=expose_in_sqllab_description) allow_run_async = fields.Boolean(description=allow_run_async_description) allow_csv_upload = fields.Boolean(description=allow_csv_upload_description) @@ -262,11 +270,15 @@ class DatabasePutSchema(Schema): ) impersonate_user = fields.Boolean(description=impersonate_user_description) encrypted_extra = fields.String( - description=encrypted_extra_description, validate=encrypted_extra_validator + description=encrypted_extra_description, + allow_none=True, + validate=encrypted_extra_validator, ) extra = fields.String(description=extra_description, validate=extra_validator) server_cert = fields.String( - description=server_cert_description, validate=server_cert_validator + description=server_cert_description, + allow_none=True, + validate=server_cert_validator, ) sqlalchemy_uri = fields.String( description=sqlalchemy_uri_description, From 3f54ffc8ba54cdc4bb3d1c6be9d73e503428beaf Mon Sep 17 00:00:00 2001 From: Daniel Gaspar Date: Fri, 4 Sep 2020 15:59:12 +0100 Subject: [PATCH 2/2] one missing --- superset/databases/schemas.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/superset/databases/schemas.py b/superset/databases/schemas.py index bd592b12abb81..5045617e8c6c9 100644 --- a/superset/databases/schemas.py +++ b/superset/databases/schemas.py @@ -225,7 +225,9 @@ class DatabasePostSchema(Schema): allow_cvas = fields.Boolean(description=allow_cvas_description) allow_dml = fields.Boolean(description=allow_dml_description) force_ctas_schema = fields.String( - description=force_ctas_schema_description, validate=Length(0, 250) + description=force_ctas_schema_description, + allow_none=True, + validate=Length(0, 250), ) allow_multi_schema_metadata_fetch = fields.Boolean( description=allow_multi_schema_metadata_fetch_description, @@ -263,7 +265,9 @@ class DatabasePutSchema(Schema): allow_cvas = fields.Boolean(description=allow_cvas_description) allow_dml = fields.Boolean(description=allow_dml_description) force_ctas_schema = fields.String( - description=force_ctas_schema_description, validate=Length(0, 250) + description=force_ctas_schema_description, + allow_none=True, + validate=Length(0, 250), ) allow_multi_schema_metadata_fetch = fields.Boolean( description=allow_multi_schema_metadata_fetch_description