LANCommander/LANCommander.Server.Services/MetadataService.cs

21 lines
665 B
C#
Raw Permalink Normal View History

using LANCommander.Server.Services.Providers.Metadata;
using Microsoft.Extensions.DependencyInjection;
namespace LANCommander.Server.Services;
public class MetadataService(IServiceProvider serviceProvider)
{
public IEnumerable<string> GetProviderNames()
{
var providers = serviceProvider.GetServices<IMetadataProvider>();
return providers.Where(p => p.IsAvailable).Select(p => p.ProviderName);
}
public IMetadataProvider? GetProvider(string providerName)
{
var providers = serviceProvider.GetServices<IMetadataProvider>();
return providers.FirstOrDefault(p => p.ProviderName == providerName);
}
}