Started fixing requestbody in openapi3

This commit is contained in:
frikky
2020-05-30 14:06:13 +02:00
parent 34db3d9588
commit 611dcae8b3
3 changed files with 23 additions and 12 deletions
+4 -2
View File
@@ -1127,11 +1127,13 @@ func handlePost(swagger *openapi3.Swagger, api WorkflowApp, extraParameters []Wo
Parameters: extraParameters, Parameters: extraParameters,
} }
if path.Post.RequestBody != nil {
log.Printf("FUNCTION: %#v", path.Post.RequestBody)
}
action.Returns.Schema.Type = "string" action.Returns.Schema.Type = "string"
baseUrl := fmt.Sprintf("%s%s", api.Link, actualPath) baseUrl := fmt.Sprintf("%s%s", api.Link, actualPath)
//log.Println(path.Parameters)
// Parameters: []WorkflowAppActionParameter{}, // Parameters: []WorkflowAppActionParameter{},
// FIXME - add data for POST stuff // FIXME - add data for POST stuff
firstQuery = true firstQuery = true
-1
View File
@@ -2744,7 +2744,6 @@ func getWorkflowAppConfig(resp http.ResponseWriter, request *http.Request) {
resp.Write([]byte(`{"success": false}`)) resp.Write([]byte(`{"success": false}`))
return return
} }
log.Printf("API: %#v", parsedApi)
//log.Printf("Parsed API: %#v", parsedApi) //log.Printf("Parsed API: %#v", parsedApi)
if len(parsedApi.ID) > 0 { if len(parsedApi.ID) > 0 {
+19 -9
View File
@@ -272,7 +272,7 @@ const AppCreator = (props) => {
return response.json() return response.json()
}) })
.then((responseJson) => { .then((responseJson) => {
setIsAppLoaded(true) setIsAppLoaded(true)
if (!responseJson.success) { if (!responseJson.success) {
alert.error("Failed to get the app") alert.error("Failed to get the app")
} else { } else {
@@ -346,10 +346,8 @@ const AppCreator = (props) => {
setDescription(data.info.description) setDescription(data.info.description)
document.title = "Apps - "+data.info.title document.title = "Apps - "+data.info.title
console.log(data.info["x-logo"])
if (data.info !== null && data.info !== undefined && data.info["x-logo"] !== undefined) { if (data.info !== null && data.info !== undefined && data.info["x-logo"] !== undefined) {
setFileBase64(data.info["x-logo"]) setFileBase64(data.info["x-logo"])
console.log("IMG: ", data.inf0["x-logo"])
} }
if (data.info.contact != undefined) { if (data.info.contact != undefined) {
@@ -360,8 +358,6 @@ const AppCreator = (props) => {
setBaseUrl(data.servers[0].url) setBaseUrl(data.servers[0].url)
} }
// This is annoying (: // This is annoying (:
var securitySchemes = data.components.securityDefinitions var securitySchemes = data.components.securityDefinitions
if (securitySchemes === undefined) { if (securitySchemes === undefined) {
@@ -396,6 +392,8 @@ const AppCreator = (props) => {
} }
} }
console.log(data)
// FIXME - headers? // FIXME - headers?
var newActions = [] var newActions = []
for (let [path, pathvalue] of Object.entries(data.paths)) { for (let [path, pathvalue] of Object.entries(data.paths)) {
@@ -412,6 +410,7 @@ const AppCreator = (props) => {
"errors": [], "errors": [],
} }
for (var key in methodvalue.parameters) { for (var key in methodvalue.parameters) {
const parameter = methodvalue.parameters[key] const parameter = methodvalue.parameters[key]
if (parameter.in === "query") { if (parameter.in === "query") {
@@ -450,7 +449,6 @@ const AppCreator = (props) => {
const host = splitBase[2] const host = splitBase[2]
const schemes = [splitBase[0]] const schemes = [splitBase[0]]
const basePath = "/"+(splitBase.slice(3, )).join("/") const basePath = "/"+(splitBase.slice(3, )).join("/")
console.log("IMAGE: ", fileBase64)
const data = { const data = {
"swagger": "3.0", "swagger": "3.0",
@@ -557,19 +555,32 @@ const AppCreator = (props) => {
} }
if (item.body.length > 0) { if (item.body.length > 0) {
console.log("HANDLE BODY!") const required = false
newitem = { newitem = {
"in": "body", "in": "body",
"name": "body", "name": "body",
"multiline": true, "multiline": true,
"description": "Generated by shuffler.io OpenAPI", "description": "Generated by shuffler.io OpenAPI",
"required": false, "required": required,
"example": item.body, "example": item.body,
"schema": { "schema": {
"type": "string", "type": "string",
}, },
} }
// FIXME - add application/json if JSON example?
data.paths[item.url][item.method.toLowerCase()]["requestBody"] = {
"description": "Generated by Shuffler.io",
"required": required,
"content": {
"example": {
"example": "test",
},
},
}
console.log(data.paths[item.url][item.method.toLowerCase()])
data.paths[item.url][item.method.toLowerCase()].parameters.push(newitem) data.paths[item.url][item.method.toLowerCase()].parameters.push(newitem)
} }
} }
@@ -615,7 +626,6 @@ const AppCreator = (props) => {
setErrorCode(responseJson.reason) setErrorCode(responseJson.reason)
alert.error("Failed to verify: ") alert.error("Failed to verify: ")
} else { } else {
// Return?
alert.success("Successfully uploaded openapi") alert.success("Successfully uploaded openapi")
//window.location = "/apps" //window.location = "/apps"
} }