diff --git a/ScrumTaskboard/Startup.cs b/ScrumTaskboard/Startup.cs index d94da98..8f23cd4 100644 --- a/ScrumTaskboard/Startup.cs +++ b/ScrumTaskboard/Startup.cs @@ -27,21 +27,21 @@ namespace ScrumTaskboard // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { - { services.AddCors(o => o.AddPolicy("AllowAll", builder => { builder.AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader(); - })); - services.AddScoped(serviceProvider => new TaskContext( - new DbContextOptionsBuilder() - .UseNpgsql(GetConnectionString()) + })); services.AddMvc().AddJsonOptions(o => { o.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter()); o.JsonSerializerOptions.IgnoreNullValues = true; }); + services.AddScoped(serviceProvider => new TaskContext( + new DbContextOptionsBuilder() + .UseNpgsql(GetConnectionString()) + .Options)); services.AddControllers(); } @@ -71,5 +71,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; + + 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"); + + if(dbHost == null || dbPort == null || dbName == null || dbUser == null || dbPassword == null) + { + dbHost = "nig.gl"; + dbPort = "8543"; + dbName = "taskboard"; + dbUser = "scrum"; + dbPassword = "c6gXud7YvBWp2sgxSgy4wRN"; + } + + + return $"Host={dbHost}; Port={dbPort}; Username={dbUser}; Database={dbName}; Password={dbPassword}"; + } } }