Updates to app grabbing from backend
This commit is contained in:
@@ -2877,8 +2877,8 @@ func fixUserOrg(ctx context.Context, user *User) *User {
|
|||||||
|
|
||||||
// Used for testing only. Shouldn't impact production.
|
// Used for testing only. Shouldn't impact production.
|
||||||
func handleCors(resp http.ResponseWriter, request *http.Request) bool {
|
func handleCors(resp http.ResponseWriter, request *http.Request) bool {
|
||||||
allowedOrigins := "http://localhost:3000"
|
//allowedOrigins := "http://localhost:3000"
|
||||||
//allowedOrigins := "http://localhost:3002"
|
allowedOrigins := "http://localhost:3002"
|
||||||
|
|
||||||
resp.Header().Set("Vary", "Origin")
|
resp.Header().Set("Vary", "Origin")
|
||||||
resp.Header().Set("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With, remember-me, Authorization")
|
resp.Header().Set("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With, remember-me, Authorization")
|
||||||
|
|||||||
+49
-11
@@ -4740,13 +4740,7 @@ func getWorkflowAppConfig(resp http.ResponseWriter, request *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
user, userErr := handleApiAuthentication(resp, request)
|
ctx := context.Background()
|
||||||
if userErr != nil {
|
|
||||||
log.Printf("Api authentication failed in edit workflow: %s", userErr)
|
|
||||||
resp.WriteHeader(401)
|
|
||||||
resp.Write([]byte(`{"success": false}`))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
location := strings.Split(request.URL.String(), "/")
|
location := strings.Split(request.URL.String(), "/")
|
||||||
var fileId string
|
var fileId string
|
||||||
@@ -4760,23 +4754,67 @@ func getWorkflowAppConfig(resp http.ResponseWriter, request *http.Request) {
|
|||||||
fileId = location[4]
|
fileId = location[4]
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx := context.Background()
|
|
||||||
app, err := getApp(ctx, fileId)
|
app, err := getApp(ctx, fileId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error getting app (app config): %s", fileId)
|
log.Printf("[WARNING] Error getting app %s (app config): %s", fileId, err)
|
||||||
|
resp.WriteHeader(401)
|
||||||
|
resp.Write([]byte(`{"success": false, "reason": "App doesn't exist"}`))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//if IsValid bool `json:"is_valid" yaml:"is_valid" required:true datastore:"is_valid"`
|
||||||
|
// Sharing bool `json:"sharing" yaml:"sharing" required:false datastore:"sharing"`
|
||||||
|
log.Printf("Sharing: %s", app.Sharing)
|
||||||
|
log.Printf("Generated: %s", app.Generated)
|
||||||
|
log.Printf("Downloaded: %s", app.Downloaded)
|
||||||
|
|
||||||
|
// FIXME - Handle sharing and such PROPERLY
|
||||||
|
if app.Sharing && app.Generated {
|
||||||
|
log.Printf("CAN SHARE APP!")
|
||||||
|
parsedApi, err := getOpenApiDatastore(ctx, fileId)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("[WARNING] OpenApi doesn't exist for: %s - err: %s", fileId, err)
|
||||||
|
resp.WriteHeader(401)
|
||||||
|
resp.Write([]byte(`{"success": false}`))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(parsedApi.ID) > 0 {
|
||||||
|
parsedApi.Success = true
|
||||||
|
} else {
|
||||||
|
parsedApi.Success = false
|
||||||
|
}
|
||||||
|
|
||||||
|
//log.Printf("PARSEDAPI: %#v", parsedApi)
|
||||||
|
data, err := json.Marshal(parsedApi)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("[WARNING] Error parsing api json: %s", err)
|
||||||
|
resp.WriteHeader(422)
|
||||||
|
resp.Write([]byte(fmt.Sprintf(`{"success": false, "reason": "Failed marshalling new parsed swagger: %s"}`, err)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
resp.WriteHeader(200)
|
||||||
|
resp.Write(data)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
user, userErr := handleApiAuthentication(resp, request)
|
||||||
|
if userErr != nil {
|
||||||
|
log.Printf("[WARNING] Api authentication failed in get app: %s", userErr)
|
||||||
resp.WriteHeader(401)
|
resp.WriteHeader(401)
|
||||||
resp.Write([]byte(`{"success": false}`))
|
resp.Write([]byte(`{"success": false}`))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if user.Id != app.Owner && user.Role != "admin" {
|
if user.Id != app.Owner && user.Role != "admin" {
|
||||||
log.Printf("Wrong user (%s) for app %s", user.Username, app.Name)
|
log.Printf("[WARNING] Wrong user (%s) for app %s", user.Username, app.Name)
|
||||||
resp.WriteHeader(401)
|
resp.WriteHeader(401)
|
||||||
resp.Write([]byte(`{"success": false}`))
|
resp.Write([]byte(`{"success": false}`))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Printf("Getting app %s", fileId)
|
log.Printf("Getting app %s (OpenAPI)", fileId)
|
||||||
parsedApi, err := getOpenApiDatastore(ctx, fileId)
|
parsedApi, err := getOpenApiDatastore(ctx, fileId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("OpenApi doesn't exist for: %s - err: %s", fileId, err)
|
log.Printf("OpenApi doesn't exist for: %s - err: %s", fileId, err)
|
||||||
|
|||||||
Reference in New Issue
Block a user