48488b72b5
Build and Push Docker Image / build-and-push (push) Successful in 2m21s
- Introduced a new Docker Compose configuration for the Gmail Catchall Labeler service. - Implemented GmailOptions class for managing configuration settings. - Developed GmailApiClient to interact with the Gmail API, including methods for fetching messages and managing labels. - Created models for Gmail messages, labels, and headers. - Added IGmailClient interface to define the contract for Gmail client implementations. - Implemented GmailOrganizer to handle the organization of emails based on recipient addresses. - Developed LabelNameResolver for generating label names based on local parts of email addresses. - Created RecipientExtractor to extract local parts from email headers. - Implemented state management with OrganizerState and StateStore for persisting state information. - Added Worker class to manage the background processing of email organization. - Created unit tests for GmailOrganizer, LabelNameResolver, and RecipientExtractor to ensure functionality. - Added necessary project files and configurations for building and running the application.
14 lines
427 B
C#
14 lines
427 B
C#
namespace GmailCatchallLabeler.Gmail;
|
|
|
|
public sealed record GmailHeader(string Name, string Value);
|
|
|
|
public sealed record GmailMessage(
|
|
string Id,
|
|
IReadOnlyCollection<string> LabelIds,
|
|
IReadOnlyCollection<GmailHeader> Headers);
|
|
|
|
public sealed record GmailLabel(string Id, string Name, bool WasCreated);
|
|
|
|
public sealed record GmailHistory(
|
|
IReadOnlyCollection<string> AddedMessageIds,
|
|
ulong LatestHistoryId); |