using ScadaLink.Commons.Types; using ScadaLink.Commons.Types.Flattening; namespace ScadaLink.DeploymentManager; /// /// Abstraction over the TemplateEngine flattening + validation + hashing pipeline. /// Used by DeploymentService to obtain a validated, hashed FlattenedConfiguration. /// public interface IFlatteningPipeline { /// /// Flattens and validates an instance configuration, returning the configuration, /// revision hash, and validation result. /// Task> FlattenAndValidateAsync( int instanceId, CancellationToken cancellationToken = default); } /// /// Result of the flattening pipeline: configuration, hash, and validation. /// public record FlatteningPipelineResult( FlattenedConfiguration Configuration, string RevisionHash, ValidationResult Validation);