def raise_if_domain_unavailable(domain_name: str, user: models.User): user = user if not isinstance(user, AnonymousUser) else None if not models.Domain(name=domain_name, owner=user).is_registrable(): raise serializers.ValidationError( 'This domain name conflicts with an existing zone, or is disallowed by policy.', code='name_unavailable' )
def validate_name(self, value): if not models.Domain( name=value, owner=self.context['request'].user).is_registrable(): raise serializers.ValidationError( self.default_error_messages['name_unavailable'], code='name_unavailable') return value
def create(self, validated_data): if 'minimum_ttl' not in validated_data and models.Domain(name=validated_data['name']).is_locally_registrable: validated_data.update(minimum_ttl=60) return super().create(validated_data)