From a6e702379166a46580fe2e41af0dbd70c6d43c95 Mon Sep 17 00:00:00 2001 From: Samuel Gaist <samuel.gaist@idiap.ch> Date: Mon, 20 Apr 2020 15:09:22 +0200 Subject: [PATCH] [databases][serializers] Add declaration validation --- beat/web/databases/serializers.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/beat/web/databases/serializers.py b/beat/web/databases/serializers.py index 855ea3776..23edc5002 100644 --- a/beat/web/databases/serializers.py +++ b/beat/web/databases/serializers.py @@ -25,6 +25,8 @@ # # ############################################################################### +from django.conf import settings + from rest_framework import serializers from ..common.serializers import VersionableSerializer @@ -104,6 +106,12 @@ class DatabaseCreationSerializer(serializers.ModelSerializer): ] beat_core_class = beat.core.database.Database + def validate_declaration(self, declaration): + obj = self.Meta.beat_core_class(prefix=settings.PREFIX, data=declaration) + if not obj.valid: + raise serializers.ValidationError(obj.errors) + return declaration + def validate(self, data): user = self.context.get("user") name = self.Meta.model.sanitize_name(data["name"]) -- GitLab