package dto import ( "encoding/json" "time" ) type TaskRequest struct { ID uint `json:"ID"` Name string `json:"name"` Description string `json:"description"` Spec string `json:"spec"` WithSeconds bool `json:"withSeconds"` ExecutorType string `json:"executorType"` MethodName string `json:"methodName"` Params json.RawMessage `json:"params"` HTTPURL string `json:"httpUrl"` HTTPMethod string `json:"httpMethod"` HTTPHeader json.RawMessage `json:"httpHeader"` HTTPBody string `json:"httpBody"` HTTPAllowPrivate bool `json:"httpAllowPrivate"` Enabled bool `json:"enabled"` } type DeleteTaskRequest struct { ID uint `json:"ID" binding:"required"` } type ToggleTaskRequest struct { ID uint `json:"ID" binding:"required"` Enabled bool `json:"enabled"` } type TaskListRequest struct { Page int `form:"page"` PageSize int `form:"pageSize"` Name string `form:"name"` ExecutorType string `form:"executorType"` Enabled *bool `form:"enabled"` } type TaskLogListRequest struct { Page int `form:"page"` PageSize int `form:"pageSize"` TaskID uint `form:"taskId"` Status string `form:"status"` } type TaskResponse struct { ID uint `json:"ID"` CreatedAt time.Time `json:"CreatedAt"` UpdatedAt time.Time `json:"UpdatedAt"` DeletedAt any `json:"-"` Name string `json:"name"` Description string `json:"description"` Spec string `json:"spec"` WithSeconds bool `json:"withSeconds"` ExecutorType string `json:"executorType"` MethodName string `json:"methodName"` Params json.RawMessage `json:"params"` HTTPURL string `json:"httpUrl"` HTTPMethod string `json:"httpMethod"` HTTPHeader json.RawMessage `json:"httpHeader"` HTTPBody string `json:"httpBody"` HTTPAllowPrivate bool `json:"httpAllowPrivate"` Enabled bool `json:"enabled"` NextRunAt *time.Time `json:"nextRunAt"` } type TaskLogResponse struct { ID uint `json:"ID"` CreatedAt time.Time `json:"CreatedAt"` UpdatedAt time.Time `json:"UpdatedAt"` DeletedAt any `json:"-"` TaskID uint `json:"taskId"` TaskName string `json:"taskName"` TriggerType string `json:"triggerType"` StartedAt time.Time `json:"startedAt"` FinishedAt time.Time `json:"finishedAt"` DurationMS int64 `json:"durationMs"` Status string `json:"status"` ErrorMsg string `json:"errorMsg"` Output string `json:"output"` } type TaskMethodResponse struct { Name string `json:"name"` Description string `json:"description"` }