fix: use custom int parsing over flask int parsing in sqllab queries endpoint (#10070)

This commit is contained in:
ʈᵃᵢ 2020-06-16 12:58:32 -07:00 committed by GitHub
parent 334bd6e989
commit 26120467af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -2658,14 +2658,15 @@ class Superset(BaseSupersetView):
return json_success(json.dumps(datasource.data))
@has_access_api
@expose("/queries/<int:last_updated_ms>")
def queries(self, last_updated_ms: int) -> FlaskResponse:
@expose("/queries/<last_updated_ms>")
def queries(self, last_updated_ms: str) -> FlaskResponse:
"""
Get the updated queries.
:param last_updated_ms: unix time, milliseconds
"""
return self.queries_exec(last_updated_ms)
last_updated_ms_int = int(float(last_updated_ms)) if last_updated_ms else 0
return self.queries_exec(last_updated_ms_int)
def queries_exec(self, last_updated_ms: int) -> FlaskResponse:
stats_logger.incr("queries")

View File

@ -210,7 +210,7 @@ class SqlLabTests(SupersetTestCase):
db.session.commit()
data = self.get_json_resp(
"/superset/queries/{}".format(int(datetime_to_epoch(now)) - 1000)
"/superset/queries/{}".format(float(datetime_to_epoch(now)) - 1000)
)
self.assertEqual(1, len(data))