geekbot/Geekbot.net/Database/SqlConnectionString.cs

39 lines
1.3 KiB
C#
Raw Normal View History

using System.Text;
namespace Geekbot.net.Database
2018-05-09 18:51:53 +02:00
{
public class SqlConnectionString
{
public string Host { get; set; }
public string Port { get; set; }
public string Database { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public bool RequireSsl { get; set; }
public bool TrustServerCertificate { get; set; }
public bool RedshiftCompatibility { get; set; }
2018-05-09 18:51:53 +02:00
public override string ToString()
{
var sb = new StringBuilder();
sb.Append("Application Name=Geekbot;");
sb.Append($"Host={Host};");
sb.Append($"Port={Port};");
sb.Append($"Database={Database};");
sb.Append($"Username={Username};");
sb.Append($"Password={Password};");
var sslMode = RequireSsl ? "Require" : "Prefer";
sb.Append($"SSL Mode={sslMode};");
sb.Append($"Trust Server Certificate={TrustServerCertificate.ToString()};");
if (RedshiftCompatibility)
{
sb.Append("Server Compatibility Mode=Redshift");
}
return sb.ToString();
2018-05-09 18:51:53 +02:00
}
}
}