From 6c544d29c2d0a4bd9ed1a89c508af3818459402d Mon Sep 17 00:00:00 2001 From: John Bodley <4567245+john-bodley@users.noreply.github.com> Date: Sat, 20 Jun 2020 21:17:33 -0700 Subject: [PATCH] chore(mypy): Fixing can_access_database types (#10119) Co-authored-by: John Bodley --- superset/security/manager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/superset/security/manager.py b/superset/security/manager.py index 9888bdd9e970..010711528223 100644 --- a/superset/security/manager.py +++ b/superset/security/manager.py @@ -50,6 +50,7 @@ if TYPE_CHECKING: from superset.common.query_context import QueryContext from superset.connectors.base.models import BaseDatasource + from superset.connectors.druid.models import DruidCluster from superset.models.core import Database from superset.sql_parse import Table from superset.viz import BaseViz @@ -230,13 +231,16 @@ def can_access_all_databases(self) -> bool: return self.can_access("all_database_access", "all_database_access") - def can_access_database(self, database: "Database") -> bool: + def can_access_database(self, database: Union["Database", "DruidCluster"]) -> bool: """ Return True if the user can access the Superset database, False otherwise. + Note for Druid the database is akin to the Druid cluster. + :param database: The Superset database :returns: Whether the user can access the Superset database """ + return ( self.can_access_all_datasources() or self.can_access_all_databases()