Basic (and probably pretty inefficient) implementation of the ENV Vars in the Asp.Net App
This commit is contained in:
		@@ -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<TaskContext>()
 | 
			
		||||
                .UseNpgsql($"Host={dbHost}; Port={dbPort}; Username={dbUser}; Database={dbName}; Password={dbPassword}")
 | 
			
		||||
                .UseNpgsql(GetConnectionString())
 | 
			
		||||
                .Options));
 | 
			
		||||
            services.AddControllers();
 | 
			
		||||
        }
 | 
			
		||||
@@ -72,5 +65,36 @@ namespace ScrumTaskboard
 | 
			
		||||
                endpoints.MapControllers();
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Creates DB Connection String based on ENV vars and default vars.
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        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}";
 | 
			
		||||
            }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user