diff --git a/src/SpamGuard/Models/ActivityEntry.cs b/src/SpamGuard/Models/ActivityEntry.cs new file mode 100644 index 0000000..6d81e7a --- /dev/null +++ b/src/SpamGuard/Models/ActivityEntry.cs @@ -0,0 +1,20 @@ +// src/SpamGuard/Models/ActivityEntry.cs +namespace SpamGuard.Models; + +public enum Verdict +{ + Trusted, + Spam, + Legitimate, + Uncertain, + Error +} + +public sealed record ActivityEntry( + DateTime Timestamp, + string Sender, + string Subject, + Verdict Verdict, + double? Confidence, + string? Reason +); diff --git a/src/SpamGuard/Models/ClassificationResult.cs b/src/SpamGuard/Models/ClassificationResult.cs new file mode 100644 index 0000000..80b9902 --- /dev/null +++ b/src/SpamGuard/Models/ClassificationResult.cs @@ -0,0 +1,11 @@ +// src/SpamGuard/Models/ClassificationResult.cs +namespace SpamGuard.Models; + +public sealed record ClassificationResult( + string Classification, + double Confidence, + string Reason +) +{ + public bool IsSpam => string.Equals(Classification, "spam", StringComparison.OrdinalIgnoreCase); +} diff --git a/src/SpamGuard/Models/EmailSummary.cs b/src/SpamGuard/Models/EmailSummary.cs new file mode 100644 index 0000000..3c6cd22 --- /dev/null +++ b/src/SpamGuard/Models/EmailSummary.cs @@ -0,0 +1,10 @@ +// src/SpamGuard/Models/EmailSummary.cs +namespace SpamGuard.Models; + +public sealed record EmailSummary( + uint Uid, + string From, + string Subject, + string BodySnippet, + DateTimeOffset Date +);