package executor import "strings" type ContainerResult struct { Conditions map[string]bool `json:"conditions"` Code int `json:"code"` Stdout []string `json:"stdout"` Stderr []string `json:"stderr"` Error error `json:"error"` } func NewContainerResultSuccess(conditions map[string]bool, code int, stdout []byte, stderr []byte) *ContainerResult { return &ContainerResult{ Conditions: conditions, Code: code, Stdout: strings.Split(string(stdout), "\n"), Stderr: strings.Split(string(stderr), "\n"), } } func NewContainerResultError(err error) *ContainerResult { return &ContainerResult{ Error: err, } } type CheckResult struct { Success bool `json:"success"` Data any `json:"data"` } type TaskResult struct { Success bool `json:"success"` Clean bool `json:"clean"` Start map[string]*ContainerResult `json:"start"` Stop map[string]*ContainerResult `json:"stop"` Checks map[string]CheckResult `json:"checks"` } func NewTaskResultSuccess(report map[string]CheckResult) *TaskResult { return &TaskResult{ Success: true, Clean: false, Checks: report, } } func NewTaskResultFailed() *TaskResult { return &TaskResult{ Success: false, Clean: false, Checks: map[string]CheckResult{}, } }