|
@@ -2,7 +2,8 @@ from __future__ import absolute_import
|
|
|
|
|
|
from rest_framework.response import Response
|
|
|
|
|
|
-from sentry.api.bases import OrganizationEventsEndpointBase, OrganizationEventsError
|
|
|
+from sentry.api.bases import OrganizationEventsEndpointBase, OrganizationEventsError, NoProjects
|
|
|
+from sentry.api.paginator import SequencePaginator
|
|
|
from sentry.api.serializers import serialize
|
|
|
from sentry.tagstore.base import TAG_KEY_RE
|
|
|
from sentry.tagstore.snuba.backend import SnubaTagStorage
|
|
@@ -18,18 +19,20 @@ class OrganizationTagKeyValuesEndpoint(OrganizationEventsEndpointBase):
|
|
|
filter_params = self.get_filter_params(request, organization)
|
|
|
except OrganizationEventsError as exc:
|
|
|
return Response({'detail': exc.message}, status=400)
|
|
|
-
|
|
|
- # TODO(jess): update this when snuba tagstore is the primary backend for us
|
|
|
- tagstore = SnubaTagStorage()
|
|
|
-
|
|
|
- paginator = tagstore.get_tag_value_paginator_for_projects(
|
|
|
- filter_params['project_id'],
|
|
|
- filter_params.get('environment'),
|
|
|
- key,
|
|
|
- filter_params['start'],
|
|
|
- filter_params['end'],
|
|
|
- query=request.GET.get('query'),
|
|
|
- )
|
|
|
+ except NoProjects:
|
|
|
+ paginator = SequencePaginator([])
|
|
|
+ else:
|
|
|
+ # TODO(jess): update this when snuba tagstore is the primary backend for us
|
|
|
+ tagstore = SnubaTagStorage()
|
|
|
+
|
|
|
+ paginator = tagstore.get_tag_value_paginator_for_projects(
|
|
|
+ filter_params['project_id'],
|
|
|
+ filter_params.get('environment'),
|
|
|
+ key,
|
|
|
+ filter_params['start'],
|
|
|
+ filter_params['end'],
|
|
|
+ query=request.GET.get('query'),
|
|
|
+ )
|
|
|
|
|
|
return self.paginate(
|
|
|
request=request,
|