feat(F-152): completed feature
This commit is contained in:
@@ -18,7 +18,7 @@ export interface NotificationsRoutesDeps {
|
||||
const dispatchSchema = z
|
||||
.object({
|
||||
eventId: z.string().min(1).max(120),
|
||||
template: z.enum(['order_confirmation', 'payment_failed', 'order_shipped']),
|
||||
template: z.enum(['order_confirmation', 'payment_failed', 'order_shipped', 'account_created']),
|
||||
recipient: z.string().email(),
|
||||
subject: z.string().min(1).max(200),
|
||||
body: z.string().min(1).max(5000),
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
export type EmailTemplate = 'order_confirmation' | 'payment_failed' | 'order_shipped';
|
||||
export type EmailTemplate =
|
||||
'order_confirmation' | 'payment_failed' | 'order_shipped' | 'account_created';
|
||||
|
||||
export interface EmailMessage {
|
||||
eventId: string;
|
||||
|
||||
@@ -2,12 +2,15 @@ import type { EmailMessage, EmailTemplate } from '../domain/notification.js';
|
||||
import type { EmailProvider } from '../domain/ports.js';
|
||||
|
||||
const SUBJECTS: Record<EmailTemplate, string> = {
|
||||
account_created: '¡Bienvenido a Mercado de Vida!',
|
||||
order_confirmation: 'Tu pedido ha sido confirmado',
|
||||
payment_failed: 'Hubo un problema con tu pago',
|
||||
order_shipped: 'Tu pedido ha sido enviado',
|
||||
};
|
||||
|
||||
const BODIES: Record<EmailTemplate, string> = {
|
||||
account_created:
|
||||
'Tu cuenta en Mercado de Vida se ha creado. Ya puedes iniciar sesión y empezar a comprar.',
|
||||
order_confirmation: 'Hemos recibido tu pago y estamos preparando tu pedido.',
|
||||
payment_failed: 'No pudimos procesar tu pago. Por favor, intenta de nuevo.',
|
||||
order_shipped: 'Tu pedido está en camino. Recibirás los datos de seguimiento pronto.',
|
||||
|
||||
Reference in New Issue
Block a user