Neo Workflow for local deployment
This commit is contained in:
		@@ -3,6 +3,7 @@ package controllers
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"errors"
 | 
			
		||||
	"fmt"
 | 
			
		||||
 | 
			
		||||
	oclib "cloud.o-forge.io/core/oc-lib"
 | 
			
		||||
	"cloud.o-forge.io/core/oc-lib/tools"
 | 
			
		||||
@@ -16,15 +17,15 @@ type WorkflowController struct {
 | 
			
		||||
 | 
			
		||||
var paths = map[tools.DataType]map[tools.METHOD]string{ // paths to call other OC services
 | 
			
		||||
	tools.BOOKING: {
 | 
			
		||||
		tools.POST:   "/oc/booking/",
 | 
			
		||||
		tools.DELETE: "/oc/booking/:id",
 | 
			
		||||
		tools.POST:   "/booking/",
 | 
			
		||||
		tools.DELETE: "/booking/:id",
 | 
			
		||||
	},
 | 
			
		||||
	tools.PEER: {
 | 
			
		||||
		tools.POST: "/oc/peer",
 | 
			
		||||
		tools.POST: "/status/",
 | 
			
		||||
	},
 | 
			
		||||
	tools.WORKFLOW: {
 | 
			
		||||
		tools.PUT:    "/oc/workflow/:id?is_remote=true",
 | 
			
		||||
		tools.DELETE: "/oc/workflow/:id?is_remote=true",
 | 
			
		||||
		tools.PUT:    "/:id?is_remote=true",
 | 
			
		||||
		tools.DELETE: "/:id?is_remote=true",
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -151,13 +152,14 @@ func (o *WorkflowController) Check() {
 | 
			
		||||
			workflow := res.ToWorkflow()
 | 
			
		||||
			caller := tools.NewHTTPCaller(map[tools.DataType]map[tools.METHOD]string{ // paths to call other OC services
 | 
			
		||||
				tools.PEER: {
 | 
			
		||||
					tools.POST: "/oc/peer",
 | 
			
		||||
					tools.POST: "/status/",
 | 
			
		||||
				},
 | 
			
		||||
				tools.BOOKING: {
 | 
			
		||||
					tools.GET: "/oc/booking/check/:id/" + o.Ctx.Input.Param(":start_date") + "/" + o.Ctx.Input.Param(":end_date"),
 | 
			
		||||
					tools.GET: "/booking/check/:id/" + o.Ctx.Input.Param(":start_date") + "/" + o.Ctx.Input.Param(":end_date"),
 | 
			
		||||
				},
 | 
			
		||||
			})
 | 
			
		||||
			isAvailable, err := workflow.CheckBooking(caller) // check booking
 | 
			
		||||
			fmt.Println("isAvailable", isAvailable, o.Ctx.Input.Param(":start_date"), o.Ctx.Input.Param(":end_date"))
 | 
			
		||||
			code := 200
 | 
			
		||||
			if !isAvailable { // if not available then its a conflict
 | 
			
		||||
				code = 409
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user