diff --git a/src/core/components/model.jsx b/src/core/components/model.jsx index 7beb344e..58c98c27 100644 --- a/src/core/components/model.jsx +++ b/src/core/components/model.jsx @@ -217,7 +217,7 @@ class Model extends Component { } render () { - let { schema, required, name, isRef } = this.props + let { schema, required, name, isRef, getComponent } = this.props let $$ref = schema && schema.get("$$ref") let modelName = $$ref && this.getModelName( $$ref ) let modelSchema, type diff --git a/src/core/components/operation.jsx b/src/core/components/operation.jsx index 445c13b4..048eb2f3 100644 --- a/src/core/components/operation.jsx +++ b/src/core/components/operation.jsx @@ -189,6 +189,7 @@ export default class Operation extends React.Component { } + return } else { return } diff --git a/src/core/plugins/oas3/wrap-components/index.js b/src/core/plugins/oas3/wrap-components/index.js index 4fb3e02b..20b464a6 100644 --- a/src/core/plugins/oas3/wrap-components/index.js +++ b/src/core/plugins/oas3/wrap-components/index.js @@ -1,5 +1,7 @@ import Markdown from "./markdown" +import parameters from "./parameters" export default { - Markdown + Markdown, + parameters } diff --git a/src/core/plugins/oas3/wrap-components/parameters.jsx b/src/core/plugins/oas3/wrap-components/parameters.jsx new file mode 100644 index 00000000..66b4ca7c --- /dev/null +++ b/src/core/plugins/oas3/wrap-components/parameters.jsx @@ -0,0 +1,45 @@ +import React from "react" +import Im, { OrderedMap } from "immutable" +import { OAS3ComponentWrapFactory } from "../helpers" + +const mapRequestBody = (iterable, fn) => iterable.entries().filter(Im.Map.isMap).map((val) => { + return fn(val.get(0), val.get(1)) +}) + +export default OAS3ComponentWrapFactory((props) => { + const { Ori, operation, getComponent, specSelectors } = props + + const Model = getComponent("model") + + const requestBody = operation.get("requestBody") + const requestBodyDescription = (requestBody && requestBody.get("description")) || null + const requestBodyContent = (requestBody && requestBody.get("content")) || new OrderedMap() + return
+ + { + requestBody && +
+
+

Request body

+
+
+ { requestBodyDescription && +

{requestBodyDescription}

+ } + { !requestBodyContent.count() ?

No content

: + requestBodyContent.map((mediaTypeValue, key) => ( +
+

{key}

+ +
+ )).toArray() + } +
+
+ } +
+})