task inputs
parent
2ebeeb20ad
commit
f252c76c46
|
@ -91,7 +91,7 @@ type RunGroupTaskArgs struct {
|
|||
Step uint8
|
||||
TaskStepId string
|
||||
GlobalInputs string
|
||||
TaskParameters string
|
||||
TaskInputs string
|
||||
}
|
||||
|
||||
type InputParameters struct {
|
||||
|
@ -106,6 +106,7 @@ func RunGroupTask(args RunGroupTaskArgs) {
|
|||
GroupTasksId: args.GroupTaskId,
|
||||
Step: args.Step,
|
||||
Status: structs.GroupTasksStatusRunning,
|
||||
Inputs: args.TaskInputs,
|
||||
StartedAt: time.Now(),
|
||||
}
|
||||
|
||||
|
@ -146,7 +147,7 @@ func RunGroupTask(args RunGroupTaskArgs) {
|
|||
// task parameters
|
||||
commandArgs := []string{root + categoryGroup.Id + "/" + categoryGroup.Tasks[args.Step-1].ScriptPath}
|
||||
|
||||
if len(categoryGroup.Tasks[args.Step-1].Parameters) != 0 && len(args.TaskParameters) == 0 {
|
||||
if len(categoryGroup.Tasks[args.Step-1].Parameters) != 0 && len(args.TaskInputs) == 0 {
|
||||
updateGroupTask(groupTaskStep.GroupTasksId, structs.GroupTasks{
|
||||
Status: structs.GroupTasksStatusInputRequired,
|
||||
})
|
||||
|
@ -155,15 +156,14 @@ func RunGroupTask(args RunGroupTaskArgs) {
|
|||
|
||||
updateGroupTaskSteps(groupTaskStep)
|
||||
return
|
||||
} else {
|
||||
} else if len(args.TaskInputs) > 0 {
|
||||
var taskParameterInputs []InputParameters
|
||||
|
||||
if err := json.Unmarshal([]byte(args.TaskParameters), &taskParameterInputs); err != nil {
|
||||
if err := json.Unmarshal([]byte(args.TaskInputs), &taskParameterInputs); err != nil {
|
||||
log.Error().Msgf("err unmarshalling task parameter inputs %s", err.Error())
|
||||
}
|
||||
|
||||
for _, taskParameterInput := range taskParameterInputs {
|
||||
//commandArgs = append(commandArgs, "--"+taskParameterInput.ParameterName)
|
||||
commandArgs = append(commandArgs, taskParameterInput.Value)
|
||||
}
|
||||
}
|
||||
|
@ -208,7 +208,7 @@ func RunGroupTask(args RunGroupTaskArgs) {
|
|||
})
|
||||
|
||||
// clear task parameters, because otherwise the next task would have the parameters from the previous task
|
||||
args.TaskParameters = ""
|
||||
args.TaskInputs = ""
|
||||
|
||||
RunGroupTask(args)
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ type GroupTaskSteps struct {
|
|||
Step uint8
|
||||
Status uint8
|
||||
Log string `gorm:"type:text"`
|
||||
Inputs string `gorm:"type:json"`
|
||||
StartedAt time.Time
|
||||
EndedAt time.Time
|
||||
}
|
||||
|
@ -64,7 +65,7 @@ type Task struct {
|
|||
OnFinish string `json:"onFinish"`
|
||||
UndoPossible bool `json:"undoPossible"`
|
||||
ScriptPath string `json:"scriptPath"`
|
||||
Parameters []TaskParameter `json:"parameters"`
|
||||
Parameters []TaskParameter `json:"parameters"` // same as task inputs
|
||||
Feedback string `json:"feedback"`
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,27 @@
|
|||
package utils
|
||||
|
||||
import "github.com/gofiber/fiber/v2"
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
func GetXAuhorizationHeader(c *fiber.Ctx) string {
|
||||
return c.GetReqHeaders()[HeaderXAuthorization]
|
||||
}
|
||||
|
||||
func MarshalJson(v any) string {
|
||||
log.Debug().Msgf("MarshalJson input %s", v)
|
||||
|
||||
json, err := json.Marshal(v)
|
||||
|
||||
if err != nil {
|
||||
log.Error().Msgf("Failed to marshal json %s", err)
|
||||
return ""
|
||||
}
|
||||
|
||||
log.Debug().Msgf("Marshal json %s", json)
|
||||
|
||||
return string(json)
|
||||
}
|
||||
|
|
|
@ -76,8 +76,8 @@ func RunHub() {
|
|||
|
||||
category := receivedMessage.Body["category"].(string)
|
||||
groupId := receivedMessage.Body["id"].(string)
|
||||
globalInputs := receivedMessage.Body["globalInputs"]
|
||||
|
||||
/*
|
||||
var globalInputsJsonString string
|
||||
|
||||
if globalInputs != nil {
|
||||
|
@ -89,7 +89,9 @@ func RunHub() {
|
|||
}
|
||||
|
||||
globalInputsJsonString = string(jsonString)
|
||||
}
|
||||
} */
|
||||
|
||||
globalInputsJsonString := utils.MarshalJson(receivedMessage.Body["globalInputs"])
|
||||
|
||||
groupTaskId := uuid.New().String()
|
||||
|
||||
|
@ -134,9 +136,7 @@ func RunHub() {
|
|||
})
|
||||
break
|
||||
case utils.ReceivedCmdTaskContinueTaskStep:
|
||||
taskInputs := receivedMessage.Body["taskInputs"]
|
||||
|
||||
var taskInputsJsonString string
|
||||
/*
|
||||
|
||||
if taskInputs != nil {
|
||||
jsonString, err := json.Marshal(taskInputs)
|
||||
|
@ -147,7 +147,7 @@ func RunHub() {
|
|||
}
|
||||
|
||||
taskInputsJsonString = string(jsonString)
|
||||
}
|
||||
} */
|
||||
|
||||
go grouptasks.RunGroupTask(grouptasks.RunGroupTaskArgs{
|
||||
StartType: grouptasks.RunGroupTaskStartTypeTryAgain,
|
||||
|
@ -156,7 +156,7 @@ func RunHub() {
|
|||
GroupId: receivedMessage.Body["groupId"].(string),
|
||||
Step: uint8(receivedMessage.Body["step"].(float64)),
|
||||
TaskStepId: receivedMessage.Body["taskStepId"].(string),
|
||||
TaskParameters: taskInputsJsonString,
|
||||
TaskInputs: utils.MarshalJson(receivedMessage.Body["taskInputs"]),
|
||||
})
|
||||
|
||||
break
|
||||
|
|
Loading…
Reference in New Issue