Enforce durable enemy event validation

This commit is contained in:
2026-08-09 02:03:27 +00:00
parent b3644abc0e
commit 82ffe85f2d
12 changed files with 313 additions and 28 deletions

View File

@@ -8,6 +8,7 @@ import (
"gitea.maximumdirect.net/eric/notarius/internal/framework/contracts"
"gitea.maximumdirect.net/eric/notarius/internal/modules/dnd"
"gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/codec/candidatejson"
"gitea.maximumdirect.net/eric/notarius/internal/modules/dnd/codec/sourcerange"
)
const (
@@ -102,11 +103,8 @@ func validate(value dnd.SceneDescriptionList) error {
if strings.TrimSpace(scene.SourceRef.SourceID) == "" {
return fmt.Errorf("%s.source_ref.source_id must not be empty", prefix)
}
if scene.SourceRef.StartUnitID <= 0 {
return fmt.Errorf("%s.source_ref.start_unit_id must be positive", prefix)
}
if scene.SourceRef.EndUnitID <= 0 {
return fmt.Errorf("%s.source_ref.end_unit_id must be positive", prefix)
if err := sourcerange.Validate(scene.SourceRef); err != nil {
return fmt.Errorf("%s.source_ref: %w", prefix, err)
}
}
return nil