mirror of
https://github.com/Bubuni-Team/telegram-bot.git
synced 2026-07-31 00:29:24 +03:00
[store] Reduce amount of hardcoded values.
This commit is contained in:
@@ -8,25 +8,25 @@ namespace West.TelegramBot.ContentStore;
|
||||
|
||||
public class ContentStore : Module
|
||||
{
|
||||
private readonly List<Type> _mediaServiceTypes = new();
|
||||
public readonly List<Type> MediaServiceTypes = new();
|
||||
|
||||
public ContentStore(Core core) : base(core)
|
||||
{
|
||||
foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
|
||||
{
|
||||
foreach (var exportedType in assembly.GetExportedTypes()
|
||||
.Where(t => !t.IsAbstract && t.IsSubclassOf(typeof(IRandomMediaService))))
|
||||
.Where(t => !t.IsAbstract && t.GetInterface(nameof(IRandomMediaService)) != null))
|
||||
{
|
||||
_mediaServiceTypes.Add(exportedType);
|
||||
MediaServiceTypes.Add(exportedType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
foreach (var serviceType in _mediaServiceTypes)
|
||||
foreach (var serviceType in MediaServiceTypes)
|
||||
{
|
||||
services.AddSingleton(serviceType);
|
||||
services.AddSingleton(typeof(IRandomMediaService), serviceType);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user