28 lines
803 B
Go
28 lines
803 B
Go
package models
|
|
|
|
import (
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type GraphLink struct {
|
|
BaseModel
|
|
StageID string `json:"stage_id" gorm:"column:stage_id;type:varchar(255);not null"`
|
|
SourceID string `json:"source_id" gorm:"column:source_id;type:varchar(255);not null"`
|
|
TargetID string `json:"target_id" gorm:"column:target_id;type:varchar(255);not null"`
|
|
LinkID string `json:"link_id" gorm:"column:link_id;type:varchar(255);not null"`
|
|
}
|
|
|
|
// 获取前置节点
|
|
func (gl *GraphLink) SourceNode(db *gorm.DB) (*GraphNode, error) {
|
|
var node GraphNode
|
|
err := db.Where("id = ?", gl.SourceID).First(&node).Error
|
|
return &node, err
|
|
}
|
|
|
|
// 获取后置节点
|
|
func (gl *GraphLink) TargetNode(db *gorm.DB) (*GraphNode, error) {
|
|
var node GraphNode
|
|
err := db.Where("id = ?", gl.TargetID).First(&node).Error
|
|
return &node, err
|
|
}
|