2026-03-03 22:29:41 -06:00
|
|
|
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>();
|
|
|
|
|
|
2026-06-01 02:15:53 -05:00
|
|
|
return providers.Where(p => p.IsAvailable).Select(p => p.ProviderName);
|
2026-03-03 22:29:41 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public IMetadataProvider? GetProvider(string providerName)
|
|
|
|
|
{
|
|
|
|
|
var providers = serviceProvider.GetServices<IMetadataProvider>();
|
|
|
|
|
|
|
|
|
|
return providers.FirstOrDefault(p => p.ProviderName == providerName);
|
|
|
|
|
}
|
|
|
|
|
}
|