Skip to content
Snippets Groups Projects
Verified Commit e990d6bc authored by Daniel Hornung's avatar Daniel Hornung
Browse files

Merge branch 'f-simple-schema-export' into f-schema-export-references

parents 22a8ea90 f00c3de9
No related branches found
No related tags found
2 merge requests!89ENH: JsonSchemaExporter accepts do_not_create parameter.,!81F schema export references
Pipeline #42820 canceled
......@@ -58,6 +58,8 @@ def _make_prop_from_prop(prop: db.Property, additional_properties: bool,
instead.
"""
if not additional_options_for_text_props:
additional_options_for_text_props = {}
if prop.datatype == db.TEXT or prop.datatype == db.DATETIME:
text_format = None
text_pattern = None
......@@ -139,7 +141,19 @@ def _make_text_property(description="", text_format=None, text_pattern=None):
prop["description"] = description
if text_format is not None:
if isinstance(text_format, list):
prop["anyOf"] = [{"format": tf} for tf in text_format]
# We want the type inside the options, not in the head:
# "datetime property": {
# "anyOf": [
# {
# "type": "string",
# "format": "date"
# },
# {
# "type": "string",
# "format": "date-time"
# }]}
prop.pop("type")
prop["anyOf"] = [{"type": "string", "format": tf} for tf in text_format]
else:
prop["format"] = text_format
if text_pattern is not None:
......
......@@ -125,12 +125,20 @@ def test_rt_with_scalar_props():
assert props["SimpleText"]["description"] == "This is a simple text"
assert "ObligatoryDatetime" in props
assert props["ObligatoryDatetime"]["type"] == "string"
assert "type" not in props["ObligatoryDatetime"]
assert "anyOf" in props["ObligatoryDatetime"]
assert len(props["ObligatoryDatetime"]["anyOf"]) == 2
fmts = [fmt["format"] for fmt in props["ObligatoryDatetime"]["anyOf"]]
assert "date" in fmts
assert "date-time" in fmts
date_found = 0
datetime_found = 0
for option in props["ObligatoryDatetime"]["anyOf"]:
assert option["type"] == "string"
fmt = option["format"]
if fmt == "date":
date_found += 1
if fmt == "date-time":
datetime_found += 1
assert date_found == 1
assert datetime_found == 1
assert "JustDateNoTime" in props
assert props["JustDateNoTime"]["type"] == "string"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment