|
|
|
@@ -614,7 +614,7 @@ func handleGetStreamResults(resp http.ResponseWriter, request *http.Request) {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if len(workflowExecution.ExecutionOrg) > 0 && user.ActiveOrg.Id == workflowExecution.ExecutionOrg && user.Role == "admin" {
|
|
|
|
|
if len(workflowExecution.ExecutionOrg) > 0 && user.ActiveOrg.Id == workflowExecution.ExecutionOrg {
|
|
|
|
|
//log.Printf("[DEBUG] User %s is in correct org. Allowing org continuation for execution!", user.Username)
|
|
|
|
|
} else {
|
|
|
|
|
log.Printf("[WARNING] Bad authorization key when getting stream results %s.", actionResult.ExecutionId)
|
|
|
|
@@ -965,7 +965,7 @@ func deleteWorkflow(resp http.ResponseWriter, request *http.Request) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if user.Id != workflow.Owner || len(user.Id) == 0 {
|
|
|
|
|
if workflow.OrgId == user.ActiveOrg.Id && user.Role == "admin" {
|
|
|
|
|
if workflow.OrgId == user.ActiveOrg.Id {
|
|
|
|
|
log.Printf("[INFO] User %s is deleting workflow %s as admin. Owner: %s", user.Username, workflow.ID, workflow.Owner)
|
|
|
|
|
} else {
|
|
|
|
|
log.Printf("[WARNING] Wrong user (%s) for workflow %s (delete workflow)", user.Username, workflow.ID)
|
|
|
|
@@ -1939,7 +1939,7 @@ func executeWorkflow(resp http.ResponseWriter, request *http.Request) {
|
|
|
|
|
|
|
|
|
|
if !executionAuthValid {
|
|
|
|
|
if user.Id != workflow.Owner && user.Role != "scheduler" && user.Role != fmt.Sprintf("workflow_%s", fileId) {
|
|
|
|
|
if workflow.OrgId == user.ActiveOrg.Id && user.Role == "admin" {
|
|
|
|
|
if workflow.OrgId == user.ActiveOrg.Id {
|
|
|
|
|
log.Printf("[AUDIT] Letting user %s execute %s because they're admin of the same org", user.Username, workflow.ID)
|
|
|
|
|
} else {
|
|
|
|
|
log.Printf("[AUDIT] Wrong user (%s) for workflow %s (execute)", user.Username, workflow.ID)
|
|
|
|
@@ -2029,7 +2029,7 @@ func stopSchedule(resp http.ResponseWriter, request *http.Request) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if user.Id != workflow.Owner || len(user.Id) == 0 {
|
|
|
|
|
if workflow.OrgId == user.ActiveOrg.Id && user.Role == "admin" {
|
|
|
|
|
if workflow.OrgId == user.ActiveOrg.Id {
|
|
|
|
|
log.Printf("[AUDIT] User %s is accessing workflow %s as admin (stop schedule)", user.Username, workflow.ID)
|
|
|
|
|
} else {
|
|
|
|
|
log.Printf("[WARNING] Wrong user (%s) for workflow %s (stop schedule)", user.Username, workflow.ID)
|
|
|
|
@@ -2039,19 +2039,6 @@ func stopSchedule(resp http.ResponseWriter, request *http.Request) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//if user.Id != workflow.Owner || len(user.Id) == 0 {
|
|
|
|
|
// if workflow.OrgId == user.ActiveOrg.Id && user.Role == "admin" {
|
|
|
|
|
// log.Printf("[INFO] User %s is accessing workflow %s as admin", user.Username, workflow.ID)
|
|
|
|
|
// } else if workflow.Public {
|
|
|
|
|
// log.Printf("[INFO] Letting user %s access workflow %s because it's public", user.Username, workflow.ID)
|
|
|
|
|
// } else {
|
|
|
|
|
// log.Printf("[WARNING] Wrong user (%s) for workflow %s (get workflow)", user.Username, workflow.ID)
|
|
|
|
|
// resp.WriteHeader(401)
|
|
|
|
|
// resp.Write([]byte(`{"success": false}`))
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
schedule, err := shuffle.GetSchedule(ctx, scheduleId)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Printf("[WARNING] Failed finding schedule %s", scheduleId)
|
|
|
|
@@ -2279,7 +2266,7 @@ func scheduleWorkflow(resp http.ResponseWriter, request *http.Request) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if user.Id != workflow.Owner || len(user.Id) == 0 {
|
|
|
|
|
if workflow.OrgId == user.ActiveOrg.Id && user.Role == "admin" {
|
|
|
|
|
if workflow.OrgId == user.ActiveOrg.Id {
|
|
|
|
|
log.Printf("[INFO] User %s is deleting workflow %s as admin. Owner: %s", user.Username, workflow.ID, workflow.Owner)
|
|
|
|
|
} else {
|
|
|
|
|
log.Printf("[WARNING] Wrong user (%s) for workflow %s (schedule start). Owner: %s", user.Username, workflow.ID, workflow.Owner)
|
|
|
|
|