package relationship import "fmt" type Relationship struct { Src string `yaml:"source"` Dst string `yaml:"destination"` Description string `yaml:"description"` Bidirection bool `yaml:"bidirection"` } func (r Relationship) IsSame(other Relationship) bool { if r.Bidirection { if r.Description != other.Description { return false } return (r.Src == other.Src && r.Dst == other.Dst) || (r.Src == other.Dst && r.Dst == other.Src) } return r.Src == other.Src && r.Dst == other.Dst && r.Description == other.Description } func (r Relationship) GetKey() (string, string) { return fmt.Sprintf("%s-%s", r.Src, r.Dst), fmt.Sprintf("%s-%s", r.Dst, r.Src) }