-
Notifications
You must be signed in to change notification settings - Fork 521
Expand file tree
/
Copy pathserializers.py
More file actions
27 lines (17 loc) · 1021 Bytes
/
serializers.py
File metadata and controls
27 lines (17 loc) · 1021 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from rest_framework import serializers
class WebhookSerializer(serializers.Serializer[None]):
event_type = serializers.ChoiceField(choices=["FLAG_UPDATED", "AUDIT_LOG_CREATED"])
data = serializers.DictField() # type: ignore[assignment]
class ScopeSerializer(serializers.Serializer[None]):
type = serializers.ChoiceField(choices=["organisation", "environment"])
class TestWebhookSerializer(serializers.Serializer[None]):
webhook_url = serializers.URLField(required=True)
scope = ScopeSerializer(required=True)
secret = serializers.CharField(required=False, allow_blank=True, allow_null=True)
class TestWebhookSuccessResponseSerializer(serializers.Serializer[None]):
detail = serializers.CharField()
status = serializers.IntegerField(default=200)
class TestWebhookErrorResponseSerializer(serializers.Serializer[None]):
detail = serializers.CharField()
status = serializers.IntegerField()
body = serializers.CharField(required=False, allow_blank=True, allow_null=True)