Add SMTP migration#187
Conversation
Adds a single SMTP settings resource carrying the project's custom SMTP configuration. Source reads via the typed Project model (Project::get()->smtp*); destination writes the smtp attribute on the project document directly, matching the pattern used by the other 5 settings resources. Password is intentionally not migrated — the source API only exposes smtpPassword as an empty string (write-only field). The destination's existing password is preserved via read-then-merge of the smtp map.
Greptile SummaryThis PR introduces SMTP configuration as a new
Confidence Score: 5/5Safe to merge — the change is a well-scoped singleton migration following established patterns throughout the codebase, with no correctness issues found. The SMTP resource registration is complete and consistent across Resource.php, Transfer.php, source, destination, and mock adapters. The read-then-merge write strategy mirrors how protocols and services are already handled. Error handling and status promotion follow the same conventions as peer resource types. No files require special attention. Important Files Changed
Reviews (8): Last reviewed commit: "Merge branch 'add-policies-migration' in..." | Re-trigger Greptile |
# Conflicts: # tests/Migration/Unit/Adapters/MockDestination.php # tests/Migration/Unit/Adapters/MockSource.php
Adds the project SMTP configuration as a new settings resource. Source reads via the typed
Project::get()model; destination writes the project doc'ssmtpmap directly (read-then-merge to preserve destination password — source API never exposes it). Stacks on top of #186.