From 25f19ff86a3c142d626fddaa991746eaaf7266e3 Mon Sep 17 00:00:00 2001 From: Norm MacLennan Date: Wed, 7 May 2014 10:25:48 -0700 Subject: [PATCH] more email rule stuff --- NOCQ.userprefs | 23 ++++++++++++++++++++++- src/NOCQ/NOCQ.csproj | 1 + src/NOCQ/Plugins/Email/EmailSettings.cs | 1 + src/NOCQ/Plugins/Email/ImapInput.cs | 4 +++- src/NOCQ/Plugins/Email/ParseRule.cs | 18 ++++++++++++++++++ 5 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 src/NOCQ/Plugins/Email/ParseRule.cs diff --git a/NOCQ.userprefs b/NOCQ.userprefs index 8a063db..32bfcce 100644 --- a/NOCQ.userprefs +++ b/NOCQ.userprefs @@ -1,6 +1,27 @@  - + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/NOCQ/NOCQ.csproj b/src/NOCQ/NOCQ.csproj index b11c6e6..4f37790 100644 --- a/src/NOCQ/NOCQ.csproj +++ b/src/NOCQ/NOCQ.csproj @@ -60,6 +60,7 @@ + diff --git a/src/NOCQ/Plugins/Email/EmailSettings.cs b/src/NOCQ/Plugins/Email/EmailSettings.cs index 5fdedac..bdfdb0e 100644 --- a/src/NOCQ/Plugins/Email/EmailSettings.cs +++ b/src/NOCQ/Plugins/Email/EmailSettings.cs @@ -11,6 +11,7 @@ namespace NOCQ.Plugins.Email public string Folder {get;set;} public bool IsSsl {get;set;} public int Frequency { get; set; } + public IEnumerable ParseRules {get;set;} } } diff --git a/src/NOCQ/Plugins/Email/ImapInput.cs b/src/NOCQ/Plugins/Email/ImapInput.cs index afb40f6..67159e2 100644 --- a/src/NOCQ/Plugins/Email/ImapInput.cs +++ b/src/NOCQ/Plugins/Email/ImapInput.cs @@ -14,7 +14,7 @@ namespace NOCQ.Plugins.Email private int port { get; set; } private bool ssl { get; set; } private DateTime lastRun { get; set; } - + private IEnumerable parseRules{ get; set; } public ImapInput (dynamic settings) { @@ -29,6 +29,8 @@ namespace NOCQ.Plugins.Email || sets.IsSsl == null) throw new ArgumentException ("You are missing a required setting."); + parseRules = sets.ParseRules.Where (x => x.Enabled); + loginName = settings.Login; password = settings.Password; server = settings.Server; diff --git a/src/NOCQ/Plugins/Email/ParseRule.cs b/src/NOCQ/Plugins/Email/ParseRule.cs new file mode 100644 index 0000000..a67b10f --- /dev/null +++ b/src/NOCQ/Plugins/Email/ParseRule.cs @@ -0,0 +1,18 @@ +using System; + +namespace NOCQ.Plugins.Email +{ + public class ParseRule + { + public string Name { get; set; } + public bool Enabled { get; set; } + public string From {get;set;} + public string Source {get;set;} + public string System {get;set;} + public string Service {get;set;} + public string Data {get;set;} + public string Runbook { get; set;} + public string Severity {get;set;} + } +} +