namespace Campaign_Tracker.Server.ExtensionData; /// /// Outcome of a pre-save legacy link validation (AC #3). /// On failure, contains a descriptive message identifying the invalid reference. /// public sealed record LegacyLinkValidationResult(bool IsValid, string? Error = null) { public static LegacyLinkValidationResult Success() => new(true); public static LegacyLinkValidationResult Failure(string error) { ArgumentException.ThrowIfNullOrWhiteSpace(error); return new(false, error); } }