using System;
using Microsoft.Extensions.DependencyInjection;
using StellaOps.Plugin;

namespace StellaOps.Feedser.Source.Vndr.Oracle;

public sealed class VndrOracleConnectorPlugin : IConnectorPlugin
{
    public const string SourceName = "vndr-oracle";

    public string Name => SourceName;

    public bool IsAvailable(IServiceProvider services)
        => services.GetService<OracleConnector>() is not null;

    public IFeedConnector Create(IServiceProvider services)
    {
        ArgumentNullException.ThrowIfNull(services);
        return services.GetRequiredService<OracleConnector>();
    }
}
