Split templates table into emailApi, cvMatcher, and myAi schemas #25
Reference in New Issue
Block a user
Delete Branch "feature/split-templates"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Split the single myAi.Templates table (which mixed three unrelated concerns) into three purpose-specific tables, each owned by the service that uses it.
Why
Changes
Test plan
Closes #24
🤖 Generated with Claude Code
- Add ProjectReference to email-api-data - Register EmailApiDbContext (no migrate — email-api owns migrations) - Register IEmailTemplateRepository (scoped) and IEmailTemplateService (singleton) - EmailApiEmailSender: replace ITemplateService with IEmailTemplateService for all email.* template rendering (match body/subject/footer) - SendMatchAsync: replace _contact.ToEmail operator copy with GetOperatorCopy("email.match.subject", "en") from DB template Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>- Add ProjectReference to email-api-data; remove myai-data reference - Program.cs: register EmailApiDbContext (no migrate), IEmailTemplateRepository (scoped), IEmailTemplateService (singleton); remove MyAiDbContext + ITemplateService registrations and their migration call - CvSearchEmailSender: inject IEmailTemplateService; replace _config["Contact:ToEmail"] with GetOperatorCopy("email.search-results.subject") for operator copy logic; remove IConfiguration injection - docker-compose: remove Contact__ToEmail from cv-search-job service block; add Database__* env vars to email-api service (needed for EmailApiDbContext) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>