77 lines
1.9 KiB
Go
77 lines
1.9 KiB
Go
package structs
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// structure for database
|
|
|
|
const (
|
|
GroupTasksStatusFinished uint8 = 1
|
|
GroupTasksStatusRunning uint8 = 2
|
|
GroupTasksStatusCanceled uint8 = 3
|
|
GroupTasksStatusFailed uint8 = 4
|
|
GroupTasksInputRequired uint8 = 5
|
|
)
|
|
|
|
type GroupTasks struct {
|
|
Id string
|
|
Category string
|
|
GroupId string
|
|
GroupName string
|
|
CurrentTasksStep uint8
|
|
NumberOfSteps uint8
|
|
Status uint8
|
|
GlobalInputs string `gorm:"type:json"`
|
|
StartedAt time.Time
|
|
EndedAt time.Time
|
|
RememberId string `gorm:"-"` // used by the web client who requested this to open the modal after the backend sent the NewGroupTaskStarted message
|
|
}
|
|
|
|
type GroupTaskSteps struct {
|
|
Id string
|
|
GroupTasksId string
|
|
Step uint8
|
|
Status uint8
|
|
Log string `gorm:"type:text"`
|
|
StartedAt time.Time
|
|
EndedAt time.Time
|
|
}
|
|
|
|
// read from file structure
|
|
|
|
type CategoryGroup struct {
|
|
Category string `json:"category"`
|
|
Groups []Group `json:"groups"`
|
|
}
|
|
|
|
type Group struct {
|
|
Category string `json:"category"`
|
|
Id string `json:"id"`
|
|
Name string `json:"name"`
|
|
GlobalInputs []GlobalInputs `json:"globalInputs"`
|
|
Tasks []Task `json:"tasks"`
|
|
}
|
|
|
|
type GlobalInputs struct {
|
|
ParameterName string `json:"parameterName"`
|
|
Type string `json:"type"`
|
|
DisplayName string `json:"displayName"`
|
|
}
|
|
|
|
type Task struct {
|
|
Name string `json:"name"`
|
|
OnFinish string `json:"onFinish"`
|
|
UndoPossible bool `json:"undoPossible"`
|
|
ScriptPath string `json:"scriptPath"`
|
|
Parameters []TaskParameter `json:"parameters"`
|
|
Feedback string `json:"feedback"`
|
|
}
|
|
|
|
type TaskParameter struct {
|
|
ParameterName string `json:"parameterName"`
|
|
Type string `json:"type"`
|
|
DisplayName string `json:"displayName"`
|
|
Global bool `json:"global"`
|
|
}
|