feat: SMTP config en DB, historial mensajes, JWT 90d, email OTP con Prisma

- schema.prisma: modelo message_logs (channel, recipient, body, status, error)
- email-otp.service.ts: lee config SMTP desde DB (settings.smtp_config), registra log en message_logs
- sms.service.ts: registra log en message_logs tras cada envío (éxito y error)
- auth.module.ts: agrega PrismaModule, JWT expira en 90d
- settings.controller.ts: GET/PATCH /settings/smtp + GET /settings/message-logs
- settings.service.ts: método getMessageLogs con paginación y filtro por canal
- settings.module.ts: importa AuthModule + EmailOtpService

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-06-28 11:35:17 -05:00
co-authored by Claude Sonnet 4.6
parent a9b5e413e3
commit 522adc3b74
7 changed files with 118 additions and 29 deletions
+10
View File
@@ -192,6 +192,16 @@ model suggestions {
created_at DateTime @default(now()) @db.Timestamptz(6)
}
model message_logs {
id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid
channel String @db.VarChar(10) // 'sms' | 'email'
recipient String @db.VarChar(255)
body String
status String @db.VarChar(20) // 'sent' | 'error'
error String?
created_at DateTime @default(now()) @db.Timestamptz(6)
}
model specializations {
id String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid
professional_id String @db.Uuid