From 54ee935c494b678a65b714ad80d2254120b7ff96 Mon Sep 17 00:00:00 2001
From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch>
Date: Tue, 30 Apr 2019 10:25:28 +0200
Subject: [PATCH] Add support for HealthReportEmailAddress configuration option

Relates to #20
---
 ATxCommon/Serializables/ServiceConfig.cs | 16 ++++++++++++++++
 Resources/conf/config.common.xml         |  4 ++++
 2 files changed, 20 insertions(+)

diff --git a/ATxCommon/Serializables/ServiceConfig.cs b/ATxCommon/Serializables/ServiceConfig.cs
index 8161ce1..e8c9e79 100644
--- a/ATxCommon/Serializables/ServiceConfig.cs
+++ b/ATxCommon/Serializables/ServiceConfig.cs
@@ -17,6 +17,8 @@ namespace ATxCommon.Serializables
     {
         private static readonly Logger Log = LogManager.GetCurrentClassLogger();
 
+        private string _healthReportEmailAddress;
+
 
         #region required configuration parameters
 
@@ -200,6 +202,20 @@ namespace ATxCommon.Serializables
         /// </summary>
         public string AdminDebugEmailAddress { get; set; }
 
+        /// <summary>
+        /// The mail recipient address for system health reports, falling back to AdminEmailAddress
+        /// in case it is not set explicitly.
+        /// </summary>
+        public string HealthReportEmailAddress {
+            get {
+                if (string.IsNullOrEmpty(_healthReportEmailAddress))
+                    return AdminEmailAddress;
+
+                return _healthReportEmailAddress;
+            }
+            set => _healthReportEmailAddress = value;
+        }
+
         /// <summary>
         /// Send an email to the user upon completed transfers. Default: true.
         /// </summary>
diff --git a/Resources/conf/config.common.xml b/Resources/conf/config.common.xml
index 2e09268..9c1d67b 100644
--- a/Resources/conf/config.common.xml
+++ b/Resources/conf/config.common.xml
@@ -100,6 +100,10 @@
          messages to, e.g. on completed transfers -->
     <AdminDebugEmailAddress>admin@mydomain.xy</AdminDebugEmailAddress>
 
+    <!-- HealthReportEmailAddress: an email address where to send system health
+         reports to, falling back to AdminEmailAddress if empty -->
+    <HealthReportEmailAddress>admin@mydomain.xy</HealthReportEmailAddress>
+
     <!-- SendTransferNotification: send email to user on finished transfers -->
     <SendTransferNotification>true</SendTransferNotification>
 
-- 
GitLab