infrasynth-backend-kit/infrasynth/webhooks/serializers.py
2026-08-28 14:38:47 -05:00

57 lines
1.5 KiB
Python

from rest_framework import serializers
from .models import (
InboundEndpoint,
InboundEvent,
OutboundDelivery,
OutboundEndpoint,
OutboundSubscription,
)
class OutboundEndpointSerializer(serializers.ModelSerializer):
class Meta:
model = OutboundEndpoint
fields = "__all__"
read_only_fields = ["created_at", "updated_at"]
class OutboundEndpointInfoSerializer(serializers.ModelSerializer):
class Meta:
model = OutboundEndpoint
fields = ["id", "name", "url"]
class OutboundSubscriptionSerializer(serializers.ModelSerializer):
endpoint_info = OutboundEndpointInfoSerializer(source="endpoint", read_only=True)
class Meta:
model = OutboundSubscription
fields = "__all__"
read_only_fields = ["created_at", "updated_at"]
class OutboundDeliverySerializer(serializers.ModelSerializer):
class Meta:
model = OutboundDelivery
fields = "__all__"
read_only_fields = ["created_at", "completed_at"]
class InboundEndpointSerializer(serializers.ModelSerializer):
class Meta:
model = InboundEndpoint
fields = "__all__"
read_only_fields = ["created_at", "updated_at"]
class InboundEventSerializer(serializers.ModelSerializer):
class Meta:
model = InboundEvent
fields = "__all__"
read_only_fields = ["received_at", "processed_at"]
class InboundReceiveSerializer(serializers.Serializer):
payload = serializers.JSONField()
headers = serializers.JSONField()