Form1 design unchanged; only MfApi restart and certificate recognition remain active. Co-authored-by: Cursor <cursoragent@cursor.com>
41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
using ZA.CoreService.ESBCertificateManager.Models;
|
|
|
|
namespace ZA.CoreService.ESBCertificateManager.Services;
|
|
|
|
public sealed class PreflightValidator
|
|
{
|
|
public PreflightValidationResult ValidateRestartOnly(IReadOnlyList<DeploymentTarget> 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;
|
|
}
|
|
}
|