diff --git a/src/Infrastructure/BotSharp.Abstraction/Repositories/BotSharpDatabaseSettings.cs b/src/Infrastructure/BotSharp.Abstraction/Repositories/BotSharpDatabaseSettings.cs index 1363f598..b3c26033 100644 --- a/src/Infrastructure/BotSharp.Abstraction/Repositories/BotSharpDatabaseSettings.cs +++ b/src/Infrastructure/BotSharp.Abstraction/Repositories/BotSharpDatabaseSettings.cs @@ -4,7 +4,7 @@ public class BotSharpDatabaseSettings : DatabaseBasicSettings { public string[] Assemblies { get; set; } public string FileRepository { get; set; } - public BotSharpMongoDbSetting BotSharpMongoDb { get; set; } + public string BotSharpMongoDb { get; set; } public string TablePrefix { get; set; } public DbConnectionSetting BotSharp { get; set; } public string Redis { get; set; } @@ -28,10 +28,4 @@ public class DbConnectionSetting { Slavers = new string[0]; } -} - -public class BotSharpMongoDbSetting -{ - public string ConnectionString { get; set; } - public string? DbNameIndex { get; set; } } \ No newline at end of file diff --git a/src/Plugins/BotSharp.Plugin.MongoStorage/MongoDbContext.cs b/src/Plugins/BotSharp.Plugin.MongoStorage/MongoDbContext.cs index 4624f7bb..8cc127bd 100644 --- a/src/Plugins/BotSharp.Plugin.MongoStorage/MongoDbContext.cs +++ b/src/Plugins/BotSharp.Plugin.MongoStorage/MongoDbContext.cs @@ -8,16 +8,17 @@ public class MongoDbContext private readonly string _mongoDbDatabaseName; private readonly string _collectionPrefix; + private const string DB_NAME_INDEX = "authSource"; + public MongoDbContext(BotSharpDatabaseSettings dbSettings) { - var mongoDbConnectionString = dbSettings.BotSharpMongoDb.ConnectionString; - var dbNameIndex = dbSettings.BotSharpMongoDb.DbNameIndex; + var mongoDbConnectionString = dbSettings.BotSharpMongoDb; _mongoClient = new MongoClient(mongoDbConnectionString); - _mongoDbDatabaseName = GetDatabaseName(mongoDbConnectionString, dbNameIndex); + _mongoDbDatabaseName = GetDatabaseName(mongoDbConnectionString); _collectionPrefix = dbSettings.TablePrefix.IfNullOrEmptyAs("BotSharp"); } - private string GetDatabaseName(string mongoDbConnectionString, string? dbNameIndex = null) + private string GetDatabaseName(string mongoDbConnectionString) { var dbName = string.Empty; if (!Uri.TryCreate(mongoDbConnectionString, UriKind.Absolute, out var conn)) @@ -28,9 +29,9 @@ public class MongoDbContext var query = HttpUtility.ParseQueryString(conn.Query); var keys = query.AllKeys ?? []; - if (!string.IsNullOrWhiteSpace(dbNameIndex) && keys.Contains(dbNameIndex)) + if (keys.Contains(DB_NAME_INDEX)) { - dbName = query[dbNameIndex]; + dbName = query[DB_NAME_INDEX]; } else { diff --git a/src/WebStarter/appsettings.json b/src/WebStarter/appsettings.json index c4fd7435..a266272f 100644 --- a/src/WebStarter/appsettings.json +++ b/src/WebStarter/appsettings.json @@ -226,10 +226,7 @@ "Database": { "Default": "FileRepository", "TablePrefix": "BotSharp", - "BotSharpMongoDb": { - "ConnectionString": "", - "DbIndex": "" - }, + "BotSharpMongoDb": "", "FileRepository": "data", "Assemblies": [ "BotSharp.Core" ] },