From 4ec53048f9a5d744db1c60c30b080f39441a33be Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Wed, 23 Mar 2022 11:13:44 +0100 Subject: [PATCH 08/11] wip: report xsd type name in json schema for debug --- passerelle/apps/soap/models.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/passerelle/apps/soap/models.py b/passerelle/apps/soap/models.py index e653a434..7ae7b8d6 100644 --- a/passerelle/apps/soap/models.py +++ b/passerelle/apps/soap/models.py @@ -187,6 +187,7 @@ class SOAPConnector(BaseResource, HTTPResource): return { 'type': 'array', 'items': self.type2schema(xsd_type.elements[0][1].type, compress=compress), + 'description': f'{xsd_type.qname}', } return self.type2schema(xsd_type.elements[0][1].type, compress=compress) if isinstance(xsd_type, zeep.xsd.ComplexType): @@ -194,6 +195,7 @@ class SOAPConnector(BaseResource, HTTPResource): schema = { 'type': 'object', 'properties': properties, + 'description': f'{xsd_type.qname}', } for key, element in xsd_type.elements: if element.min_occurs > 0: @@ -203,8 +205,8 @@ class SOAPConnector(BaseResource, HTTPResource): element_schema = {'type': 'array', 'items': element_schema} properties[key] = element_schema if not properties: - return None + return {'type': 'null', 'description': f'{xsd_type.qname}'} return schema if isinstance(xsd_type, zeep.xsd.BuiltinType): - return {'type': 'string'} - return f'!!! UNKNOWN TYPE {xsd_type} !!!' + return {'type': 'string', 'description': f'{xsd_type.qname}'} + return {'description': f'!!! convertible {xsd_type.qname} !!!'} -- 2.35.1