From ee5040367843cf9fda11f83f8b93d88d37ab125c Mon Sep 17 00:00:00 2001 From: quobix Date: Wed, 3 Jan 2024 14:13:13 -0500 Subject: [PATCH] added circular trap, models cannot resolve circular refs Signed-off-by: quobix --- datamodel/high/base/schema_proxy.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/datamodel/high/base/schema_proxy.go b/datamodel/high/base/schema_proxy.go index 4c630d5..137a07b 100644 --- a/datamodel/high/base/schema_proxy.go +++ b/datamodel/high/base/schema_proxy.go @@ -206,6 +206,19 @@ func (sp *SchemaProxy) MarshalYAMLInline() (interface{}, error) { var s *Schema var err error s, err = sp.BuildSchema() + + if s != nil && s.GoLow() != nil && s.GoLow().Index != nil { + circ := s.GoLow().Index.GetCircularReferences() + for _, c := range circ { + if sp.IsReference() { + // we cannot proceed. + if sp.GetReference() == c.LoopPoint.Definition { + return sp.GetReferenceNode(), nil + } + } + } + } + if err != nil { return nil, err }