We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent baf042c commit ca369f7Copy full SHA for ca369f7
openapi_core/schema/schemas/factories.py
@@ -46,6 +46,8 @@ def create(self, schema_spec):
46
exclusive_maximum = schema_deref.get('exclusiveMaximum', False)
47
min_properties = schema_deref.get('minProperties', None)
48
max_properties = schema_deref.get('maxProperties', None)
49
+ read_only = schema_deref.get('readOnly', False)
50
+ write_only = schema_deref.get('writeOnly', False)
51
52
extensions = self.extensions_generator.generate(schema_deref)
53
@@ -81,7 +83,7 @@ def create(self, schema_spec):
81
83
exclusive_maximum=exclusive_maximum,
82
84
exclusive_minimum=exclusive_minimum,
85
min_properties=min_properties, max_properties=max_properties,
- extensions=extensions,
86
+ read_only=read_only, write_only=write_only, extensions=extensions,
87
_source=schema_deref,
88
)
89
openapi_core/schema/schemas/models.py
@@ -26,7 +26,8 @@ def __init__(
26
min_length=None, max_length=None, pattern=None, unique_items=False,
27
minimum=None, maximum=None, multiple_of=None,
28
exclusive_minimum=False, exclusive_maximum=False,
29
- min_properties=None, max_properties=None, extensions=None,
+ min_properties=None, max_properties=None,
30
+ read_only=False, write_only=False, extensions=None,
31
_source=None):
32
self.type = SchemaType(schema_type)
33
self.properties = properties and dict(properties) or {}
@@ -56,6 +57,11 @@ def __init__(
56
57
if min_properties is not None else None
58
self.max_properties = int(max_properties)\
59
if max_properties is not None else None
60
+ self.read_only = read_only
61
+ self.write_only = write_only
62
+
63
+ if self.read_only and self.write_only:
64
+ raise OpenAPISchemaError("Schema cannot be readOnly AND writeOnly")
65
66
self.extensions = extensions and dict(extensions) or {}
67
0 commit comments