feat: add EmailSummary, ClassificationResult, and ActivityEntry models
This commit is contained in:
20
src/SpamGuard/Models/ActivityEntry.cs
Normal file
20
src/SpamGuard/Models/ActivityEntry.cs
Normal file
@@ -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
|
||||||
|
);
|
||||||
11
src/SpamGuard/Models/ClassificationResult.cs
Normal file
11
src/SpamGuard/Models/ClassificationResult.cs
Normal file
@@ -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);
|
||||||
|
}
|
||||||
10
src/SpamGuard/Models/EmailSummary.cs
Normal file
10
src/SpamGuard/Models/EmailSummary.cs
Normal file
@@ -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
|
||||||
|
);
|
||||||
Reference in New Issue
Block a user