aboutsummaryrefslogtreecommitdiffstats
path: root/src/Data/Miscellaneous/AppSettings.cs
blob: 048c67c66746aa9418722a1559adcb841c584419 (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
using System.Text.Json.Serialization;

namespace VSH.Data.Miscellaneous;

public class AppSettings
{
	[JsonPropertyName("General")]
	public GeneralConfiguration General { get; set; }

	[JsonPropertyName("Serilog")]
	public SerilogConfiguration Serilog { get; set; }

	public class GeneralConfiguration
	{
		public const string Name = "General";

		[JsonPropertyName("StoreName")]
		public string StoreName { get; set; }

		[JsonPropertyName("LegalName")]
		public string LegalName { get; set; }

		[JsonPropertyName("ShortStoreName")]
		public string ShortStoreName { get; set; }

		[JsonPropertyName("DefaultCulture")]
		public string DefaultCulture { get; set; }

		[JsonPropertyName("GoogleMapsUrl")]
		public string GoogleMapsUrl { get; set; }

		[JsonPropertyName("DefaultDescription")]
		public string DefaultDescription { get; set; }
	}

	public class SerilogConfiguration
	{
		public const string Name = "Serilog";

		[JsonPropertyName("Using")]
		public string[] Using { get; set; }

		[JsonPropertyName("MinimumLevel")]
		public MinimumLevel MinimumLevel { get; set; }

		[JsonPropertyName("WriteTo")]
		public WriteTo[] WriteTo { get; set; }

		[JsonPropertyName("Enrich")]
		public string[] Enrich { get; set; }

		[JsonPropertyName("Destructure")]
		public Destructure[] Destructure { get; set; }

		[JsonPropertyName("Properties")]
		public Properties Properties { get; set; }
	}

	public class Destructure
	{
		[JsonPropertyName("Name")]
		public string Name { get; set; }

		[JsonPropertyName("Args")]
		public Args Args { get; set; }
	}

	public class Args
	{
		[JsonPropertyName("maximumDestructuringDepth")]
		[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
		public long? MaximumDestructuringDepth { get; set; }

		[JsonPropertyName("maximumStringLength")]
		[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
		public long? MaximumStringLength { get; set; }

		[JsonPropertyName("maximumCollectionCount")]
		[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
		public long? MaximumCollectionCount { get; set; }
	}

	public class MinimumLevel
	{
		[JsonPropertyName("Default")]
		public string Default { get; set; }

		[JsonPropertyName("Override")]
		public Override Override { get; set; }
	}

	public class Override
	{
		[JsonPropertyName("Microsoft")]
		public string Microsoft { get; set; }

		[JsonPropertyName("System")]
		public string System { get; set; }

		[JsonPropertyName("Microsoft.AspNetCore")]
		public string MicrosoftAspNetCore { get; set; }

		[JsonPropertyName("Microsoft.Hosting")]
		public string MicrosoftHosting { get; set; }
	}

	public class Properties
	{
		[JsonPropertyName("Application")]
		public string Application { get; set; }
	}

	public class WriteTo
	{
		[JsonPropertyName("Name")]
		public string Name { get; set; }
	}
}