import prisma from '../prisma/client.js'; // CREATE export const createEmailConfig = async (req, res) => { try { const { name, email, type, isActive } = req.body; if (!name || !email || !type) { return res.status(400).json({ success: false, message: 'Name, Email and Type are required', }); } const newEmail = await prisma.emailConfig.create({ data: { name, email, type, isActive: isActive ?? true, }, }); res.status(201).json({ success: true, message: 'Email config created', data: newEmail, }); } catch (error) { console.error(error); res.status(500).json({ success: false, message: 'Failed to create email config', }); } }; //GET ALL export const getEmailConfigs = async (req, res) => { try { const emails = await prisma.emailConfig.findMany({ orderBy: { createdAt: 'desc', }, }); res.status(200).json({ success: true, data: emails, }); } catch (error) { console.error(error); res.status(500).json({ success: false, message: 'Failed to fetch email configs', }); } }; // GET SINGLE export const getEmailConfig = async (req, res) => { try { const { id } = req.params; const email = await prisma.emailConfig.findUnique({ where: { id: Number(id), }, }); if (!email) { return res.status(404).json({ success: false, message: 'Email config not found', }); } res.status(200).json({ success: true, data: email, }); } catch (error) { console.error(error); res.status(500).json({ success: false, message: 'Failed to fetch email config', }); } }; // UPDATE export const updateEmailConfig = async (req, res) => { try { const { id } = req.params; const updated = await prisma.emailConfig.update({ where: { id: Number(id), }, data: req.body, }); res.status(200).json({ success: true, message: 'Email config updated', data: updated, }); } catch (error) { console.error(error); res.status(500).json({ success: false, message: 'Failed to update email config', }); } }; // DELETE export const deleteEmailConfig = async (req, res) => { try { const { id } = req.params; await prisma.emailConfig.delete({ where: { id: Number(id), }, }); res.status(200).json({ success: true, message: 'Email config deleted', }); } catch (error) { console.error(error); res.status(500).json({ success: false, message: 'Failed to delete email config', }); } };