refactor(gmail): route controller read paths through IEmailProvider #7

Merged
cesnimda merged 1 commits from feat/gmail-provider-reads into main 2026-07-11 13:18:34 +02:00
Owner

GmailController search + thread-listing read paths now go through the provider-neutral IEmailProvider seam instead of IGmailOAuthService directly. Behaviour-preserving (135/135). Groundwork for multi-provider (Microsoft/IMAP) email linking.

OAuth connect + Gmail-specific candidate ranking still use IGmailOAuthService directly; those get generalised in the next slice (b1).

GmailController search + thread-listing read paths now go through the provider-neutral IEmailProvider seam instead of IGmailOAuthService directly. Behaviour-preserving (135/135). Groundwork for multi-provider (Microsoft/IMAP) email linking. OAuth connect + Gmail-specific candidate ranking still use IGmailOAuthService directly; those get generalised in the next slice (b1).
cesnimda added 1 commit 2026-07-11 13:11:40 +02:00
refactor(gmail): route controller read paths through IEmailProvider
CI and Deploy / test (pull_request) Successful in 1m58s
CI and Deploy / deploy (pull_request) Has been skipped
9febc2b22f
GmailController now resolves the "gmail" provider from IEmailProviderRegistry and
uses the provider-neutral seam for its read paths — message search (SearchAsync)
and thread listing (ListThreadMessagesAsync) across ImportThread, RelinkThread,
CreateSuggestedJob, RefreshLinkedThreads and the messages endpoint. OAuth
(connect/callback), connection status and Gmail-specific candidate ranking stay
on IGmailOAuthService until they are generalised.

An optional constructor param keeps direct construction (tests) working via a
fallback single-Gmail registry, so the mocked Gmail service is exercised through
GmailProvider. Behaviour is preserved (neutral DTOs mirror the Gmail shapes).

This makes the seam a real consumer and sets up MicrosoftGraphProvider /
ImapProvider / a manual free-text provider to slot in next.

Build clean; backend suite 135/135 green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
cesnimda force-pushed feat/gmail-provider-reads from 82243600ac to 9febc2b22f 2026-07-11 13:11:40 +02:00 Compare
cesnimda merged commit ad1d0d7b2d into main 2026-07-11 13:18:34 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cesnimda/jobtrackingapp#7