import prisma from "~/server/utils/prisma"; export default defineEventHandler(async (event) => { try { // Get current user from auth middleware const user = event.context.user; if (!user) { throw createError({ statusCode: 401, statusMessage: "Authentication required", }); } // Get email configuration const emailConfig = await prisma.notification_delivery_config.findFirst({ where: { channel_type: 'email' }, select: { is_enabled: true, provider: true, provider_config: true, status: true, success_rate: true, created_at: true, updated_at: true } }); if (!emailConfig) { return { success: true, data: { enabled: false, provider: 'nodemailer', status: 'Not Configured', successRate: 0 } }; } return { success: true, data: { enabled: emailConfig.is_enabled, provider: emailConfig.provider, status: emailConfig.status, successRate: emailConfig.success_rate, config: emailConfig.provider_config } }; } catch (error) { console.error('Error fetching email configuration:', error); if (error.statusCode) { throw error; } throw createError({ statusCode: 500, statusMessage: 'Failed to fetch email configuration' }); } finally { await prisma.$disconnect(); } });