From f440848e0011a69e28957cf89c7207506ab02040 Mon Sep 17 00:00:00 2001 From: Peter Turi Date: Mon, 30 Jun 2025 14:36:36 +0200 Subject: [PATCH] fix: make sure that split lines are expanded for line service --- openmeter/billing/service/lineservice/linebase.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/openmeter/billing/service/lineservice/linebase.go b/openmeter/billing/service/lineservice/linebase.go index 64998cd444..5ebef9a2c3 100644 --- a/openmeter/billing/service/lineservice/linebase.go +++ b/openmeter/billing/service/lineservice/linebase.go @@ -106,6 +106,13 @@ func (l lineBase) Validate(ctx context.Context, invoice *billing.Invoice) error } } + // Expanding the split lines are mandatory for the lineservice to work properly. + if l.line.SplitLineGroupID != nil && l.line.SplitLineHierarchy == nil { + return billing.ValidationError{ + Err: fmt.Errorf("split line group[%s] has no hierarchy expanded hierarchy", *l.line.SplitLineGroupID), + } + } + return nil } @@ -114,10 +121,6 @@ func (l lineBase) IsLastInPeriod() bool { return true } - if l.line.SplitLineHierarchy == nil { - return true - } - if l.line.SplitLineHierarchy.Group.ServicePeriod.End.Equal(l.line.Period.End) { return true } @@ -130,10 +133,6 @@ func (l lineBase) IsFirstInPeriod() bool { return true } - if l.line.SplitLineHierarchy == nil { - return true - } - if l.line.SplitLineHierarchy.Group.ServicePeriod.Start.Equal(l.line.Period.Start) { return true }