using ZA.CoreService.ESBCertificateManager.Models; namespace ZA.CoreService.ESBCertificateManager.Services; public sealed class PreflightValidator { public PreflightValidationResult ValidateRestartOnly(IReadOnlyList selectedTargets) { PreflightValidationResult result = new(); if (selectedTargets.Count == 0) { result.Issues.Add(new ValidationIssue { Message = "Bitte mindestens ein Ziel anhaken." }); return result; } foreach (DeploymentTarget target in selectedTargets) { if (string.IsNullOrWhiteSpace(target.ContainerName)) { result.Issues.Add(new ValidationIssue { Message = $"Ziel '{target.Name}': ContainerName fehlt.", TargetId = target.Id }); } if (string.IsNullOrWhiteSpace(target.SonicConnectionName)) { result.Issues.Add(new ValidationIssue { Message = $"Ziel '{target.Name}': SonicConnectionName fehlt.", TargetId = target.Id }); } } return result; } }