mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 21:10:38 +03:00
33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
''' 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
|