Files
KArtSell.Aegis/docs/Design/kbx-foundation-v60-status-canonical-contract-hardening/backend/Shared/Integrations/KbxIntegrationAdapterRegistry.cs
T
kjh2064 3f293d8aa8
deploy / deploy (push) Successful in 1m52s
deploy / notify (push) Successful in 1s
V13-FE-006: consolidate approved UI and contract hardening
2026-08-13 02:41:00 +09:00

14 lines
601 B
C#

namespace Kbx.Shared.Integrations;
public sealed class KbxIntegrationAdapterRegistry(IEnumerable<IKbxIntegrationAdapter> adapters)
: IKbxIntegrationAdapterRegistry
{
private readonly IReadOnlyDictionary<string, IKbxIntegrationAdapter> _adapters =
adapters.ToDictionary(x => x.IntegrationId, StringComparer.Ordinal);
public IKbxIntegrationAdapter GetRequired(string integrationId)
=> _adapters.TryGetValue(integrationId, out var adapter)
? adapter
: throw new InvalidOperationException($"Integration adapter is not registered: {integrationId}");
}