Skip to content

Commit 032c0a0

Browse files
committed
Basic request body
1 parent 128b910 commit 032c0a0

File tree

5 files changed

+51
-3
lines changed

5 files changed

+51
-3
lines changed

src/core/components/model.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ class Model extends Component {
217217
}
218218

219219
render () {
220-
let { schema, required, name, isRef } = this.props
220+
let { schema, required, name, isRef, getComponent } = this.props
221221
let $$ref = schema && schema.get("$$ref")
222222
let modelName = $$ref && this.getModelName( $$ref )
223223
let modelSchema, type

src/core/components/operation.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ export default class Operation extends React.Component {
189189
}
190190
<Parameters
191191
parameters={parameters}
192+
operation={operation}
192193
onChangeKey={onChangeKey}
193194
onTryoutClick = { this.onTryoutClick }
194195
onCancelClick = { this.onCancelClick }

src/core/plugins/oas3/helpers.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export function OAS3ComponentWrapFactory(Component) {
1212
const spec = system.specSelectors.specJson().toJS()
1313

1414
if(isOAS3(spec)) {
15-
return <Component {...props}></Component>
15+
return <Component {...props} Ori={Ori}></Component>
1616
} else {
1717
return <Ori {...props}></Ori>
1818
}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import Markdown from "./markdown"
2+
import parameters from "./parameters"
23

34
export default {
4-
Markdown
5+
Markdown,
6+
parameters
57
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import React from "react"
2+
import Im, { OrderedMap } from "immutable"
3+
import { OAS3ComponentWrapFactory } from "../helpers"
4+
5+
const mapRequestBody = (iterable, fn) => iterable.entries().filter(Im.Map.isMap).map((val) => {
6+
return fn(val.get(0), val.get(1))
7+
})
8+
9+
export default OAS3ComponentWrapFactory((props) => {
10+
const { Ori, operation, getComponent, specSelectors } = props
11+
12+
const Model = getComponent("model")
13+
14+
const requestBody = operation.get("requestBody")
15+
const requestBodyDescription = (requestBody && requestBody.get("description")) || null
16+
const requestBodyContent = (requestBody && requestBody.get("content")) || new OrderedMap()
17+
return <div>
18+
<Ori {...props}></Ori>
19+
{
20+
requestBody &&
21+
<div className="opblock-section">
22+
<div className="opblock-section-header">
23+
<h4 className="opblock-title">Request body</h4>
24+
</div>
25+
<div className="opblock-description-wrapper">
26+
{ requestBodyDescription &&
27+
<p>{requestBodyDescription}</p>
28+
}
29+
{ !requestBodyContent.count() ? <p>No content</p> :
30+
requestBodyContent.map((mediaTypeValue, key) => (
31+
<div>
32+
<h4>{key}</h4>
33+
<Model
34+
getComponent={ getComponent }
35+
specSelectors={ specSelectors }
36+
expandDepth={1}
37+
schema={mediaTypeValue.get("schema")} />
38+
</div>
39+
)).toArray()
40+
}
41+
</div>
42+
</div>
43+
}
44+
</div>
45+
})

0 commit comments

Comments
 (0)