Skip to content

Commit

Permalink
Changing order
Browse files Browse the repository at this point in the history
  • Loading branch information
Vitor-Avila committed Feb 12, 2025
1 parent 5d79c04 commit 0d87643
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
11 changes: 4 additions & 7 deletions superset/commands/database/resync_permissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,10 @@ def validate(self) -> None:
if not self._model:
raise DatabaseNotFoundError()

# If OAuth2 connection, we need to impersonate
# the current user to trigger the resync
if self._model.is_oauth2_enabled():
if not self._username:
raise UserNotFoundError()
if not security_manager.get_user_by_username(self._username):
raise UserNotFoundError()
if not self._username or not security_manager.get_user_by_username(
self._username
):
raise UserNotFoundError()

# Make sure the connection works before delegating the task
def ping(engine: Engine) -> bool:
Expand Down
11 changes: 7 additions & 4 deletions superset/tasks/permissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,19 @@


@celery_app.task(name="resync_database_permissions", soft_time_limit=600)
def resync_database_permissions(database_id: int, username: str | None) -> None:
def resync_database_permissions(database_id: int, username: str) -> None:
logger.info("Resyncing permissions for DB connection ID %s", database_id)
if user := security_manager.get_user_by_username(username):
g.user = user
logger.info("Impersonating user ID %s", g.user.id)
else:
logger.error("No user to impersonate/validate permissions")
return
database = DatabaseDAO.find_by_id(database_id)
ssh_tunnel = DatabaseDAO.get_ssh_tunnel(database_id)
if not database:
logger.error("Database ID %s not found", database_id)
return
if username and (user := security_manager.get_user_by_username(username)):
g.user = user
logger.info("Impersonating user ID %s", g.user.id)
cmmd = UpdateDatabaseCommand(database_id, {})
try:
cmmd._refresh_catalogs(database, database.name, ssh_tunnel)
Expand Down

0 comments on commit 0d87643

Please sign in to comment.