Skip to content

Commit c2a8edb

Browse files
committed
[DNA-10871]: Add query source header for redash queries
1 parent 5ad7f2e commit c2a8edb

File tree

5 files changed

+13
-10
lines changed

5 files changed

+13
-10
lines changed

Makefile

+4-4
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ build_stg:
6363

6464
build_prod:
6565
docker build --network=host -t careem-redash . &&\
66-
docker tag careem-redash 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:prod &&\
67-
docker push 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:prod &&\
68-
docker tag careem-redash 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:stg &&\
69-
docker push 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:stg
66+
docker tag careem-redash 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:11.0.0 &&\
67+
docker push 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:11.0.0 &&\
68+
docker tag careem-redash 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:latest &&\
69+
docker push 848569320300.dkr.ecr.eu-west-1.amazonaws.com/careem-redash:latest
7070

7171
build_karl_stg:
7272
docker build -t karllchris/redash-stg . && docker push karllchris/redash-stg

client/app/services/query-result.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -442,11 +442,11 @@ class QueryResult {
442442
return `${queryName.replace(/ /g, "_") + moment(this.getUpdatedAt()).format("_YYYY_MM_DD")}.${fileType}`;
443443
}
444444

445-
static getByQueryId(id, parameters, applyAutoLimit, maxAge) {
445+
static getByQueryId(id, parameters, applyAutoLimit, maxAge, fromDashboard = false) {
446446
const queryResult = new QueryResult();
447447

448448
axios
449-
.post(`api/queries/${id}/results`, { id, parameters, apply_auto_limit: applyAutoLimit, max_age: maxAge })
449+
.post(`api/queries/${id}/results`, { id, parameters, apply_auto_limit: applyAutoLimit, max_age: maxAge, from_dashboard: fromDashboard})
450450
.then(response => {
451451
queryResult.update(response);
452452

client/app/services/query.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,9 @@ export class Query {
131131
return this.queryResult;
132132
}
133133

134-
getQueryResult(maxAge) {
134+
getQueryResult(maxAge, fromDashboard = false) {
135135
const execute = () =>
136-
QueryResult.getByQueryId(this.id, this.getParameters().getExecutionValues(), this.getAutoLimit(), maxAge);
136+
QueryResult.getByQueryId(this.id, this.getParameters().getExecutionValues(), this.getAutoLimit(), maxAge, fromDashboard);
137137
return this.prepareQueryResultExecution(execute, maxAge);
138138
}
139139

client/app/services/widget.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ class Widget {
159159
maxAge = force ? 0 : undefined;
160160
}
161161

162-
const queryResult = this.getQuery().getQueryResult(maxAge);
162+
const queryResult = this.getQuery().getQueryResult(maxAge, true);
163163
this.queryResult = queryResult;
164164

165165
queryResult

redash/handlers/query_results.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def error_response(message, http_status=400):
6161

6262

6363
def run_query(
64-
query, parameters, data_source, query_id, should_apply_auto_limit, max_age=0
64+
query, parameters, data_source, query_id, should_apply_auto_limit, max_age=0, from_dashboard=False
6565
):
6666
if data_source.paused:
6767
if data_source.pause_reason:
@@ -123,6 +123,7 @@ def run_query(
123123
if current_user.is_api_user()
124124
else current_user.email,
125125
"query_id": query_id,
126+
"Query_source": "Charts" if from_dashboard else "Query page",
126127
},
127128
)
128129
return serialize_job(job)
@@ -285,6 +286,7 @@ def post(self, query_id):
285286
"""
286287
params = request.get_json(force=True, silent=True) or {}
287288
parameter_values = params.get("parameters", {})
289+
from_dashboard = params.get("from_dashboard", False)
288290

289291
max_age = params.get("max_age", -1)
290292
# max_age might have the value of None, in which case calling int(None) will fail
@@ -309,6 +311,7 @@ def post(self, query_id):
309311
query_id,
310312
should_apply_auto_limit,
311313
max_age,
314+
from_dashboard
312315
)
313316
else:
314317
if not query.parameterized.is_safe:

0 commit comments

Comments
 (0)