Restructure solution layout by module

This commit is contained in:
master
2025-10-28 15:10:40 +02:00
parent 95daa159c4
commit d870da18ce
4103 changed files with 192899 additions and 187024 deletions

View File

@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace StellaOps.Concelier.Connector.Vndr.Oracle.Configuration;
public sealed class OracleOptions
{
public const string HttpClientName = "vndr-oracle";
public List<Uri> AdvisoryUris { get; set; } = new();
public List<Uri> CalendarUris { get; set; } = new();
public TimeSpan RequestDelay { get; set; } = TimeSpan.FromSeconds(1);
public void Validate()
{
if (AdvisoryUris.Count == 0 && CalendarUris.Count == 0)
{
throw new InvalidOperationException("Oracle connector requires at least one advisory or calendar URI.");
}
if (AdvisoryUris.Any(uri => uri is null || !uri.IsAbsoluteUri))
{
throw new InvalidOperationException("All Oracle AdvisoryUris must be absolute URIs.");
}
if (CalendarUris.Any(uri => uri is null || !uri.IsAbsoluteUri))
{
throw new InvalidOperationException("All Oracle CalendarUris must be absolute URIs.");
}
if (RequestDelay < TimeSpan.Zero)
{
throw new InvalidOperationException("RequestDelay cannot be negative.");
}
}
}