Skip to content

Commit 79e1962

Browse files
authored
Add allOf required spec and fix items branch (PaloAltoNetworks#1190)
* Add allOf required spec and fix items branch * Place allOfRequired example in allOf category * move test to allOf * Remove duplicate allOfRequired spec
1 parent dae131d commit 79e1962

File tree

2 files changed

+59
-18
lines changed

2 files changed

+59
-18
lines changed

demo/examples/tests/allOf.yaml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,51 @@ paths:
367367
otherOuterProp:
368368
type: string
369369

370+
/allof-parent-required:
371+
get:
372+
tags:
373+
- allOf
374+
summary: allOf inherits parent required
375+
description: |
376+
Parent object marks the "pet" property as required while its schema is composed via allOf.
377+
378+
Schema:
379+
```yaml
380+
type: object
381+
properties:
382+
pet:
383+
allOf:
384+
- type: object
385+
properties:
386+
name:
387+
type: string
388+
- type: object
389+
properties:
390+
age:
391+
type: integer
392+
required: [pet]
393+
```
394+
responses:
395+
"200":
396+
description: Successful response
397+
content:
398+
application/json:
399+
schema:
400+
type: object
401+
properties:
402+
pet:
403+
allOf:
404+
- type: object
405+
properties:
406+
name:
407+
type: string
408+
- type: object
409+
properties:
410+
age:
411+
type: integer
412+
required:
413+
- pet
414+
370415
components:
371416
schemas:
372417
# Your existing schemas are integrated here.

packages/docusaurus-theme-openapi-docs/src/theme/Schema/index.tsx

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -725,9 +725,7 @@ const SchemaEdge: React.FC<SchemaEdgeProps> = ({
725725
name={name}
726726
schemaName={mergedSchemaName}
727727
required={
728-
Array.isArray(mergedSchemas.required)
729-
? mergedSchemas.required.includes(name)
730-
: mergedSchemas.required
728+
Array.isArray(required) ? required.includes(name) : required
731729
}
732730
nullable={mergedSchemas.nullable}
733731
schema={mergedSchemas}
@@ -742,9 +740,7 @@ const SchemaEdge: React.FC<SchemaEdgeProps> = ({
742740
name={name}
743741
schemaName={mergedSchemaName}
744742
required={
745-
Array.isArray(mergedSchemas.required)
746-
? mergedSchemas.required.includes(name)
747-
: mergedSchemas.required
743+
Array.isArray(required) ? required.includes(name) : required
748744
}
749745
nullable={mergedSchemas.nullable}
750746
schema={mergedSchemas}
@@ -754,18 +750,18 @@ const SchemaEdge: React.FC<SchemaEdgeProps> = ({
754750
}
755751

756752
if (mergedSchemas.items?.properties) {
757-
<SchemaNodeDetails
758-
name={name}
759-
schemaName={mergedSchemaName}
760-
required={
761-
Array.isArray(mergedSchemas.required)
762-
? mergedSchemas.required.includes(name)
763-
: mergedSchemas.required
764-
}
765-
nullable={mergedSchemas.nullable}
766-
schema={mergedSchemas}
767-
schemaType={schemaType}
768-
/>;
753+
return (
754+
<SchemaNodeDetails
755+
name={name}
756+
schemaName={mergedSchemaName}
757+
required={
758+
Array.isArray(required) ? required.includes(name) : required
759+
}
760+
nullable={mergedSchemas.nullable}
761+
schema={mergedSchemas}
762+
schemaType={schemaType}
763+
/>
764+
);
769765
}
770766

771767
return (

0 commit comments

Comments
 (0)