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