From b7ae1f289c831f1d7a3e8dd92c62c5acbb42d7d2 Mon Sep 17 00:00:00 2001 From: LaGodxy <83363896+LaGodxy@users.noreply.github.com> Date: Fri, 24 Apr 2026 23:53:28 -0700 Subject: [PATCH] Revert "feat(emails): add delivery, bounce, open, and click reporting" --- src/email/email-report.entity.ts | 0 src/email/email-report.service.ts | 34 ------------------------------- src/email/email.controller.ts | 12 ----------- src/utils/observability.ts | 10 --------- 4 files changed, 56 deletions(-) delete mode 100644 src/email/email-report.entity.ts delete mode 100644 src/email/email-report.service.ts delete mode 100644 src/email/email.controller.ts delete mode 100644 src/utils/observability.ts diff --git a/src/email/email-report.entity.ts b/src/email/email-report.entity.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/src/email/email-report.service.ts b/src/email/email-report.service.ts deleted file mode 100644 index a5e0fc08..00000000 --- a/src/email/email-report.service.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import { PrismaService } from '../prisma/prisma.service'; - -@Injectable() -export class EmailReportService { - constructor(private readonly prisma: PrismaService) {} - - async recordDelivery(emailId: string, status: 'delivered' | 'bounced' | 'opened' | 'clicked') { - return this.prisma.emailReport.create({ - data: { - emailId, - delivered: status === 'delivered', - bounced: status === 'bounced', - opened: status === 'opened', - clicked: status === 'clicked', - }, - }); - } - - async getMetrics() { - const total = await this.prisma.emailReport.count(); - const delivered = await this.prisma.emailReport.count({ where: { delivered: true } }); - const bounced = await this.prisma.emailReport.count({ where: { bounced: true } }); - const opened = await this.prisma.emailReport.count({ where: { opened: true } }); - const clicked = await this.prisma.emailReport.count({ where: { clicked: true } }); - - return { - deliveryRate: delivered / total, - bounceRate: bounced / total, - openRate: opened / total, - clickRate: clicked / total, - }; - } -} diff --git a/src/email/email.controller.ts b/src/email/email.controller.ts deleted file mode 100644 index 45898554..00000000 --- a/src/email/email.controller.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Controller, Get } from '@nestjs/common'; -import { EmailReportService } from './email-report.service'; - -@Controller('emails') -export class EmailController { - constructor(private readonly reportService: EmailReportService) {} - - @Get('reports') - async getReports() { - return this.reportService.getMetrics(); - } -} diff --git a/src/utils/observability.ts b/src/utils/observability.ts deleted file mode 100644 index e79acfde..00000000 --- a/src/utils/observability.ts +++ /dev/null @@ -1,10 +0,0 @@ -export function logEmailEvent(emailId: string, event: string, correlationId?: string) { - console.log(JSON.stringify({ - level: 'info', - type: 'email', - emailId, - event, - correlationId, - timestamp: new Date().toISOString(), - })); -}