public class AppConfiguration { public static AppConfiguration Instance = new AppConfiguration(); private AppConfiguration() { this.SignalAPIEndpointUri = Environment.GetEnvironmentVariable("SIGNAL_API_URI") ?? "http://192.168.1.108"; this.SignalAPIEndpointPort = Environment.GetEnvironmentVariable("SIGNAL_API_PORT") ?? "8719"; this.HostPhoneNumber = Environment.GetEnvironmentVariable("HOST_PHONE") ?? "+4367762751895"; this.DatabaseUri = Environment.GetEnvironmentVariable("DB_URI") ?? "192.168.1.108"; this.DatabasePort = Environment.GetEnvironmentVariable("DB_PORT") ?? "5477"; this.DatabaseName = Environment.GetEnvironmentVariable("DB_NAME") ?? "sotd"; this.DatabaseUser = Environment.GetEnvironmentVariable("DB_USER") ?? "sotd"; this.DatabasePW = Environment.GetEnvironmentVariable("DB_PASS") ?? "SotdP0stgresP4ss"; this.SignalGroupId = Environment.GetEnvironmentVariable("SIGNAL_GROUP_ID") ?? "group.Wmk1UTVQTnh0Sjd6a0xiOGhnTnMzZlNkc2p2Q3c0SXJiQkU2eDlNU0hyTT0="; this.WebUIBaseURL = Environment.GetEnvironmentVariable("WEB_BASE_URL") ?? "https://sotd.disi.dev/"; this.UseBotTag = bool.Parse(Environment.GetEnvironmentVariable("USE_BOT_TAG") ?? "true"); var managersGroupName = Environment.GetEnvironmentVariable("LDAP_ADMINGROUP") ?? "admins"; var userGroupName = Environment.GetEnvironmentVariable("LDAP_USERGROUP") ?? "everyone"; this.LDAPConfig = new ConfigurationAD() { Username = Environment.GetEnvironmentVariable("LDAP_BIND") ?? "cn=admin.dc=disi,dc=dev", Password = Environment.GetEnvironmentVariable("LDAP_PASS") ?? "adminPass2022!", Port = !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("LDAP_BIND")) ? int.Parse(Environment.GetEnvironmentVariable("LDAP_BIND")) : 389, LDAPserver = Environment.GetEnvironmentVariable("LDAP_URL") ?? "192.168.1.108", LDAPQueryBase = Environment.GetEnvironmentVariable("LDAP_BASE") ?? "dc=disi,dc=dev", Crew = $"cn={userGroupName},ou=groups,dc=disi,dc=dev", Managers = $"cn={managersGroupName},ou=groups,dc=disi,dc=dev" }; } public string Crew { get; set; } = string.Empty; public string Managers { get; set; } = string.Empty; public string SignalAPIEndpointUri { get; private set; } public string SignalAPIEndpointPort { get; private set; } public string DatabaseUri { get; private set; } public string DatabasePort { get; private set; } public string DatabaseName { get; private set; } public string DatabaseUser { get; private set; } public string DatabasePW { get; private set; } public string SignalGroupId { get; private set; } public string HostPhoneNumber { get; private set; } public string WebUIBaseURL { get; private set; } public bool UseBotTag { get; private set; } public ConfigurationAD LDAPConfig { get; private set; } }