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