aboutsummaryrefslogtreecommitdiffstats
path: root/code
diff options
context:
space:
mode:
Diffstat (limited to 'code')
-rw-r--r--code/api/src/Models/Static/AppEnvironmentVariables.cs47
-rw-r--r--code/api/src/Services/VaultService.cs22
2 files changed, 33 insertions, 36 deletions
diff --git a/code/api/src/Models/Static/AppEnvironmentVariables.cs b/code/api/src/Models/Static/AppEnvironmentVariables.cs
index c3f821d..0c1938d 100644
--- a/code/api/src/Models/Static/AppEnvironmentVariables.cs
+++ b/code/api/src/Models/Static/AppEnvironmentVariables.cs
@@ -2,20 +2,33 @@ namespace IOL.GreatOffice.Api.Data.Static;
public static class AppEnvironmentVariables
{
- /// <summary>
- /// An access token that can be used to access the Hashicorp Vault instance that is available at VAULT_URL
- /// </summary>
- public const string VAULT_TOKEN = "VAULT_TOKEN";
- /// <summary>
- /// An url pointing to the Hashicorp Vault instance the app should use
- /// </summary>
- public const string VAULT_URL = "VAULT_URL";
- /// <summary>
- /// The duration of which to keep a local cached version of the configuration
- /// </summary>
- public const string VAULT_CACHE_TTL = "VAULT_CACHE_TTL";
- /// <summary>
- /// The vault key name for the main configuration json object, described by <see cref="AppConfiguration"/>
- /// </summary>
- public const string MAIN_CONFIG_SHEET = "MAIN_CONFIG_SHEET";
-}
+ /// <summary>
+ /// An access token that can be used to access the Hashicorp Vault instance that is available at VAULT_URL
+ /// </summary>
+ public const string VAULT_TOKEN = "VAULT_TOKEN";
+
+ /// <summary>
+ /// A url pointing to the Hashicorp Vault instance the app should use
+ /// </summary>
+ public const string VAULT_URL = "VAULT_URL";
+
+ /// <summary>
+ /// The duration of which to keep a local cached version of the configuration
+ /// </summary>
+ public const string VAULT_CACHE_TTL = "VAULT_CACHE_TTL";
+
+ /// <summary>
+ /// The vault key name for the main configuration json object, described by <see cref="AppConfiguration"/>
+ /// </summary>
+ public const string MAIN_CONFIG_SHEET = "MAIN_CONFIG_SHEET";
+
+ /// <summary>
+ /// Tells the api to enable flight mode, only acts in DEBUG
+ /// </summary>
+ public const string FLIGHT_MODE = "FLIGHT_MODE";
+
+ /// <summary>
+ /// Tells the api where to read configuration from, defaults to flightmode.json, only acts in DEBUG
+ /// </summary>
+ public const string FLIGHT_MODE_JSON = "FLIGHT_MODE_JSON";
+} \ No newline at end of file
diff --git a/code/api/src/Services/VaultService.cs b/code/api/src/Services/VaultService.cs
index cd2eecf..4243929 100644
--- a/code/api/src/Services/VaultService.cs
+++ b/code/api/src/Services/VaultService.cs
@@ -69,25 +69,9 @@ public class VaultService
public AppConfiguration GetCurrentAppConfiguration() {
#if DEBUG
- var isInFlightMode = true;
- if (isInFlightMode) {
- return new AppConfiguration() {
- EMAIL_FROM_ADDRESS = "heydev@greatoffice.life",
- DB_HOST = "localhost",
- DB_PORT = "5432",
- DB_NAME = "greatoffice_ivar_dev",
- DB_PASSWORD = "ivar123",
- DB_USER = "postgres",
- CANONICAL_FRONTEND_URL = "http://localhost:5173",
- CANONICAL_BACKEND_URL = "http://localhost:5000",
- POSTMARK_TOKEN = "b530c311-45c7-43e5-aa48-f2c992886e51",
- QUARTZ_DB_HOST = "localhost",
- QUARTZ_DB_PORT = "5432",
- QUARTZ_DB_NAME = "greatoffice_quartz_ivar_dev",
- QUARTZ_DB_PASSWORD = "ivar123",
- QUARTZ_DB_USER = "postgres",
- APP_CERT = "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"
- };
+ if (_configuration.GetValue<bool>(AppEnvironmentVariables.FLIGHT_MODE)) {
+ var text = File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), _configuration.GetValue(AppEnvironmentVariables.FLIGHT_MODE_JSON, "flightmode.json")));
+ return JsonSerializer.Deserialize<AppConfiguration>(text);
}
#endif