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)
}
