955cae6d4b
- JobTrackerApi/Controllers/GmailController.cs - JobTrackerApi/Services/GmailOAuthService.cs - JobTrackerApi.Tests/GmailControllerTests.cs - .gsd/milestones/M001/slices/S01/S01-PLAN.md - .gsd/KNOWLEDGE.md
2.2 KiB
2.2 KiB
title, status, files, verification
| title | status | files | verification | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| T02 summary | done |
|
|
Extended correspondence persistence and Gmail import continuity for S01.
What changed:
Models/Correspondence.cs- added
ExternalThreadId - added
ExternalFrom - added
ExternalTo
- added
JobTrackerApi/Controllers/GmailController.cs- single-message import now returns
GmailImportMessageResultDtowithImported,Skipped,MessageId,ThreadId, and the imported/existingCorrespondence - repeat single-message imports now report
Imported=0/Skipped=1instead of returning a bare correspondence record - imported Gmail messages now persist thread id plus raw sender/recipient metadata
- single-message import now returns
JobTrackerApi/Controllers/CorrespondenceController.cs- create request now accepts optional external message/thread/from/to metadata so the correspondence surface stays consistent with enriched imports
JobTrackerApi/Program.cs- added SQLite compatibility guards for
Correspondences.ExternalThreadId,Correspondences.ExternalFrom, andCorrespondences.ExternalTo - added MySQL compatibility guards for the same columns
- added SQLite compatibility guards for
JobTrackerApi.Tests/GmailControllerTests.cs- added repeat single-message import coverage
- added repeat thread import coverage
- retained ranking and owned-job scope coverage from T01
Verification:
- Native API build passed with
$HOME/.dotnet/dotnet build JobTrackerApi/JobTrackerApi.csproj - Isolated Gmail controller tests passed in Docker (
5 passed)
Important caveat:
- The repository’s main
JobTrackerApi.Testsproject still has unrelated pre-existing compile failures outside Gmail tests, so the exact planned commanddotnet test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --filter GmailControllerTestsremains blocked by broader test drift. Gmail coverage itself passes when isolated.