Neo Workflow for local deployment

This commit is contained in:
mr
2024-10-15 11:03:27 +02:00
parent 57906e481c
commit 9c8b11d356
8 changed files with 153 additions and 100 deletions

View File

@@ -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