| @@ -0,0 +1,66 @@ | |||||
| package schsdk | |||||
| import "time" | |||||
| type FlowData struct { | |||||
| Nodes []Node `json:"nodes"` | |||||
| Edges []Edge `json:"edges"` | |||||
| } | |||||
| type Node struct { | |||||
| ID string `json:"id"` | |||||
| Type string `json:"type"` | |||||
| X int `json:"x"` | |||||
| Y int `json:"y"` | |||||
| Properties JobInfo `json:"properties"` | |||||
| Text *Text `json:"text,omitempty"` // 有些节点没有 text 字段 | |||||
| } | |||||
| type Edge struct { | |||||
| ID string `json:"id"` | |||||
| Type string `json:"type"` | |||||
| Properties interface{} `json:"properties"` // 为空对象 {} | |||||
| SourceNodeID string `json:"sourceNodeId"` | |||||
| TargetNodeID string `json:"targetNodeId"` | |||||
| SourceAnchorID string `json:"sourceAnchorId"` | |||||
| TargetAnchorID string `json:"targetAnchorId"` | |||||
| StartPoint Point `json:"startPoint"` | |||||
| EndPoint Point `json:"endPoint"` | |||||
| PointsList []Point `json:"pointsList"` | |||||
| Text *Text `json:"text,omitempty"` // 有些 edge 有文字标签 | |||||
| } | |||||
| type Point struct { | |||||
| X int `json:"x"` | |||||
| Y int `json:"y"` | |||||
| } | |||||
| type Text struct { | |||||
| X int `json:"x"` | |||||
| Y int `json:"y"` | |||||
| Value string `json:"value"` | |||||
| } | |||||
| type JobFlowDAO struct { | |||||
| ID int64 `gorm:"column:id;primaryKey;autoIncrement" json:"ID"` | |||||
| UserID int64 `gorm:"column:user_id;not null" json:"UserID"` | |||||
| Name string `gorm:"column:name;size:255;not null" json:"Name"` | |||||
| Description string `gorm:"column:description;size:255" json:"Description"` | |||||
| Content string `gorm:"column:content;type:text" json:"Content"` | |||||
| Status string `gorm:"column:status;type:enum('pending','running','fail','success');default:'pending'" json:"Status"` | |||||
| JobType string `gorm:"column:job_type;size:255" json:"JobType"` | |||||
| UpdatedAt time.Time `gorm:"column:update_at;autoUpdateTime" json:"UpdatedAt"` | |||||
| CreatedAt time.Time `gorm:"column:created_at;autoCreateTime" json:"CreatedAt"` | |||||
| } | |||||
| type JobFlow struct { | |||||
| ID int64 `json:"ID"` | |||||
| UserID int64 `json:"UserID"` | |||||
| Name string `json:"Name"` | |||||
| Description string `json:"Description"` | |||||
| Content FlowData `json:"Content"` | |||||
| Status string `json:"Status"` | |||||
| JobType string `json:"JobType"` | |||||
| UpdatedAt time.Time `json:"UpdatedAt"` | |||||
| CreatedAt time.Time `json:"CreatedAt"` | |||||
| } | |||||