blob: 01513ccedf79e0fdeeaef1fa67498d2fd8dd5928 [file] [log] [blame]
const React = require("react");
import Layout from "@theme/Layout";
class RestApi extends React.Component {
componentDidMount() {
var params = window.location.search;
var pathName = window.location.pathname;
params = params.replace("?", "");
const paramsList = params.split("&");
var version = "master";
var apiversion = "";
for (var i in paramsList) {
var param = paramsList[i].split("=");
if (param[0] === "version") {
version = param[1];
}
if (param[0] === "apiversion") {
apiversion = param[1];
}
}
if (version !== "master") {
var versions = version.split(".");
var majorVersion = parseInt(versions[0]);
var minorVersion = parseInt(versions[1]);
if (majorVersion < 2) {
version = "2.3.0";
} else if (minorVersion < 3) {
version = "2.3.0";
}
}
const wrapper = document.querySelector(".container");
const redoc = document.createElement("redoc");
if (pathName.indexOf("admin-rest-api") >= 0) {
redoc.setAttribute(
"spec-url",
"/swagger/" + version + "/" + apiversion + "/swagger.json"
);
} else if (pathName.indexOf("functions-rest-api") >= 0) {
redoc.setAttribute(
"spec-url",
"/swagger/" + version + "/" + apiversion + "/swaggerfunctions.json"
);
} else if (pathName.indexOf("source-rest-api") >= 0) {
redoc.setAttribute(
"spec-url",
"/swagger/" + version + "/" + apiversion + "/swaggersource.json"
);
} else if (pathName.indexOf("sink-rest-api") >= 0) {
redoc.setAttribute(
"spec-url",
"/swagger/" + version + "/" + apiversion + "/swaggersink.json"
);
} else if (pathName.indexOf("packages-rest-api" >= 0)) {
redoc.setAttribute(
"spec-url",
"/swagger/" + version + "/" + apiversion + "/swaggerpackages.json"
);
}
redoc.setAttribute("lazy-rendering", "true");
const redocLink = document.createElement("script");
redocLink.setAttribute(
"src",
"https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js"
);
const script = document.querySelector(".container script");
console.log(
"script: ",
script,
"/swagger/" + version + "/" + apiversion + "/swagger.json"
);
wrapper.insertBefore(redoc, script);
wrapper.insertBefore(redocLink, script);
}
render() {
return (
<Layout>
<div className="tailwind">
<div className="my-12 container"></div>
</div>
</Layout>
);
}
}
export default RestApi;