using BotSharp.Plugin.MongoStorage.Repository;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Serializers;
namespace BotSharp.Plugin.MongoStorage;
///
/// MongoDB as the repository
///
public class MongoStoragePlugin : IBotSharpPlugin
{
public string Name => "MongoDB Storage";
public string Description => "MongoDB as the repository";
public void RegisterDI(IServiceCollection services, IConfiguration config)
{
var dbSettings = new BotSharpDatabaseSettings();
config.Bind("Database", dbSettings);
if (dbSettings.Default == "MongoRepository")
{
services.AddScoped((IServiceProvider x) =>
{
var dbSettings = x.GetRequiredService();
return new MongoDbContext(dbSettings);
});
services.AddScoped();
}
}
}