Support oneOf
This commit is contained in:
parent
cd4fed509c
commit
88d97b06ae
1 changed files with 12 additions and 1 deletions
|
@ -286,7 +286,9 @@ def get_json_schema_object_fields(obj, enforce_title=False):
|
||||||
def process_data_type(prop, required=False, enforce_title=True):
|
def process_data_type(prop, required=False, enforce_title=True):
|
||||||
prop = inherit_parents(prop)
|
prop = inherit_parents(prop)
|
||||||
|
|
||||||
prop_type = prop['type']
|
prop_type = prop.get('oneOf', prop.get('type', []))
|
||||||
|
assert prop_type
|
||||||
|
|
||||||
tables = []
|
tables = []
|
||||||
enum_desc = None
|
enum_desc = None
|
||||||
is_object = False
|
is_object = False
|
||||||
|
@ -317,6 +319,15 @@ def process_data_type(prop, required=False, enforce_title=True):
|
||||||
tables = nested["tables"]
|
tables = nested["tables"]
|
||||||
enum_desc = nested["enum_desc"]
|
enum_desc = nested["enum_desc"]
|
||||||
|
|
||||||
|
elif isinstance(prop_type, list):
|
||||||
|
prop_title = []
|
||||||
|
for t in prop_type:
|
||||||
|
if isinstance(t, dict):
|
||||||
|
nested = process_data_type(t)
|
||||||
|
tables.extend(nested['tables'])
|
||||||
|
prop_title.append(nested['title'])
|
||||||
|
else:
|
||||||
|
prop_title.append(t)
|
||||||
else:
|
else:
|
||||||
prop_title = prop_type
|
prop_title = prop_type
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue