|
@@ -8,8 +8,9 @@ from sentry import features
|
|
|
from sentry.backup.scopes import RelocationScope
|
|
|
from sentry.db.models import BaseManager, FlexibleForeignKey, Model, region_silo_model, sane_repr
|
|
|
from sentry.db.models.fields import JSONField
|
|
|
-from sentry.db.models.fields.bounded import BoundedBigIntegerField
|
|
|
+from sentry.db.models.fields.bounded import BoundedBigIntegerField, BoundedPositiveIntegerField
|
|
|
from sentry.db.models.fields.hybrid_cloud_foreign_key import HybridCloudForeignKey
|
|
|
+from sentry.models.dashboard_widget import TypesClass
|
|
|
from sentry.models.projectteam import ProjectTeam
|
|
|
from sentry.tasks.relay import schedule_invalidate_project_config
|
|
|
|
|
@@ -17,6 +18,25 @@ MAX_KEY_TRANSACTIONS = 10
|
|
|
MAX_TEAM_KEY_TRANSACTIONS = 100
|
|
|
|
|
|
|
|
|
+class DiscoverSavedQueryTypes(TypesClass):
|
|
|
+ DISCOVER = 0
|
|
|
+ ERROR_EVENTS = 1
|
|
|
+ """
|
|
|
+ Error side of the split from Discover.
|
|
|
+ """
|
|
|
+ TRANSACTION_LIKE = 2
|
|
|
+ """
|
|
|
+ This targets transaction-like data from the split from discover.
|
|
|
+ """
|
|
|
+
|
|
|
+ TYPES = [
|
|
|
+ (DISCOVER, "discover"),
|
|
|
+ (ERROR_EVENTS, "error-events"),
|
|
|
+ (TRANSACTION_LIKE, "transaction-like"),
|
|
|
+ ]
|
|
|
+ TYPE_NAMES = [t[1] for t in TYPES]
|
|
|
+
|
|
|
+
|
|
|
@region_silo_model
|
|
|
class DiscoverSavedQueryProject(Model):
|
|
|
__relocation_scope__ = RelocationScope.Excluded
|
|
@@ -49,6 +69,9 @@ class DiscoverSavedQuery(Model):
|
|
|
visits = BoundedBigIntegerField(null=True, default=1)
|
|
|
last_visited = models.DateTimeField(null=True, default=timezone.now)
|
|
|
is_homepage = models.BooleanField(null=True, blank=True)
|
|
|
+ dataset = BoundedPositiveIntegerField(
|
|
|
+ choices=DiscoverSavedQueryTypes.as_choices(), default=DiscoverSavedQueryTypes.DISCOVER
|
|
|
+ )
|
|
|
|
|
|
class Meta:
|
|
|
app_label = "sentry"
|