diff --git a/backend/go-app/main.go b/backend/go-app/main.go
index b50ba5b1..54b29c62 100644
--- a/backend/go-app/main.go
+++ b/backend/go-app/main.go
@@ -5458,7 +5458,7 @@ func echoOpenapiData(resp http.ResponseWriter, request *http.Request) {
if err != nil {
log.Printf("Api authentication failed in validate swagger: %s", err)
resp.WriteHeader(401)
- resp.Write([]byte(`{"success": false}`))
+ resp.Write([]byte(`{"success": false, "reason": "Failed authentication"}`))
return
}
@@ -5504,6 +5504,12 @@ func echoOpenapiData(resp http.ResponseWriter, request *http.Request) {
return
}
+ if newresp.StatusCode >= 400 {
+ resp.WriteHeader(201)
+ resp.Write([]byte(fmt.Sprintf(`{"success": false, "reason": "%s"}`, urlbody)))
+ return
+ }
+
resp.WriteHeader(200)
resp.Write(urlbody)
}
@@ -5734,6 +5740,8 @@ func validateSwagger(resp http.ResponseWriter, request *http.Request) {
err = gyaml.Unmarshal(body, &swagger)
if err != nil {
log.Printf("Yaml error: %s", err)
+ } else {
+ log.Printf("Found valid yaml!")
}
resp.WriteHeader(422)
diff --git a/backend/go-app/walkoff.go b/backend/go-app/walkoff.go
index 86c25561..bb1d97e8 100644
--- a/backend/go-app/walkoff.go
+++ b/backend/go-app/walkoff.go
@@ -3817,9 +3817,6 @@ func getWorkflowApps(resp http.ResponseWriter, request *http.Request) {
}
}
- log.Printf("User: %d", len(user.PrivateApps))
- log.Printf("All: %d", len(workflowapps))
-
// Double unmarshal because of user apps
newbody, err := json.Marshal(newapps)
//newbody, err := json.Marshal(workflowapps)
diff --git a/frontend/src/views/Apps.jsx b/frontend/src/views/Apps.jsx
index 1bdbb68c..105e5dda 100644
--- a/frontend/src/views/Apps.jsx
+++ b/frontend/src/views/Apps.jsx
@@ -349,8 +349,10 @@ const Apps = (props) => {
return (
)
@@ -515,7 +517,6 @@ const Apps = (props) => {
]
//fetch(globalUrl+"/api/v1/get_openapi/"+urlParams.get("id"),
- console.log("User: ", props.userdata)
var baseInfo = newAppname.length > 0 ?
@@ -544,7 +545,9 @@ const Apps = (props) => {
return (
@@ -1030,7 +1033,7 @@ const Apps = (props) => {
setValidation(true)
fetch(globalUrl+"/api/v1/get_openapi_uri", {
- method: 'POST',
+ method: 'POST',
headers: {
'Accept': 'application/json',
},
@@ -1038,19 +1041,34 @@ const Apps = (props) => {
credentials: "include",
})
.then((response) => {
+ setValidation(false)
+ if (response.status !== 200) {
+ return response.json()
+ }
+
return response.text()
})
- .then((responseText) => {
- validateOpenApi(responseText)
- setValidation(false)
- })
+ .then((responseJson) => {
+ if (typeof(responseJson) !== "string" && !responseJson.success) {
+ console.log(responseJson.reason)
+ if (responseJson.reason !== undefined) {
+ setOpenApiError(responseJson.reason)
+ } else {
+ setOpenApiError("Undefined issue with OpenAPI validation")
+ }
+ return
+ }
+
+ validateOpenApi(responseJson)
+ })
.catch(error => {
alert.error(error.toString())
+ setOpenApiError(error.toString())
});
}
const escapeApiData = (apidata) => {
- console.log(apidata)
+ //console.log(apidata)
try {
return JSON.stringify(JSON.parse(apidata))
} catch(error) {
@@ -1062,7 +1080,7 @@ const Apps = (props) => {
return JSON.stringify(YAML.parse(apidata))
} catch(error) {
console.log("YAML DECODE ERROR - TRY SOMETHING ELSE?: "+error)
- setOpenApiError(error)
+ setOpenApiError(error.toString())
}
return ""
@@ -1076,6 +1094,7 @@ const Apps = (props) => {
return
}
+ setValidation(true)
fetch(globalUrl+"/api/v1/validate_openapi", {
method: 'POST',
headers: {
@@ -1085,10 +1104,10 @@ const Apps = (props) => {
credentials: "include",
})
.then((response) => {
+ setValidation(false)
return response.json()
})
- .then((responseJson) => {
- setValidation(false)
+ .then((responseJson) => {
if (responseJson.success) {
setAppValidation(responseJson.id)
} else {
@@ -1099,7 +1118,9 @@ const Apps = (props) => {
}
})
.catch(error => {
+ setValidation(false)
alert.error(error.toString())
+ setOpenApiError(error.toString())
});
}
@@ -1245,7 +1266,9 @@ const Apps = (props) => {
const modalView = openApiModal ?