|
@@ -1,6 +1,9 @@
|
|
|
from __future__ import absolute_import
|
|
|
|
|
|
+import six
|
|
|
+
|
|
|
from rest_framework.response import Response
|
|
|
+from rest_framework.exceptions import ParseError
|
|
|
|
|
|
from sentry.api.bases import OrganizationEventsEndpointBase, OrganizationEventsError, NoProjects
|
|
|
from sentry.snuba import discover
|
|
@@ -15,11 +18,14 @@ class OrganizationEventsMetaEndpoint(OrganizationEventsEndpointBase):
|
|
|
except NoProjects:
|
|
|
return Response({"count": 0})
|
|
|
|
|
|
- result = discover.query(
|
|
|
- selected_columns=["count()"],
|
|
|
- params=params,
|
|
|
- query=request.query_params.get("query"),
|
|
|
- referrer="api.organization-events-meta",
|
|
|
- )
|
|
|
+ try:
|
|
|
+ result = discover.query(
|
|
|
+ selected_columns=["count()"],
|
|
|
+ params=params,
|
|
|
+ query=request.query_params.get("query"),
|
|
|
+ referrer="api.organization-events-meta",
|
|
|
+ )
|
|
|
+ except discover.InvalidSearchQuery as err:
|
|
|
+ raise ParseError(detail=six.text_type(err))
|
|
|
|
|
|
return Response({"count": result["data"][0]["count"]})
|