''' Basic serializers that do not interact with database. ''' from rest_framework import serializers from shared import messages as msg from ..models import AccessPolicy, validate_location class LocationSerializer(serializers.Serializer): ''' Serializer: Item location. ''' location = serializers.CharField(max_length=500) def validate(self, attrs): attrs = super().validate(attrs) if not validate_location(attrs['location']): raise serializers.ValidationError({ 'location': msg.invalidLocation() }) return attrs class AccessPolicySerializer(serializers.Serializer): ''' Serializer: Constituenta renaming. ''' access_policy = serializers.CharField() def validate(self, attrs): attrs = super().validate(attrs) if not attrs['access_policy'] in AccessPolicy.values: raise serializers.ValidationError({ 'access_policy': msg.invalidEnum(attrs['access_policy']) }) return attrs