summaryrefslogtreecommitdiffstats
path: root/server/src/Utilities/ConfigurationExtensions.cs
blob: 41b6ab372dd3adc3f8177d387b20956a769ca514 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using Microsoft.Extensions.Options;

namespace IOL.GreatOffice.Api.Utilities;

public static class ConfigurationExtensions
{
	public static string GetAppDatabaseConnectionString(this IConfiguration config, AppConfiguration configuration) {
		var host = configuration.DB_HOST;
		var port = configuration.DB_PORT;
		var database = configuration.DB_NAME;
		var user = configuration.DB_USER;
		var password = configuration.DB_PASSWORD;

		if (config.GetValue<string>("ASPNETCORE_ENVIRONMENT") == "Development") {
			return $"Server={host};Port={port};Database={database};User Id={user};Password={password};Include Error Detail=true";
		}

		return $"Server={host};Port={port};Database={database};User Id={user};Password={password}";
	}

	public static string GetQuartzDatabaseConnectionString(this IConfiguration config, AppConfiguration configuration) {
		var host = configuration.QUARTZ_DB_HOST;
		var port = configuration.QUARTZ_DB_PORT;
		var database = configuration.QUARTZ_DB_NAME;
		var user = configuration.QUARTZ_DB_USER;
		var password = configuration.QUARTZ_DB_PASSWORD;
		Log.Information(host);
		if (config.GetValue<string>("ASPNETCORE_ENVIRONMENT") == "Development") {
			return $"Server={host};Port={port};Database={database};User Id={user};Password={password};Include Error Detail=true";
		}

		return $"Server={host};Port={port};Database={database};User Id={user};Password={password}";
	}

	public static string GetVersion(this IConfiguration configuration) {
		var versionFilePath = Path.Combine(AppPaths.AppData.HostPath, "version.txt");
		if (File.Exists(versionFilePath)) {
			var versionText = File.ReadAllText(versionFilePath);
			return versionText + "-" + configuration.GetValue<string>("ASPNETCORE_ENVIRONMENT");
		}

		return "unknown-" + configuration.GetValue<string>("ASPNETCORE_ENVIRONMENT");
	}
}