From 90b046a1507ad973f673ecb0e2e3a75fbf043b22 Mon Sep 17 00:00:00 2001
From: fspreck <f.spreckelsen@indiscale.com>
Date: Thu, 17 Mar 2022 16:29:57 +0100
Subject: [PATCH] MAINT: Simplify parsing of atomic datatypes

---
 src/caosadvancedtools/models/parser.py | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/src/caosadvancedtools/models/parser.py b/src/caosadvancedtools/models/parser.py
index 20cf6357..7ffcebbf 100644
--- a/src/caosadvancedtools/models/parser.py
+++ b/src/caosadvancedtools/models/parser.py
@@ -624,18 +624,9 @@ class JsonSchemaParser(Parser):
             return self.model[name]
         if "enum" in elt:
             ent = self._treat_enum(elt, name)
-        elif elt["type"] == "string":
-            if "format" in elt and elt["format"] == "date-time":
-                # Treat datetime strings separately
-                ent = db.Property(name=name, datatype=db.DATETIME)
-            else:
-                ent = db.Property(name=name, datatype=db.TEXT)
-        elif elt["type"] == "integer":
-            ent = db.Property(name=name, datatype=db.INTEGER)
-        elif elt["type"] == "number":
-            ent = db.Property(name=name, datatype=db.DOUBLE)
-        elif elt["type"] == "boolean":
-            ent = db.Property(name=name, datatype=db.BOOLEAN)
+        elif elt["type"] in JSON_SCHEMA_ATOMIC_TYPES:
+            ent = db.Property(
+                name=name, datatype=self._get_atomic_datatype(elt))
         elif elt["type"] == "object":
             ent = self._treat_record_type(elt, name)
         elif elt["type"] == "array":
-- 
GitLab