diff --git a/ScrumTaskboard/Startup.cs b/ScrumTaskboard/Startup.cs index f2c24cd..2666f5f 100644 --- a/ScrumTaskboard/Startup.cs +++ b/ScrumTaskboard/Startup.cs @@ -25,14 +25,7 @@ namespace ScrumTaskboard // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) - { - // Get all the env vars for the DB connection - string dbHost = Environment.GetEnvironmentVariable("DATABASE_HOST"); - string dbPort = Environment.GetEnvironmentVariable("DATABASE_PORT"); - string dbName = Environment.GetEnvironmentVariable("DATABASE_NAME"); - string dbUser = Environment.GetEnvironmentVariable("DATABASE_USER"); - string dbPassword = Environment.GetEnvironmentVariable("DATABASE_PASSWORD"); - + { services.AddCors(o => o.AddPolicy("AllowAll", builder => { builder.AllowAnyOrigin() @@ -41,7 +34,7 @@ namespace ScrumTaskboard })); services.AddScoped(serviceProvider => new TaskContext( new DbContextOptionsBuilder() - .UseNpgsql($"Host={dbHost}; Port={dbPort}; Username={dbUser}; Database={dbName}; Password={dbPassword}") + .UseNpgsql(GetConnectionString()) .Options)); services.AddControllers(); } @@ -72,5 +65,36 @@ namespace ScrumTaskboard endpoints.MapControllers(); }); } + + /// + /// Creates DB Connection String based on ENV vars and default vars. + /// + /// + public string GetConnectionString() + { + string dbHost; + string dbPort; + string dbName; + string dbUser; + string dbPassword; + + try { + dbHost = Environment.GetEnvironmentVariable("DATABASE_HOST"); + dbPort = Environment.GetEnvironmentVariable("DATABASE_PORT"); + dbName = Environment.GetEnvironmentVariable("DATABASE_NAME"); + dbUser = Environment.GetEnvironmentVariable("DATABASE_USER"); + dbPassword = Environment.GetEnvironmentVariable("DATABASE_PASSWORD"); + } + catch { + dbHost = "nig.gl"; + dbPort = "8543"; + dbName = "taskboard"; + dbUser = "scrum"; + dbPassword = "c6gXud7YvBWp2sgxSgy4wRN"; + } + + + return $"Host={dbHost}; Port={dbPort}; Username={dbUser}; Database={dbName}; Password={dbPassword}"; + } } }