@@ -9,18 +9,15 @@ import CharDisplay from "./charDisplay";
9
9
10
10
export const BodySchema = props => {
11
11
const { data } = props ;
12
- const requiredProperties =
13
- getOr (
14
- [ ] ,
15
- [ "requestBody" , "content" , "application_json" , "schema" , "required" ] ,
16
- data
17
- ) || [ ] ;
18
- const properties = getOr (
19
- null ,
20
- [ "requestBody" , "content" , "application_json" , "schema" , "properties" ] ,
12
+ const schema = getOr (
13
+ [ ] ,
14
+ [ "requestBody" , "content" , "application_json" , "schema" ] ,
21
15
data
22
16
) ;
23
17
18
+ const requiredProperties = schema . required || [ ] ;
19
+ const properties = schema . properties ;
20
+
24
21
const sortByRequired = ( a , b ) => {
25
22
const r1 = requiredProperties . includes ( a ) ? 1 : 0 ;
26
23
const r2 = requiredProperties . includes ( b ) ? 1 : 0 ;
@@ -49,13 +46,13 @@ export const BodySchema = props => {
49
46
Object . keys ( properties )
50
47
. filter (
51
48
v =>
52
- data . requestBody . content . application_json . schema . properties [ v ] !==
49
+ properties [ v ] !==
53
50
null
54
51
)
55
52
. sort ( sortByRequired )
56
53
. map ( ( p , i ) => {
57
54
const b =
58
- data . requestBody . content . application_json . schema . properties [ p ] ;
55
+ properties [ p ] ;
59
56
return (
60
57
b &&
61
58
b . readOnly !== true && (
@@ -66,9 +63,8 @@ export const BodySchema = props => {
66
63
< b className = { b . deprecated && "line-through" } > { p } </ b >
67
64
</ div >
68
65
< div className = "leading-xs" >
69
- { data . requestBody . content . application_json . schema
70
- . required &&
71
- data . requestBody . content . application_json . schema . required . map (
66
+ { requiredProperties &&
67
+ requiredProperties . map (
72
68
( req , i ) => {
73
69
if ( p === req ) {
74
70
return (
@@ -113,18 +109,16 @@ export const BodySchema = props => {
113
109
)
114
110
) ;
115
111
} ) }
116
- { data . requestBody . content . application_json &&
117
- data . requestBody . content . application_json . schema &&
118
- data . requestBody . content . application_json . schema . allOf &&
119
- Object . keys ( data . requestBody . content . application_json . schema . allOf ) . map (
112
+ { schema . allOf &&
113
+ Object . keys ( schema . allOf ) . map (
120
114
a => {
121
- const s = data . requestBody . content . application_json . schema . allOf [ a ] ;
115
+ const s = schema . allOf [ a ] ;
122
116
return (
123
117
s . properties &&
124
118
Object . keys ( s . properties )
125
119
. filter (
126
120
v =>
127
- data . requestBody . content . application_json . schema . allOf [
121
+ schema . allOf [
128
122
v
129
123
] !== null
130
124
)
@@ -142,8 +136,8 @@ export const BodySchema = props => {
142
136
< b > { p } </ b >
143
137
</ div >
144
138
< div className = "leading-xs" >
145
- { s . required &&
146
- s . required . map ( ( req , i ) => {
139
+ { s . requiredProperties &&
140
+ s . requiredProperties . map ( ( req , i ) => {
147
141
if ( p === req ) {
148
142
return (
149
143
< span
@@ -158,9 +152,8 @@ export const BodySchema = props => {
158
152
} ) }
159
153
</ div >
160
154
< div className = "leading-xs" >
161
- { data . requestBody . content . application_json . schema
162
- . required &&
163
- data . requestBody . content . application_json . schema . required . map (
155
+ { requiredProperties &&
156
+ requiredProperties . map (
164
157
( req , i ) => {
165
158
if ( p === req ) {
166
159
return (
0 commit comments