aboutsummaryrefslogtreecommitdiff
path: root/VNLib.Plugins.Extensions.Loading.Sql
diff options
context:
space:
mode:
authorLibravatar vman <public@vaughnnugent.com>2022-12-09 13:54:16 -0500
committerLibravatar vman <public@vaughnnugent.com>2022-12-09 13:54:16 -0500
commit8b5f3eebb9f8d9bd55e922a809ffa3bd52e33401 (patch)
tree024fcdd2445b2fe37fc96d2870879d0f6aa5626f /VNLib.Plugins.Extensions.Loading.Sql
parentc9d9e6d23ad7b6fdf25f30de9b4a84be23885e16 (diff)
Sql essentials classes moved, secret loading updates
Diffstat (limited to 'VNLib.Plugins.Extensions.Loading.Sql')
-rw-r--r--VNLib.Plugins.Extensions.Loading.Sql/SqlDbConnectionLoader.cs20
1 files changed, 9 insertions, 11 deletions
diff --git a/VNLib.Plugins.Extensions.Loading.Sql/SqlDbConnectionLoader.cs b/VNLib.Plugins.Extensions.Loading.Sql/SqlDbConnectionLoader.cs
index 728d3cd..eef79f0 100644
--- a/VNLib.Plugins.Extensions.Loading.Sql/SqlDbConnectionLoader.cs
+++ b/VNLib.Plugins.Extensions.Loading.Sql/SqlDbConnectionLoader.cs
@@ -66,16 +66,10 @@ namespace VNLib.Plugins.Extensions.Loading.Sql
private static Func<DbConnection> FactoryLoader(PluginBase plugin)
{
- IReadOnlyDictionary<string, JsonElement>? sqlConf = plugin.TryGetConfig(SQL_CONFIG_KEY);
-
- if(sqlConf == null)
- {
- throw new KeyNotFoundException($"{SQL_CONFIG_KEY} configuration missing in configuration");
- }
+ IReadOnlyDictionary<string, JsonElement> sqlConf = plugin.GetConfig(SQL_CONFIG_KEY);
//Get the db-type
- string? type = sqlConf.GetPropString("db_type");
- string? password = plugin.TryGetSecretAsync(DB_PASSWORD_KEY).Result;
+ string? type = sqlConf.GetPropString("db_type");
if ("sqlite".Equals(type, StringComparison.OrdinalIgnoreCase))
{
@@ -90,12 +84,14 @@ namespace VNLib.Plugins.Extensions.Loading.Sql
}
else if("mysql".Equals(type, StringComparison.OrdinalIgnoreCase))
{
+ using SecretResult? password = plugin.TryGetSecretAsync(DB_PASSWORD_KEY).Result;
+
DbConnectionStringBuilder sqlBuilder = new MySqlConnectionStringBuilder()
{
Server = sqlConf["hostname"].GetString(),
Database = sqlConf["database"].GetString(),
UserID = sqlConf["username"].GetString(),
- Password = password,
+ Password = password?.Result.ToString(),
Pooling = true,
LoadBalance = MySqlLoadBalance.LeastConnections,
MinimumPoolSize = sqlConf["min_pool_size"].GetUInt32()
@@ -108,12 +104,14 @@ namespace VNLib.Plugins.Extensions.Loading.Sql
//Default to mssql
else
{
+ using SecretResult? password = plugin.TryGetSecretAsync(DB_PASSWORD_KEY).Result;
+
//Use connection builder
DbConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder()
{
DataSource = sqlConf["hostname"].GetString(),
UserID = sqlConf["username"].GetString(),
- Password = password,
+ Password = password?.Result.ToString(),
InitialCatalog = sqlConf["catalog"].GetString(),
IntegratedSecurity = sqlConf["ms_security"].GetBoolean(),
Pooling = true,
@@ -144,7 +142,7 @@ namespace VNLib.Plugins.Extensions.Loading.Sql
private static DbContextOptions GetDbOptionsLoader(PluginBase plugin)
{
//Get a db connection object
- DbConnection connection = plugin.GetConnectionFactory().Invoke();
+ using DbConnection connection = plugin.GetConnectionFactory().Invoke();
DbContextOptionsBuilder builder = new();
//Determine connection type