|
1 | 1 | from collections.abc import MutableMapping, Sequence
|
2 |
| -from typing import Any, Literal, TypedDict, cast |
| 2 | +from typing import Any, Literal, TypedDict, cast, override |
3 | 3 |
|
4 | 4 | from django.db.models import prefetch_related_objects
|
5 | 5 | from sentry_kafka_schemas.schema_types.snuba_uptime_results_v1 import (
|
|
10 | 10 | from sentry.api.serializers import Serializer, register, serialize
|
11 | 11 | from sentry.api.serializers.models.actor import ActorSerializer, ActorSerializerResponse
|
12 | 12 | from sentry.types.actor import Actor
|
13 |
| -from sentry.uptime.models import ProjectUptimeSubscription |
| 13 | +from sentry.uptime.models import ProjectUptimeSubscription, UptimeSubscription |
14 | 14 | from sentry.uptime.subscriptions.regions import get_region_config
|
15 | 15 | from sentry.uptime.types import EapCheckEntry, IncidentStatus
|
16 | 16 |
|
@@ -134,3 +134,33 @@ def serialize(
|
134 | 134 | "region": obj.region,
|
135 | 135 | "regionName": region_name,
|
136 | 136 | }
|
| 137 | + |
| 138 | + |
| 139 | +class UptimeSubscriptionSerializerResponse(TypedDict): |
| 140 | + timeoutMs: int |
| 141 | + intervalSeconds: int |
| 142 | + method: str |
| 143 | + url: str |
| 144 | + urlDomain: str |
| 145 | + urlDomainSuffix: str |
| 146 | + traceSampling: bool |
| 147 | + hostProviderId: str |
| 148 | + hostProviderName: str |
| 149 | + |
| 150 | + |
| 151 | +@register(UptimeSubscription) |
| 152 | +class UptimeSubscriptionSerializer(Serializer): |
| 153 | + |
| 154 | + @override |
| 155 | + def serialize(self, obj: UptimeSubscription, attrs, user, **kwargs) -> dict[str, Any]: |
| 156 | + return { |
| 157 | + "timeoutMs": obj.timeout_ms, |
| 158 | + "intervalSeconds": obj.interval_seconds, |
| 159 | + "method": obj.method, |
| 160 | + "url": obj.url, |
| 161 | + "urlDomain": obj.url_domain, |
| 162 | + "urlDomainSuffix": obj.url_domain_suffix, |
| 163 | + "traceSampling": obj.trace_sampling, |
| 164 | + "hostProviderId": obj.host_provider_id, |
| 165 | + "hostProviderName": obj.host_provider_name, |
| 166 | + } |
0 commit comments