Compare commits
	
		
			1 Commits
		
	
	
		
			a1256ee331
			...
			feature/or
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d1e5b59eb9 | 
@@ -1,13 +1,10 @@
 | 
				
			|||||||
package controllers
 | 
					package controllers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"encoding/json"
 | 
					 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	oclib "cloud.o-forge.io/core/oc-lib"
 | 
						oclib "cloud.o-forge.io/core/oc-lib"
 | 
				
			||||||
	dbs "cloud.o-forge.io/core/oc-lib/dbs"
 | 
						dbs "cloud.o-forge.io/core/oc-lib/dbs"
 | 
				
			||||||
	"cloud.o-forge.io/core/oc-lib/models/workflow_execution"
 | 
					 | 
				
			||||||
	"cloud.o-forge.io/core/oc-lib/tools"
 | 
					 | 
				
			||||||
	beego "github.com/beego/beego/v2/server/web"
 | 
						beego "github.com/beego/beego/v2/server/web"
 | 
				
			||||||
	"go.mongodb.org/mongo-driver/bson/primitive"
 | 
						"go.mongodb.org/mongo-driver/bson/primitive"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@@ -89,37 +86,3 @@ func (o *WorkflowExecutionController) Search() {
 | 
				
			|||||||
	o.Data["json"] = oclib.NewRequest(collection, user, peerID, groups, nil).Search(nil, search, isDraft == "true")
 | 
						o.Data["json"] = oclib.NewRequest(collection, user, peerID, groups, nil).Search(nil, search, isDraft == "true")
 | 
				
			||||||
	o.ServeJSON()
 | 
						o.ServeJSON()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
// @Title ScheduleWorkflow
 | 
					 | 
				
			||||||
// @Description schedule workflow
 | 
					 | 
				
			||||||
// @Param	id		path 	string	true		"id execution"
 | 
					 | 
				
			||||||
// @Param	body		body 	models.compute	true		"The compute content"
 | 
					 | 
				
			||||||
// @Success 200 {workspace} models.workspace
 | 
					 | 
				
			||||||
// @router /workflow/:id [post]
 | 
					 | 
				
			||||||
func (o *WorkflowExecutionController) ScheduleWorkflow() {
 | 
					 | 
				
			||||||
	user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
 | 
					 | 
				
			||||||
	id := o.Ctx.Input.Param(":id")
 | 
					 | 
				
			||||||
	var resp *workflow_execution.WorkflowSchedule
 | 
					 | 
				
			||||||
	json.Unmarshal(o.Ctx.Input.CopyBody(100000), &resp)
 | 
					 | 
				
			||||||
	caller := tools.NewHTTPCaller(map[tools.DataType]map[tools.METHOD]string{ // paths to call other OC services
 | 
					 | 
				
			||||||
		tools.PEER: {
 | 
					 | 
				
			||||||
			tools.POST: "/status/",
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		tools.BOOKING: {
 | 
					 | 
				
			||||||
			tools.GET: "/booking/check/:id/:start_date/:end_date",
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	})
 | 
					 | 
				
			||||||
	sch, err := oclib.NewRequest(collection, user, peerID, groups, caller).Schedule(id, resp)
 | 
					 | 
				
			||||||
	code := 200
 | 
					 | 
				
			||||||
	e := ""
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		code = 409
 | 
					 | 
				
			||||||
		e = err.Error()
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	o.Data["json"] = map[string]interface{}{
 | 
					 | 
				
			||||||
		"data":  sch,
 | 
					 | 
				
			||||||
		"code":  code,
 | 
					 | 
				
			||||||
		"error": e,
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	o.ServeJSON()
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										122
									
								
								controllers/workflow_sheduler.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								controllers/workflow_sheduler.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,122 @@
 | 
				
			|||||||
 | 
					package controllers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"encoding/json"
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						oclib "cloud.o-forge.io/core/oc-lib"
 | 
				
			||||||
 | 
						"cloud.o-forge.io/core/oc-lib/dbs"
 | 
				
			||||||
 | 
						"cloud.o-forge.io/core/oc-lib/models/workflow_execution"
 | 
				
			||||||
 | 
						"cloud.o-forge.io/core/oc-lib/tools"
 | 
				
			||||||
 | 
						beego "github.com/beego/beego/v2/server/web"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var orderCollection = oclib.LibDataEnum(oclib.ORDER)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Operations about workflow
 | 
				
			||||||
 | 
					type WorkflowSchedulerController struct {
 | 
				
			||||||
 | 
						beego.Controller
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// @Title Schedule
 | 
				
			||||||
 | 
					// @Description schedule workflow
 | 
				
			||||||
 | 
					// @Param	id		path 	string	true		"id execution"
 | 
				
			||||||
 | 
					// @Param	body		body 	models.compute	true		"The compute content"
 | 
				
			||||||
 | 
					// @Success 200 {workspace} models.workspace
 | 
				
			||||||
 | 
					// @router /:id [post]
 | 
				
			||||||
 | 
					func (o *WorkflowSchedulerController) Schedule() {
 | 
				
			||||||
 | 
						code := 200
 | 
				
			||||||
 | 
						e := ""
 | 
				
			||||||
 | 
						user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
 | 
				
			||||||
 | 
						id := o.Ctx.Input.Param(":id")
 | 
				
			||||||
 | 
						var resp *workflow_execution.WorkflowSchedule
 | 
				
			||||||
 | 
						json.Unmarshal(o.Ctx.Input.CopyBody(100000), &resp)
 | 
				
			||||||
 | 
						caller := tools.NewHTTPCaller(map[tools.DataType]map[tools.METHOD]string{ // paths to call other OC services
 | 
				
			||||||
 | 
							tools.PEER: {
 | 
				
			||||||
 | 
								tools.POST: "/status/",
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							tools.BOOKING: {
 | 
				
			||||||
 | 
								tools.GET: "/booking/check/:id/:start_date/:end_date",
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
						req := oclib.NewRequest(collection, user, peerID, groups, caller)
 | 
				
			||||||
 | 
						sch, err := req.Schedule(id, resp)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							filter := &dbs.Filters{
 | 
				
			||||||
 | 
								And: map[string][]dbs.Filter{
 | 
				
			||||||
 | 
									"workflow_id": {{Operator: dbs.EQUAL.String(), Value: id}},
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							d := req.Search(filter, "", true)
 | 
				
			||||||
 | 
							if d.Data != nil {
 | 
				
			||||||
 | 
								for _, w := range d.Data {
 | 
				
			||||||
 | 
									req.DeleteOne(w.GetID())
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							o.Data["json"] = map[string]interface{}{
 | 
				
			||||||
 | 
								"data":  nil,
 | 
				
			||||||
 | 
								"code":  409,
 | 
				
			||||||
 | 
								"error": err.Error(),
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							o.ServeJSON()
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						order, err := req.DraftOrder(sch)
 | 
				
			||||||
 | 
						fmt.Println("SCHEDULED", order, err)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							for _, w := range sch.WorkflowExecutions {
 | 
				
			||||||
 | 
								oclib.NewRequest(collection, user, peerID, groups, nil).DeleteOne(w.GetID())
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							o.Data["json"] = map[string]interface{}{
 | 
				
			||||||
 | 
								"data":  nil,
 | 
				
			||||||
 | 
								"code":  409,
 | 
				
			||||||
 | 
								"error": err.Error(),
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							o.ServeJSON()
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						o.Data["json"] = map[string]interface{}{
 | 
				
			||||||
 | 
							"data":  order,
 | 
				
			||||||
 | 
							"code":  code,
 | 
				
			||||||
 | 
							"error": e,
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						o.ServeJSON()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// @Title UnSchedule
 | 
				
			||||||
 | 
					// @Description schedule workflow
 | 
				
			||||||
 | 
					// @Param	id		path 	string	true		"id execution"
 | 
				
			||||||
 | 
					// @Param	body		body 	models.compute	true		"The compute content"
 | 
				
			||||||
 | 
					// @Success 200 {workspace} models.workspace
 | 
				
			||||||
 | 
					// @router /:id [delete]
 | 
				
			||||||
 | 
					func (o *WorkflowSchedulerController) UnSchedule() {
 | 
				
			||||||
 | 
						user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
 | 
				
			||||||
 | 
						id := o.Ctx.Input.Param(":id")
 | 
				
			||||||
 | 
						// TODO UNSCHEDULER
 | 
				
			||||||
 | 
						filter := &dbs.Filters{
 | 
				
			||||||
 | 
							And: map[string][]dbs.Filter{
 | 
				
			||||||
 | 
								"workflow_id": {{Operator: dbs.EQUAL.String(), Value: id}},
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						o.Data["json"] = oclib.NewRequest(collection, user, peerID, groups, nil).Search(filter, "", true)
 | 
				
			||||||
 | 
						o.ServeJSON()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// @Title SearchScheduledDraftOrder
 | 
				
			||||||
 | 
					// @Description schedule workflow
 | 
				
			||||||
 | 
					// @Param	id		path 	string	true		"id execution"
 | 
				
			||||||
 | 
					// @Success 200 {workspace} models.workspace
 | 
				
			||||||
 | 
					// @router /:id/order [get]
 | 
				
			||||||
 | 
					func (o *WorkflowSchedulerController) SearchScheduledDraftOrder() {
 | 
				
			||||||
 | 
						user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
 | 
				
			||||||
 | 
						id := o.Ctx.Input.Param(":id")
 | 
				
			||||||
 | 
						filter := &dbs.Filters{
 | 
				
			||||||
 | 
							And: map[string][]dbs.Filter{
 | 
				
			||||||
 | 
								"workflow_id": {{Operator: dbs.EQUAL.String(), Value: id}},
 | 
				
			||||||
 | 
								"order_by":    {{Operator: dbs.EQUAL.String(), Value: peerID}},
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						o.Data["json"] = oclib.NewRequest(orderCollection, user, peerID, groups, nil).Search(filter, "", true)
 | 
				
			||||||
 | 
						o.ServeJSON()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							@@ -5,7 +5,7 @@ go 1.22.0
 | 
				
			|||||||
toolchain go1.22.4
 | 
					toolchain go1.22.4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require (
 | 
					require (
 | 
				
			||||||
	cloud.o-forge.io/core/oc-lib v0.0.0-20250205160221-88b7cfe2fd0f
 | 
						cloud.o-forge.io/core/oc-lib v0.0.0-20250211081618-d82ae166a1e5
 | 
				
			||||||
	github.com/beego/beego/v2 v2.3.1
 | 
						github.com/beego/beego/v2 v2.3.1
 | 
				
			||||||
	github.com/smartystreets/goconvey v1.7.2
 | 
						github.com/smartystreets/goconvey v1.7.2
 | 
				
			||||||
	go.mongodb.org/mongo-driver v1.17.1
 | 
						go.mongodb.org/mongo-driver v1.17.1
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										26
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								go.sum
									
									
									
									
									
								
							@@ -230,6 +230,32 @@ cloud.o-forge.io/core/oc-lib v0.0.0-20250205154116-7201cabb438a h1:DAEI00i+r2MAl
 | 
				
			|||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250205154116-7201cabb438a/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250205154116-7201cabb438a/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250205160221-88b7cfe2fd0f h1:6V+Z81ywYoDYSVMnM4PVaJYXFgCN3xSG3ddiUPn4jL8=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250205160221-88b7cfe2fd0f h1:6V+Z81ywYoDYSVMnM4PVaJYXFgCN3xSG3ddiUPn4jL8=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250205160221-88b7cfe2fd0f/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250205160221-88b7cfe2fd0f/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250206080835-e646cfef0b46 h1:YnM9WwcijS+/OrpgML7y1O5c8hJ3Wt5iIPSSZYai+zw=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250206080835-e646cfef0b46/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250206085600-3ffff7d32cf1 h1:PZ6Z3PdgjmiXQlNA64rhZgPyuZugs/jJROEVDHZs9yg=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250206085600-3ffff7d32cf1/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250206101306-ad3293da9dbc h1:3X2bDl/ErUp+ahzROiscJTF6XyF81Swv4JXY2xqI6/o=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250206101306-ad3293da9dbc/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250206115651-940ef17f7b0c h1:T4NE8PQY0opcYREioh4V2eVvJkagn52jytg4S1ZtpGE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250206115651-940ef17f7b0c/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250207072957-31ec352b57b9 h1:lmzktnKiGDo6f1+a8kRAeXvbu/+CEPe/PLsqIOt8hsc=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250207072957-31ec352b57b9/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250207104112-3d1383357252 h1:zLU294Mc2bcxdeihG2K+wK2Zr2B/lTm+dJCMIEMUOKU=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250207104112-3d1383357252/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250210085846-4a178d01e3ee h1:SwWTxlaRAX5p24XwOTBVbAeTLiLFNlSqDZpU0yICrWc=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250210085846-4a178d01e3ee/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250210094237-e55727d9e273 h1:flQk8D7BAQNolfMRXehxZ5QcWuR3ytUvwJWt5GyFSbw=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250210094237-e55727d9e273/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250210103255-f663ec80f5dd h1:myQN5EugL+AvIy4Ugw+jlHEfzcVaQ1bZ+RbwTioaZqs=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250210103255-f663ec80f5dd/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250210121042-52d5a1fbf9b8 h1:LQpmqcx6b+RjfvYzyrgquLSIWdRqcJi2UXybB9wk9Vk=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250210121042-52d5a1fbf9b8/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250211065515-a573a4ce715e h1:00SdIMSwwSJpKVfdwplehHpFULrVvAoc0HxKQD06KEs=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250211065515-a573a4ce715e/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250211073038-ffaa67fb5dca h1:mZBcicJezYO7gY5SHMzyUusyLxYKwFptliiysqaGwD0=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250211073038-ffaa67fb5dca/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250211081618-d82ae166a1e5 h1:S+vFupQoyTwa2QrtxmSChxzAYCrh6mLf7GXRNKU475g=
 | 
				
			||||||
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250211081618-d82ae166a1e5/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 | 
					github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 | 
				
			||||||
github.com/beego/beego/v2 v2.3.0 h1:iECVwzm6egw6iw6tkWrEDqXG4NQtKLQ6QBSYqlM6T/I=
 | 
					github.com/beego/beego/v2 v2.3.0 h1:iECVwzm6egw6iw6tkWrEDqXG4NQtKLQ6QBSYqlM6T/I=
 | 
				
			||||||
github.com/beego/beego/v2 v2.3.0/go.mod h1:Ob/5BJ9fIKZLd4s9ZV3o9J6odkkIyL83et+p98gyYXo=
 | 
					github.com/beego/beego/v2 v2.3.0/go.mod h1:Ob/5BJ9fIKZLd4s9ZV3o9J6odkkIyL83et+p98gyYXo=
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								oc-scheduler
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								oc-scheduler
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -61,13 +61,22 @@ func init() {
 | 
				
			|||||||
            Filters: nil,
 | 
					            Filters: nil,
 | 
				
			||||||
            Params: nil})
 | 
					            Params: nil})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowExecutionController"] = append(beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowExecutionController"],
 | 
					    beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowSchedulerController"] = append(beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowSchedulerController"],
 | 
				
			||||||
        beego.ControllerComments{
 | 
					        beego.ControllerComments{
 | 
				
			||||||
            Method: "ScheduleWorkflow",
 | 
					            Method: "Schedule",
 | 
				
			||||||
            Router: `/workflow/:id`,
 | 
					            Router: `/:id`,
 | 
				
			||||||
            AllowHTTPMethods: []string{"post"},
 | 
					            AllowHTTPMethods: []string{"post"},
 | 
				
			||||||
            MethodParams: param.Make(),
 | 
					            MethodParams: param.Make(),
 | 
				
			||||||
            Filters: nil,
 | 
					            Filters: nil,
 | 
				
			||||||
            Params: nil})
 | 
					            Params: nil})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowSchedulerController"] = append(beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowSchedulerController"],
 | 
				
			||||||
 | 
					        beego.ControllerComments{
 | 
				
			||||||
 | 
					            Method: "UnSchedule",
 | 
				
			||||||
 | 
					            Router: `/:id`,
 | 
				
			||||||
 | 
					            AllowHTTPMethods: []string{"delete"},
 | 
				
			||||||
 | 
					            MethodParams: param.Make(),
 | 
				
			||||||
 | 
					            Filters: nil,
 | 
				
			||||||
 | 
					            Params: nil})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,11 @@ func init() {
 | 
				
			|||||||
		beego.NSInclude(
 | 
							beego.NSInclude(
 | 
				
			||||||
			&controllers.WorkflowExecutionController{},
 | 
								&controllers.WorkflowExecutionController{},
 | 
				
			||||||
		),
 | 
							),
 | 
				
			||||||
 | 
							beego.NSNamespace("/workflow",
 | 
				
			||||||
 | 
								beego.NSInclude(
 | 
				
			||||||
 | 
									&controllers.WorkflowSchedulerController{},
 | 
				
			||||||
 | 
								),
 | 
				
			||||||
 | 
							),
 | 
				
			||||||
		beego.NSNamespace("/version",
 | 
							beego.NSNamespace("/version",
 | 
				
			||||||
			beego.NSInclude(
 | 
								beego.NSInclude(
 | 
				
			||||||
				&controllers.VersionController{},
 | 
									&controllers.VersionController{},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -133,10 +133,40 @@
 | 
				
			|||||||
        "/workflow/{id}": {
 | 
					        "/workflow/{id}": {
 | 
				
			||||||
            "post": {
 | 
					            "post": {
 | 
				
			||||||
                "tags": [
 | 
					                "tags": [
 | 
				
			||||||
                    "oc-scheduler/controllersWorkflowExecutionController"
 | 
					                    "workflow"
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                "description": "schedule workflow\n\u003cbr\u003e",
 | 
					                "description": "schedule workflow\n\u003cbr\u003e",
 | 
				
			||||||
                "operationId": "WorkflowExecutionController.ScheduleWorkflow",
 | 
					                "operationId": "WorkflowSchedulerController.Schedule",
 | 
				
			||||||
 | 
					                "parameters": [
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        "in": "path",
 | 
				
			||||||
 | 
					                        "name": "id",
 | 
				
			||||||
 | 
					                        "description": "id execution",
 | 
				
			||||||
 | 
					                        "required": true,
 | 
				
			||||||
 | 
					                        "type": "string"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        "in": "body",
 | 
				
			||||||
 | 
					                        "name": "body",
 | 
				
			||||||
 | 
					                        "description": "The compute content",
 | 
				
			||||||
 | 
					                        "required": true,
 | 
				
			||||||
 | 
					                        "schema": {
 | 
				
			||||||
 | 
					                            "$ref": "#/definitions/models.compute"
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                "responses": {
 | 
				
			||||||
 | 
					                    "200": {
 | 
				
			||||||
 | 
					                        "description": "{workspace} models.workspace"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "delete": {
 | 
				
			||||||
 | 
					                "tags": [
 | 
				
			||||||
 | 
					                    "workflow"
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                "description": "schedule workflow\n\u003cbr\u003e",
 | 
				
			||||||
 | 
					                "operationId": "WorkflowSchedulerController.UnSchedule",
 | 
				
			||||||
                "parameters": [
 | 
					                "parameters": [
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        "in": "path",
 | 
					                        "in": "path",
 | 
				
			||||||
@@ -197,6 +227,10 @@
 | 
				
			|||||||
            "name": "oc-scheduler/controllersWorkflowExecutionController",
 | 
					            "name": "oc-scheduler/controllersWorkflowExecutionController",
 | 
				
			||||||
            "description": "Operations about workflow\n"
 | 
					            "description": "Operations about workflow\n"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "name": "workflow",
 | 
				
			||||||
 | 
					            "description": "Operations about workflow\n"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "version",
 | 
					            "name": "version",
 | 
				
			||||||
            "description": "VersionController operations for Version\n"
 | 
					            "description": "VersionController operations for Version\n"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -117,11 +117,33 @@ paths:
 | 
				
			|||||||
  /workflow/{id}:
 | 
					  /workflow/{id}:
 | 
				
			||||||
    post:
 | 
					    post:
 | 
				
			||||||
      tags:
 | 
					      tags:
 | 
				
			||||||
      - oc-scheduler/controllersWorkflowExecutionController
 | 
					      - workflow
 | 
				
			||||||
      description: |-
 | 
					      description: |-
 | 
				
			||||||
        schedule workflow
 | 
					        schedule workflow
 | 
				
			||||||
        <br>
 | 
					        <br>
 | 
				
			||||||
      operationId: WorkflowExecutionController.ScheduleWorkflow
 | 
					      operationId: WorkflowSchedulerController.Schedule
 | 
				
			||||||
 | 
					      parameters:
 | 
				
			||||||
 | 
					      - in: path
 | 
				
			||||||
 | 
					        name: id
 | 
				
			||||||
 | 
					        description: id execution
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					        type: string
 | 
				
			||||||
 | 
					      - in: body
 | 
				
			||||||
 | 
					        name: body
 | 
				
			||||||
 | 
					        description: The compute content
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					        schema:
 | 
				
			||||||
 | 
					          $ref: '#/definitions/models.compute'
 | 
				
			||||||
 | 
					      responses:
 | 
				
			||||||
 | 
					        "200":
 | 
				
			||||||
 | 
					          description: '{workspace} models.workspace'
 | 
				
			||||||
 | 
					    delete:
 | 
				
			||||||
 | 
					      tags:
 | 
				
			||||||
 | 
					      - workflow
 | 
				
			||||||
 | 
					      description: |-
 | 
				
			||||||
 | 
					        schedule workflow
 | 
				
			||||||
 | 
					        <br>
 | 
				
			||||||
 | 
					      operationId: WorkflowSchedulerController.UnSchedule
 | 
				
			||||||
      parameters:
 | 
					      parameters:
 | 
				
			||||||
      - in: path
 | 
					      - in: path
 | 
				
			||||||
        name: id
 | 
					        name: id
 | 
				
			||||||
@@ -145,6 +167,9 @@ tags:
 | 
				
			|||||||
- name: oc-scheduler/controllersWorkflowExecutionController
 | 
					- name: oc-scheduler/controllersWorkflowExecutionController
 | 
				
			||||||
  description: |
 | 
					  description: |
 | 
				
			||||||
    Operations about workflow
 | 
					    Operations about workflow
 | 
				
			||||||
 | 
					- name: workflow
 | 
				
			||||||
 | 
					  description: |
 | 
				
			||||||
 | 
					    Operations about workflow
 | 
				
			||||||
- name: version
 | 
					- name: version
 | 
				
			||||||
  description: |
 | 
					  description: |
 | 
				
			||||||
    VersionController operations for Version
 | 
					    VersionController operations for Version
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user