generated from bisco/codex-bootstrap
feat: add booking REST API
This commit is contained in:
55
backend/shows/serializers.py
Normal file
55
backend/shows/serializers.py
Normal file
@@ -0,0 +1,55 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
class PublicShowListSerializer(serializers.Serializer):
|
||||
id = serializers.IntegerField()
|
||||
title = serializers.CharField()
|
||||
slug = serializers.SlugField()
|
||||
summary = serializers.CharField()
|
||||
poster_image = serializers.URLField(allow_blank=True)
|
||||
|
||||
|
||||
class PublicVenueSummarySerializer(serializers.Serializer):
|
||||
name = serializers.CharField()
|
||||
city = serializers.CharField()
|
||||
|
||||
|
||||
class PublicVenueDetailSerializer(PublicVenueSummarySerializer):
|
||||
address = serializers.CharField()
|
||||
|
||||
|
||||
class PublicShowSummarySerializer(serializers.Serializer):
|
||||
title = serializers.CharField()
|
||||
slug = serializers.SlugField()
|
||||
summary = serializers.CharField()
|
||||
|
||||
|
||||
class PublicPerformanceListSerializer(serializers.Serializer):
|
||||
id = serializers.IntegerField()
|
||||
show = PublicShowSummarySerializer()
|
||||
venue = PublicVenueSummarySerializer()
|
||||
starts_at = serializers.DateTimeField()
|
||||
booking_enabled = serializers.BooleanField(source="is_booking_enabled")
|
||||
available_seats = serializers.IntegerField()
|
||||
|
||||
|
||||
class PublicShowPerformanceSerializer(serializers.Serializer):
|
||||
id = serializers.IntegerField()
|
||||
starts_at = serializers.DateTimeField()
|
||||
venue = PublicVenueSummarySerializer()
|
||||
booking_enabled = serializers.BooleanField(source="is_booking_enabled")
|
||||
available_seats = serializers.IntegerField()
|
||||
|
||||
|
||||
class PublicShowDetailSerializer(PublicShowListSerializer):
|
||||
description = serializers.CharField()
|
||||
performances = PublicShowPerformanceSerializer(many=True, source="public_performances")
|
||||
|
||||
|
||||
class PublicPerformanceDetailSerializer(serializers.Serializer):
|
||||
id = serializers.IntegerField()
|
||||
show = PublicShowSummarySerializer()
|
||||
venue = PublicVenueDetailSerializer()
|
||||
starts_at = serializers.DateTimeField()
|
||||
booking_enabled = serializers.BooleanField(source="is_booking_enabled")
|
||||
available_seats = serializers.IntegerField()
|
||||
Reference in New Issue
Block a user