Scheduled queries should include origin Username (#6368)

This commit is contained in:
Evgeny
2023-08-16 06:20:19 +03:00
committed by GitHub
parent f8934b8312
commit 4a5c9c2630
4 changed files with 9 additions and 6 deletions

View File

@@ -105,7 +105,7 @@ def run_query(query, parameters, data_source, query_id, should_apply_auto_limit,
current_user.id,
current_user.is_api_user(),
metadata={
"Username": repr(current_user) if current_user.is_api_user() else current_user.email,
"Username": current_user.get_actual_user(),
"query_id": query_id,
},
)

View File

@@ -236,6 +236,9 @@ class User(TimestampMixin, db.Model, BelongsToOrgMixin, UserMixin, PermissionsCh
identity = hashlib.md5("{},{}".format(self.email, self.password_hash).encode()).hexdigest()
return "{0}-{1}".format(self.id, identity)
def get_actual_user(self):
return repr(self) if self.is_api_user() else self.email
@generic_repr("id", "name", "type", "org_id")
class Group(db.Model, BelongsToOrgMixin):

View File

@@ -96,7 +96,7 @@ def refresh_queries():
query.data_source,
query.user_id,
scheduled_query=query,
metadata={"query_id": query.id, "Username": "Scheduled"},
metadata={"query_id": query.id, "Username": query.user.get_actual_user()},
)
enqueued.append(query)
except Exception as e:

View File

@@ -30,14 +30,14 @@ class TestRefreshQuery(BaseTestCase):
query1.data_source,
query1.user_id,
scheduled_query=query1,
metadata={"query_id": query1.id, "Username": "Scheduled"},
metadata={"query_id": query1.id, "Username": query1.user.get_actual_user()},
),
call(
"select 42 LIMIT 1000",
query2.data_source,
query2.user_id,
scheduled_query=query2,
metadata={"query_id": query2.id, "Username": "Scheduled"},
metadata={"query_id": query2.id, "Username": query2.user.get_actual_user()},
),
],
any_order=True,
@@ -62,14 +62,14 @@ class TestRefreshQuery(BaseTestCase):
query1.data_source,
query1.user_id,
scheduled_query=query1,
metadata={"query_id": query1.id, "Username": "Scheduled"},
metadata={"query_id": query1.id, "Username": query1.user.get_actual_user()},
),
call(
query2.query_text,
query2.data_source,
query2.user_id,
scheduled_query=query2,
metadata={"query_id": query2.id, "Username": "Scheduled"},
metadata={"query_id": query2.id, "Username": query2.user.get_actual_user()},
),
],
any_order=True,