summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/SMAPI.Web/Framework/ConfigModels/MongoDbConfig.cs8
-rw-r--r--src/SMAPI.Web/Startup.cs4
-rw-r--r--src/SMAPI.Web/appsettings.Development.json3
-rw-r--r--src/SMAPI.Web/appsettings.json3
4 files changed, 11 insertions, 7 deletions
diff --git a/src/SMAPI.Web/Framework/ConfigModels/MongoDbConfig.cs b/src/SMAPI.Web/Framework/ConfigModels/MongoDbConfig.cs
index 352eb960..3c508300 100644
--- a/src/SMAPI.Web/Framework/ConfigModels/MongoDbConfig.cs
+++ b/src/SMAPI.Web/Framework/ConfigModels/MongoDbConfig.cs
@@ -17,20 +17,22 @@ namespace StardewModdingAPI.Web.Framework.ConfigModels
/// <summary>The MongoDB password (if any).</summary>
public string Password { get; set; }
+ /// <summary>The database name.</summary>
+ public string Database { get; set; }
+
/*********
** Public method
*********/
/// <summary>Get the MongoDB connection string.</summary>
- /// <param name="authDatabase">The initial database for which to authenticate.</param>
- public string GetConnectionString(string authDatabase)
+ public string GetConnectionString()
{
bool isLocal = this.Host == "localhost";
bool hasLogin = !string.IsNullOrWhiteSpace(this.Username) && !string.IsNullOrWhiteSpace(this.Password);
return $"mongodb{(isLocal ? "" : "+srv")}://"
+ (hasLogin ? $"{Uri.EscapeDataString(this.Username)}:{Uri.EscapeDataString(this.Password)}@" : "")
- + $"{this.Host}/{authDatabase}retryWrites=true&w=majority";
+ + $"{this.Host}/{this.Database}?retryWrites=true&w=majority";
}
}
}
diff --git a/src/SMAPI.Web/Startup.cs b/src/SMAPI.Web/Startup.cs
index 0a8d23a8..315f5f88 100644
--- a/src/SMAPI.Web/Startup.cs
+++ b/src/SMAPI.Web/Startup.cs
@@ -115,9 +115,9 @@ namespace StardewModdingAPI.Web
// init MongoDB
{
MongoDbConfig mongoConfig = this.Configuration.GetSection("MongoDB").Get<MongoDbConfig>();
- string connectionString = mongoConfig.GetConnectionString("smapi");
+ string connectionString = mongoConfig.GetConnectionString();
- services.AddSingleton<IMongoDatabase>(serv => new MongoClient(connectionString).GetDatabase("smapi"));
+ services.AddSingleton<IMongoDatabase>(serv => new MongoClient(connectionString).GetDatabase(mongoConfig.Database));
services.AddSingleton<IWikiCacheRepository>(serv => new WikiCacheRepository(serv.GetService<IMongoDatabase>()));
}
}
diff --git a/src/SMAPI.Web/appsettings.Development.json b/src/SMAPI.Web/appsettings.Development.json
index 9b0ec535..3b7ed8bd 100644
--- a/src/SMAPI.Web/appsettings.Development.json
+++ b/src/SMAPI.Web/appsettings.Development.json
@@ -36,6 +36,7 @@
"MongoDB": {
"Host": "localhost",
"Username": null,
- "Password": null
+ "Password": null,
+ "Database": "smapi-edge"
}
}
diff --git a/src/SMAPI.Web/appsettings.json b/src/SMAPI.Web/appsettings.json
index 65ccea75..532ea017 100644
--- a/src/SMAPI.Web/appsettings.json
+++ b/src/SMAPI.Web/appsettings.json
@@ -50,7 +50,8 @@
"MongoDB": {
"Host": null, // see top note
"Username": null, // see top note
- "Password": null // see top note
+ "Password": null, // see top note
+ "Database": null // see top note
},
"ModCompatibilityList": {