Skip to content

Commit 014ccd0

Browse files
authored
Merge pull request #3996 from NicholasTurner23/update-fix/Analytics-data-export-cleanup
Update fix/analytics data export cleanup
2 parents d0770c3 + 931d18d commit 014ccd0

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

src/analytics/api/views/data.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,10 @@ def post(self):
9999
json_data
100100
)
101101
if error_message:
102-
return error_message, AirQoRequests.Status.HTTP_400_BAD_REQUEST
102+
return (
103+
AirQoRequests.create_response(error_message, success=False),
104+
AirQoRequests.Status.HTTP_400_BAD_REQUEST,
105+
)
103106
except Exception as e:
104107
logger.exception(f"An error has occured; {e}")
105108

@@ -189,7 +192,7 @@ def post(self):
189192
logger.exception(f"An error occurred: {ex}")
190193
return (
191194
AirQoRequests.create_response(
192-
f"An Error occurred while processing your request. Please contact support. {ex}",
195+
f"An Error occurred while processing your request. Please contact support.",
193196
success=False,
194197
),
195198
AirQoRequests.Status.HTTP_500_INTERNAL_SERVER_ERROR,
@@ -209,8 +212,9 @@ def _get_validated_filter(self, json_data):
209212
Raises:
210213
ValueError: If more than one or none of the filters are provided.
211214
"""
212-
error_message: str = ""
215+
filter_type: str = None
213216
validated_data: List[str] = None
217+
error_message: str = ""
214218

215219
# TODO Lias with device registry to cleanup this makeshift implementation
216220
devices = ["devices", "device_ids", "device_names"]
@@ -227,9 +231,9 @@ def _get_validated_filter(self, json_data):
227231
]
228232
provided_filters = [key for key in valid_filters if json_data.get(key)]
229233
if len(provided_filters) != 1:
230-
raise ValueError(
231-
"Specify exactly one of 'airqlouds', 'sites', 'device_names', or 'devices' in the request body."
232-
)
234+
error_message = "Specify exactly one of 'airqlouds', 'sites', 'device_names', or 'devices' in the request body."
235+
return filter_type, validated_data, error_message
236+
233237
filter_type = provided_filters[0]
234238
filter_value = json_data.get(filter_type)
235239

@@ -246,7 +250,9 @@ def _get_validated_filter(self, json_data):
246250
"sites" if filter_type in sites else "devices", []
247251
)
248252
else:
249-
error_message = validated_value.get("message", "Validation failed")
253+
error_message = validated_value.get(
254+
"message", "Data filter validation failed"
255+
)
250256

251257
return filter_type, validated_data, error_message
252258

0 commit comments

Comments
 (0)