48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
from rest_framework import serializers
|
|
from booking.models import models
|
|
|
|
|
|
class BookingSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = models.Booking
|
|
fields = (
|
|
'id',
|
|
'type',
|
|
)
|
|
|
|
|
|
class PendingBookingSerializer(serializers.ModelSerializer):
|
|
restaurant_id = serializers.IntegerField(min_value=0, )
|
|
id = serializers.ReadOnlyField()
|
|
|
|
class Meta:
|
|
model = models.Booking
|
|
fields = (
|
|
'id',
|
|
'type',
|
|
'restaurant_id',
|
|
'pending_booking_id',
|
|
'user',
|
|
)
|
|
|
|
|
|
class UpdateBookingSerializer(serializers.ModelSerializer):
|
|
id = serializers.ReadOnlyField()
|
|
|
|
class Meta:
|
|
model = models.Booking
|
|
fields = ('booking_id', 'id')
|
|
|
|
|
|
class GetBookingSerializer(serializers.ModelSerializer):
|
|
details = serializers.SerializerMethodField()
|
|
|
|
def get_details(self, obj):
|
|
booking = self.instance
|
|
service = booking.get_service_by_type(booking.type)
|
|
return service.get_booking_details(booking.booking_id)
|
|
|
|
class Meta:
|
|
model = models.Booking
|
|
fields = '__all__'
|